#line 1 "include/boost/qvm/gen/swizzle4.hpp"
#ifndef BOOST_QVM_GEN_SWIZZLE4_HPP_INCLUDED
#define BOOST_QVM_GEN_SWIZZLE4_HPP_INCLUDED

// Copyright 2008-2022 Emil Dotchevski and Reverge Studios, Inc.

// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

// This file was generated by a program. Do not edit manually.

#include <boost/qvm/config.hpp>
#include <boost/qvm/detail/swizzle_traits.hpp>
#include <boost/qvm/enable_if.hpp>

namespace boost { namespace qvm {

BOOST_QVM_INLINE_TRIVIAL
qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &
_1111()
    {
    return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
    }
BOOST_QVM_INLINE_TRIVIAL
qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &
_0111()
    {
    return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
W111( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
W111( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Z111( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Z111( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Y111( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Y111( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X111( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X111( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X111( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X111( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
BOOST_QVM_INLINE_TRIVIAL
qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &
_1011()
    {
    return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
    }
BOOST_QVM_INLINE_TRIVIAL
qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &
_0011()
    {
    return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
W011( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
W011( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Z011( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Z011( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Y011( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Y011( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X011( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X011( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X011( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X011( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1W11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1W11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0W11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0W11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WW11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WW11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZW11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZW11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YW11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YW11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XW11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XW11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1Z11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1Z11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0Z11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0Z11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WZ11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WZ11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZZ11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZZ11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YZ11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YZ11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XZ11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XZ11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1Y11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1Y11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0Y11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0Y11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WY11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WY11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZY11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZY11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YY11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YY11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XY11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XY11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1X11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1X11( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1X11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1X11( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0X11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0X11( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0X11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0X11( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WX11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WX11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZX11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZX11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YX11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YX11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XX11( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XX11( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XX11( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XX11( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
BOOST_QVM_INLINE_TRIVIAL
qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &
_1101()
    {
    return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
    }
BOOST_QVM_INLINE_TRIVIAL
qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &
_0101()
    {
    return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
W101( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
W101( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Z101( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Z101( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Y101( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Y101( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X101( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X101( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X101( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X101( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
BOOST_QVM_INLINE_TRIVIAL
qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &
_1001()
    {
    return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
    }
BOOST_QVM_INLINE_TRIVIAL
qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &
_0001()
    {
    return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
W001( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
W001( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Z001( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Z001( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Y001( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Y001( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X001( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X001( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X001( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X001( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1W01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1W01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0W01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0W01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WW01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WW01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZW01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZW01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YW01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YW01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XW01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XW01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1Z01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1Z01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0Z01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0Z01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WZ01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WZ01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZZ01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZZ01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YZ01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YZ01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XZ01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XZ01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1Y01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1Y01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0Y01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0Y01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WY01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WY01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZY01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZY01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YY01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YY01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XY01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XY01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1X01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1X01( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1X01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1X01( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0X01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0X01( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0X01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0X01( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WX01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WX01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZX01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZX01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YX01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YX01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XX01( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XX01( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XX01( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XX01( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_11W1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_11W1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_01W1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_01W1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
W1W1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
W1W1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Z1W1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Z1W1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Y1W1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Y1W1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X1W1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X1W1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_10W1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_10W1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_00W1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_00W1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
W0W1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
W0W1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Z0W1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Z0W1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Y0W1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Y0W1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X0W1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X0W1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1WW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1WW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0WW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0WW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WWW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WWW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZWW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZWW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YWW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YWW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XWW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XWW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1ZW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1ZW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0ZW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0ZW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WZW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WZW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZZW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZZW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YZW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YZW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XZW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XZW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1YW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1YW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0YW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0YW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WYW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WYW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZYW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZYW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YYW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YYW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XYW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XYW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1XW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1XW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0XW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0XW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WXW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WXW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZXW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZXW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YXW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YXW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XXW1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XXW1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_11Z1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_11Z1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_01Z1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_01Z1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
W1Z1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
W1Z1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Z1Z1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Z1Z1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Y1Z1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Y1Z1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X1Z1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X1Z1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_10Z1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_10Z1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_00Z1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_00Z1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
W0Z1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
W0Z1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Z0Z1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Z0Z1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Y0Z1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Y0Z1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X0Z1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X0Z1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1WZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1WZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0WZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0WZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WWZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WWZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZWZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZWZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YWZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YWZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XWZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XWZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1ZZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1ZZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0ZZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0ZZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WZZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WZZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZZZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZZZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YZZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YZZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XZZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XZZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1YZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1YZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0YZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0YZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WYZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WYZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZYZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZYZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YYZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YYZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XYZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XYZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1XZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1XZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0XZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0XZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WXZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WXZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZXZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZXZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YXZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YXZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XXZ1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XXZ1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_11Y1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_11Y1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_01Y1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_01Y1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
W1Y1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
W1Y1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Z1Y1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Z1Y1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Y1Y1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Y1Y1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X1Y1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X1Y1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_10Y1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_10Y1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_00Y1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_00Y1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
W0Y1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
W0Y1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Z0Y1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Z0Y1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Y0Y1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Y0Y1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X0Y1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X0Y1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1WY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1WY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0WY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0WY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WWY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WWY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZWY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZWY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YWY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YWY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XWY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XWY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1ZY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1ZY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0ZY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0ZY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WZY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WZY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZZY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZZY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YZY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YZY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XZY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XZY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1YY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1YY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0YY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0YY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WYY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WYY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZYY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZYY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YYY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YYY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XYY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XYY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1XY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1XY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0XY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0XY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WXY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WXY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZXY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZXY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YXY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YXY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XXY1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XXY1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_11X1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_11X1( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_11X1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_11X1( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_01X1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_01X1( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_01X1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_01X1( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
W1X1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
W1X1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Z1X1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Z1X1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Y1X1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Y1X1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X1X1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X1X1( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X1X1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X1X1( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_10X1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_10X1( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_10X1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_10X1( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_00X1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_00X1( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_00X1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_00X1( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
W0X1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
W0X1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Z0X1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Z0X1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
Y0X1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
Y0X1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X0X1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X0X1( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X0X1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X0X1( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1WX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1WX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0WX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0WX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WWX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WWX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZWX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZWX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YWX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YWX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XWX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XWX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1ZX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1ZX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0ZX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0ZX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WZX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WZX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZZX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZZX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YZX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YZX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XZX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XZX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1YX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1YX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0YX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0YX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WYX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WYX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZYX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZYX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YYX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YYX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XYX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XYX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1XX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1XX1( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1XX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1XX1( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0XX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0XX1( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0XX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0XX1( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
WXX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
WXX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
ZXX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
ZXX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
YXX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
YXX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XXX1( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XXX1( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XXX1( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XXX1( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
    }
BOOST_QVM_INLINE_TRIVIAL
qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &
_1110()
    {
    return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
    }
BOOST_QVM_INLINE_TRIVIAL
qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &
_0110()
    {
    return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
W110( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
W110( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Z110( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Z110( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Y110( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Y110( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X110( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X110( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X110( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X110( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
BOOST_QVM_INLINE_TRIVIAL
qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &
_1010()
    {
    return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
    }
BOOST_QVM_INLINE_TRIVIAL
qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &
_0010()
    {
    return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
W010( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
W010( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Z010( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Z010( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Y010( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Y010( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X010( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X010( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X010( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X010( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1W10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1W10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0W10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0W10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WW10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WW10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZW10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZW10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YW10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YW10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XW10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XW10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1Z10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1Z10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0Z10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0Z10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WZ10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WZ10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZZ10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZZ10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YZ10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YZ10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XZ10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XZ10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1Y10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1Y10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0Y10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0Y10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WY10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WY10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZY10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZY10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YY10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YY10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XY10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XY10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1X10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1X10( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1X10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1X10( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0X10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0X10( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0X10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0X10( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WX10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WX10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZX10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZX10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YX10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YX10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XX10( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XX10( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XX10( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XX10( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
BOOST_QVM_INLINE_TRIVIAL
qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &
_1100()
    {
    return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
    }
BOOST_QVM_INLINE_TRIVIAL
qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &
_0100()
    {
    return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
W100( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
W100( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Z100( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Z100( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Y100( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Y100( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X100( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X100( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X100( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X100( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
BOOST_QVM_INLINE_TRIVIAL
qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &
_1000()
    {
    return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
    }
BOOST_QVM_INLINE_TRIVIAL
qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &
_0000()
    {
    return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
W000( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
W000( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Z000( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Z000( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Y000( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Y000( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X000( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X000( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X000( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X000( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1W00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1W00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0W00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0W00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WW00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WW00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZW00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZW00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YW00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YW00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XW00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XW00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1Z00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1Z00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0Z00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0Z00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WZ00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WZ00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZZ00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZZ00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YZ00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YZ00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XZ00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XZ00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1Y00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1Y00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0Y00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0Y00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WY00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WY00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZY00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZY00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YY00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YY00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XY00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XY00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1X00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1X00( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1X00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1X00( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0X00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0X00( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0X00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0X00( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WX00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WX00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZX00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZX00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YX00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YX00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XX00( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XX00( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XX00( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XX00( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_11W0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_11W0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_01W0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_01W0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
W1W0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
W1W0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Z1W0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Z1W0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Y1W0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Y1W0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X1W0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X1W0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_10W0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_10W0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_00W0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_00W0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
W0W0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
W0W0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Z0W0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Z0W0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Y0W0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Y0W0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X0W0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X0W0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1WW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1WW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0WW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0WW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WWW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WWW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZWW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZWW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YWW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YWW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XWW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XWW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1ZW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1ZW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0ZW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0ZW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WZW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WZW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZZW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZZW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YZW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YZW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XZW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XZW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1YW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1YW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0YW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0YW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WYW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WYW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZYW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZYW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YYW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YYW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XYW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XYW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1XW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1XW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0XW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0XW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WXW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WXW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZXW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZXW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YXW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YXW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XXW0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XXW0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_11Z0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_11Z0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_01Z0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_01Z0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
W1Z0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
W1Z0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Z1Z0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Z1Z0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Y1Z0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Y1Z0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X1Z0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X1Z0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_10Z0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_10Z0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_00Z0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_00Z0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
W0Z0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
W0Z0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Z0Z0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Z0Z0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Y0Z0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Y0Z0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X0Z0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X0Z0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1WZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1WZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0WZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0WZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WWZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WWZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZWZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZWZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YWZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YWZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XWZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XWZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1ZZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1ZZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0ZZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0ZZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WZZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WZZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZZZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZZZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YZZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YZZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XZZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XZZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1YZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1YZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0YZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0YZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WYZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WYZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZYZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZYZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YYZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YYZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XYZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XYZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1XZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1XZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0XZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0XZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WXZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WXZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZXZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZXZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YXZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YXZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XXZ0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XXZ0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_11Y0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_11Y0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_01Y0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_01Y0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
W1Y0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
W1Y0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Z1Y0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Z1Y0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Y1Y0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Y1Y0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X1Y0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X1Y0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_10Y0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_10Y0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_00Y0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_00Y0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
W0Y0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
W0Y0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Z0Y0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Z0Y0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Y0Y0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Y0Y0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X0Y0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X0Y0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1WY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1WY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0WY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0WY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WWY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WWY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZWY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZWY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YWY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YWY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XWY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XWY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1ZY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1ZY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0ZY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0ZY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WZY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WZY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZZY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZZY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YZY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YZY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XZY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XZY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1YY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1YY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0YY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0YY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WYY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WYY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZYY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZYY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YYY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YYY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XYY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XYY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1XY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1XY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0XY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0XY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WXY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WXY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZXY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZXY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YXY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YXY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XXY0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XXY0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_11X0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_11X0( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_11X0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_11X0( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_01X0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_01X0( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_01X0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_01X0( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
W1X0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
W1X0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Z1X0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Z1X0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Y1X0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Y1X0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X1X0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X1X0( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X1X0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X1X0( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_10X0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_10X0( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_10X0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_10X0( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_00X0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_00X0( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_00X0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_00X0( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
W0X0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
W0X0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Z0X0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Z0X0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
Y0X0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
Y0X0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X0X0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X0X0( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X0X0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X0X0( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1WX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1WX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0WX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0WX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WWX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WWX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZWX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZWX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YWX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YWX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XWX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XWX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1ZX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1ZX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0ZX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0ZX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WZX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WZX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZZX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZZX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YZX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YZX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XZX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XZX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1YX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1YX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0YX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0YX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WYX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WYX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZYX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZYX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YYX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YYX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XYX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XYX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1XX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1XX0( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1XX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1XX0( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0XX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0XX0( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0XX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0XX0( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
WXX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
WXX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
ZXX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
ZXX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
YXX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
YXX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XXX0( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XXX0( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XXX0( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XXX0( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_111W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_111W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_011W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_011W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
W11W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
W11W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Z11W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
Z11W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Y11W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
Y11W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
X11W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
X11W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_101W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_101W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_001W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_001W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
W01W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
W01W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Z01W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
Z01W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Y01W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
Y01W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
X01W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
X01W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1W1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1W1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0W1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0W1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WW1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
WW1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZW1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZW1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YW1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
YW1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XW1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
XW1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1Z1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1Z1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0Z1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0Z1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WZ1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
WZ1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZZ1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZZ1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YZ1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
YZ1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XZ1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
XZ1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1Y1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1Y1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0Y1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0Y1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WY1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
WY1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZY1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZY1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YY1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
YY1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XY1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
XY1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1X1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1X1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0X1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0X1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WX1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
WX1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZX1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZX1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YX1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
YX1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XX1W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
XX1W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_110W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_110W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_010W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_010W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
W10W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
W10W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Z10W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
Z10W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Y10W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
Y10W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
X10W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
X10W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_100W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_100W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_000W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_000W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
W00W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
W00W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Z00W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
Z00W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Y00W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
Y00W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
X00W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
X00W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1W0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1W0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0W0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0W0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WW0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
WW0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZW0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZW0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YW0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
YW0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XW0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
XW0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1Z0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1Z0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0Z0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0Z0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WZ0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
WZ0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZZ0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZZ0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YZ0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
YZ0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XZ0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
XZ0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1Y0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1Y0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0Y0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0Y0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WY0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
WY0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZY0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZY0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YY0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
YY0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XY0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
XY0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1X0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1X0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0X0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0X0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WX0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
WX0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZX0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZX0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YX0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
YX0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XX0W( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
XX0W( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_11WW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
_11WW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_01WW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
_01WW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
W1WW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
W1WW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Z1WW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
Z1WW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Y1WW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
Y1WW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
X1WW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
X1WW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_10WW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
_10WW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_00WW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
_00WW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
W0WW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
W0WW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Z0WW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
Z0WW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Y0WW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
Y0WW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
X0WW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
X0WW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1WWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1WWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0WWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0WWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WWWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
WWWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZWWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZWWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YWWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
YWWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XWWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
XWWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1ZWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1ZWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0ZWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0ZWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WZWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
WZWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZZWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZZWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YZWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
YZWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XZWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
XZWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1YWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1YWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0YWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0YWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WYWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
WYWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZYWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZYWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YYWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
YYWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XYWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
XYWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1XWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1XWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0XWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0XWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WXWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
WXWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZXWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZXWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YXWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
YXWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XXWW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
XXWW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_11ZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_11ZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_01ZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_01ZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
W1ZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
W1ZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Z1ZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
Z1ZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Y1ZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
Y1ZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
X1ZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
X1ZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_10ZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_10ZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_00ZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_00ZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
W0ZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
W0ZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Z0ZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
Z0ZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Y0ZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
Y0ZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
X0ZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
X0ZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1WZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1WZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0WZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0WZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WWZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
WWZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZWZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZWZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YWZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
YWZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XWZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
XWZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1ZZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1ZZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0ZZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0ZZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WZZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
WZZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZZZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZZZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YZZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
YZZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XZZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
XZZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1YZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1YZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0YZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0YZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WYZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
WYZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZYZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZYZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YYZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
YYZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XYZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
XYZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1XZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1XZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0XZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0XZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WXZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
WXZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZXZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZXZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YXZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
YXZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XXZW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
XXZW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_11YW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_11YW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_01YW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_01YW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
W1YW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
W1YW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Z1YW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
Z1YW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Y1YW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
Y1YW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
X1YW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
X1YW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_10YW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_10YW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_00YW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_00YW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
W0YW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
W0YW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Z0YW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
Z0YW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Y0YW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
Y0YW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
X0YW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
X0YW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1WYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1WYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0WYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0WYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WWYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
WWYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZWYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZWYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YWYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
YWYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XWYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
XWYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1ZYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1ZYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0ZYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0ZYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WZYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
WZYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZZYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZZYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YZYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
YZYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XZYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
XZYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1YYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1YYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0YYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0YYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WYYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
WYYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZYYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZYYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YYYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
YYYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XYYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
XYYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1XYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1XYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0XYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0XYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WXYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
WXYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZXYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZXYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YXYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
YXYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XXYW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
XXYW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_11XW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
_11XW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_01XW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
_01XW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
W1XW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
W1XW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Z1XW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
Z1XW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Y1XW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
Y1XW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
X1XW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
X1XW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_10XW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
_10XW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_00XW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
_00XW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
W0XW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
W0XW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Z0XW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
Z0XW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
Y0XW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
Y0XW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
X0XW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
X0XW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1WXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1WXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0WXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0WXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WWXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
WWXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZWXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZWXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YWXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
YWXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XWXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
XWXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1ZXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1ZXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0ZXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0ZXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WZXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
WZXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZZXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZZXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YZXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
YZXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XZXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
XZXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1YXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1YXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0YXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0YXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WYXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
WYXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZYXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZYXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YYXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
YYXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XYXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
XYXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_1XXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
_1XXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
_0XXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
_0XXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
WXXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
WXXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
ZXXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
ZXXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
YXXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
YXXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
XXXW( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
XXXW( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_111Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_111Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_011Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_011Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
W11Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
W11Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Z11Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
Z11Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Y11Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
Y11Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
X11Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
X11Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_101Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_101Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_001Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_001Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
W01Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
W01Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Z01Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
Z01Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Y01Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
Y01Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
X01Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
X01Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1W1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1W1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0W1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0W1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WW1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
WW1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZW1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZW1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YW1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
YW1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XW1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
XW1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1Z1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1Z1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0Z1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0Z1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WZ1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
WZ1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZZ1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZZ1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YZ1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
YZ1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XZ1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
XZ1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1Y1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1Y1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0Y1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0Y1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WY1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
WY1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZY1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZY1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YY1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
YY1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XY1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
XY1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1X1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1X1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0X1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0X1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WX1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
WX1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZX1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZX1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YX1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
YX1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XX1Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
XX1Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_110Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_110Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_010Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_010Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
W10Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
W10Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Z10Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
Z10Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Y10Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
Y10Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
X10Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
X10Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_100Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_100Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_000Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_000Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
W00Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
W00Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Z00Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
Z00Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Y00Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
Y00Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
X00Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
X00Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1W0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1W0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0W0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0W0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WW0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
WW0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZW0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZW0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YW0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
YW0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XW0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
XW0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1Z0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1Z0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0Z0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0Z0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WZ0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
WZ0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZZ0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZZ0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YZ0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
YZ0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XZ0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
XZ0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1Y0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1Y0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0Y0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0Y0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WY0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
WY0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZY0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZY0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YY0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
YY0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XY0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
XY0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1X0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1X0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0X0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0X0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WX0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
WX0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZX0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZX0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YX0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
YX0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XX0Z( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
XX0Z( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_11WZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
_11WZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_01WZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
_01WZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
W1WZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
W1WZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Z1WZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
Z1WZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Y1WZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
Y1WZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
X1WZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
X1WZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_10WZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
_10WZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_00WZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
_00WZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
W0WZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
W0WZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Z0WZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
Z0WZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Y0WZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
Y0WZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
X0WZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
X0WZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1WWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1WWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0WWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0WWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WWWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
WWWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZWWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZWWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YWWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
YWWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XWWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
XWWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1ZWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1ZWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0ZWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0ZWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WZWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
WZWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZZWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZZWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YZWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
YZWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XZWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
XZWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1YWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1YWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0YWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0YWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WYWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
WYWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZYWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZYWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YYWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
YYWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XYWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
XYWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1XWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1XWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0XWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0XWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WXWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
WXWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZXWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZXWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YXWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
YXWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XXWZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
XXWZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_11ZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_11ZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_01ZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_01ZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
W1ZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
W1ZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Z1ZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
Z1ZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Y1ZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
Y1ZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
X1ZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
X1ZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_10ZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_10ZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_00ZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_00ZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
W0ZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
W0ZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Z0ZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
Z0ZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Y0ZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
Y0ZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
X0ZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
X0ZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1WZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1WZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0WZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0WZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WWZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
WWZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZWZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZWZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YWZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
YWZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XWZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
XWZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1ZZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1ZZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0ZZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0ZZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WZZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
WZZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZZZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZZZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YZZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
YZZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XZZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
XZZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1YZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1YZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0YZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0YZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WYZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
WYZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZYZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZYZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YYZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
YYZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XYZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
XYZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1XZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1XZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0XZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0XZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WXZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
WXZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZXZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZXZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YXZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
YXZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XXZZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
XXZZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_11YZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_11YZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_01YZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_01YZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
W1YZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
W1YZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Z1YZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
Z1YZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Y1YZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
Y1YZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
X1YZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
X1YZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_10YZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_10YZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_00YZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_00YZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
W0YZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
W0YZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Z0YZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
Z0YZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Y0YZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
Y0YZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
X0YZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
X0YZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1WYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1WYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0WYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0WYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WWYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
WWYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZWYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZWYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YWYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
YWYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XWYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
XWYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1ZYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1ZYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0ZYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0ZYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WZYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
WZYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZZYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZZYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YZYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
YZYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XZYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
XZYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1YYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1YYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0YYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0YYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WYYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
WYYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZYYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZYYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YYYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
YYYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XYYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
XYYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1XYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1XYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0XYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0XYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WXYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
WXYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZXYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZXYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YXYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
YXYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XXYZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
XXYZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_11XZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
_11XZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_01XZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
_01XZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
W1XZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
W1XZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Z1XZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
Z1XZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Y1XZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
Y1XZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
X1XZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
X1XZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_10XZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
_10XZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_00XZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
_00XZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
W0XZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
W0XZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Z0XZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
Z0XZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
Y0XZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
Y0XZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
X0XZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
X0XZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1WXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1WXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0WXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0WXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WWXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
WWXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZWXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZWXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YWXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
YWXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XWXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
XWXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1ZXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1ZXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0ZXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0ZXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WZXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
WZXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZZXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZZXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YZXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
YZXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XZXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
XZXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1YXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1YXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0YXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0YXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WYXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
WYXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZYXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZYXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YYXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
YYXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XYXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
XYXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_1XXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
_1XXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
_0XXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
_0XXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
WXXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
WXXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
ZXXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
ZXXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
YXXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
YXXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
XXXZ( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
XXXZ( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_111Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_111Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_011Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_011Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
W11Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
W11Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Z11Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
Z11Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Y11Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
Y11Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
X11Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
X11Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_101Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_101Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_001Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_001Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
W01Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
W01Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Z01Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
Z01Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Y01Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
Y01Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
X01Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
X01Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1W1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1W1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0W1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0W1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WW1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
WW1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZW1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZW1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YW1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
YW1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XW1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
XW1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1Z1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1Z1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0Z1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0Z1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WZ1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
WZ1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZZ1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZZ1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YZ1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
YZ1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XZ1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
XZ1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1Y1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1Y1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0Y1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0Y1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WY1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
WY1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZY1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZY1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YY1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
YY1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XY1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
XY1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1X1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1X1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0X1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0X1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WX1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
WX1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZX1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZX1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YX1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
YX1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XX1Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
XX1Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_110Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_110Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_010Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_010Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
W10Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
W10Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Z10Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
Z10Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Y10Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
Y10Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
X10Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
X10Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_100Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_100Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_000Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_000Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
W00Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
W00Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Z00Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
Z00Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Y00Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
Y00Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
X00Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
X00Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1W0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1W0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0W0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0W0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WW0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
WW0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZW0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZW0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YW0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
YW0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XW0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
XW0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1Z0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1Z0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0Z0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0Z0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WZ0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
WZ0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZZ0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZZ0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YZ0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
YZ0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XZ0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
XZ0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1Y0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1Y0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0Y0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0Y0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WY0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
WY0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZY0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZY0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YY0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
YY0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XY0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
XY0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1X0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1X0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0X0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0X0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WX0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
WX0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZX0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZX0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YX0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
YX0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XX0Y( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
XX0Y( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_11WY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
_11WY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_01WY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
_01WY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
W1WY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
W1WY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Z1WY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
Z1WY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Y1WY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
Y1WY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
X1WY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
X1WY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_10WY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
_10WY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_00WY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
_00WY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
W0WY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
W0WY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Z0WY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
Z0WY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Y0WY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
Y0WY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
X0WY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
X0WY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1WWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1WWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0WWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0WWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WWWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
WWWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZWWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZWWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YWWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
YWWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XWWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
XWWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1ZWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1ZWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0ZWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0ZWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WZWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
WZWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZZWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZZWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YZWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
YZWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XZWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
XZWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1YWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1YWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0YWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0YWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WYWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
WYWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZYWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZYWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YYWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
YYWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XYWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
XYWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1XWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1XWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0XWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0XWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WXWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
WXWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZXWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZXWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YXWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
YXWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XXWY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
XXWY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_11ZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_11ZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_01ZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_01ZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
W1ZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
W1ZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Z1ZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
Z1ZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Y1ZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
Y1ZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
X1ZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
X1ZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_10ZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_10ZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_00ZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_00ZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
W0ZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
W0ZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Z0ZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
Z0ZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Y0ZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
Y0ZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
X0ZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
X0ZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1WZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1WZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0WZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0WZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WWZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
WWZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZWZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZWZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YWZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
YWZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XWZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
XWZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1ZZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1ZZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0ZZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0ZZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WZZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
WZZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZZZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZZZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YZZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
YZZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XZZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
XZZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1YZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1YZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0YZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0YZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WYZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
WYZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZYZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZYZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YYZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
YYZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XYZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
XYZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1XZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1XZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0XZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0XZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WXZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
WXZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZXZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZXZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YXZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
YXZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XXZY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
XXZY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_11YY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_11YY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_01YY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_01YY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
W1YY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
W1YY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Z1YY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
Z1YY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Y1YY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
Y1YY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
X1YY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
X1YY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_10YY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_10YY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_00YY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_00YY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
W0YY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
W0YY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Z0YY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
Z0YY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Y0YY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
Y0YY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
X0YY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
X0YY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1WYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1WYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0WYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0WYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WWYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
WWYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZWYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZWYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YWYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
YWYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XWYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
XWYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1ZYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1ZYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0ZYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0ZYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WZYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
WZYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZZYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZZYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YZYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
YZYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XZYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
XZYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1YYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1YYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0YYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0YYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WYYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
WYYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZYYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZYYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YYYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
YYYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XYYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
XYYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1XYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1XYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0XYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0XYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WXYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
WXYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZXYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZXYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YXYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
YXYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XXYY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
XXYY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_11XY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
_11XY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_01XY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
_01XY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
W1XY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
W1XY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Z1XY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
Z1XY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Y1XY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
Y1XY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
X1XY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
X1XY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_10XY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
_10XY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_00XY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
_00XY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
W0XY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
W0XY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Z0XY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
Z0XY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
Y0XY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
Y0XY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
X0XY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
X0XY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1WXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1WXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0WXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0WXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WWXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
WWXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZWXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZWXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YWXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
YWXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XWXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
XWXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1ZXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1ZXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0ZXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0ZXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WZXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
WZXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZZXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZZXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YZXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
YZXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XZXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
XZXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1YXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1YXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0YXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0YXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WYXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
WYXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZYXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZYXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YYXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
YYXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XYXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
XYXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_1XXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
_1XXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
_0XXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
_0XXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
WXXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
WXXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
ZXXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
ZXXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
YXXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
YXXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
XXXY( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
XXXY( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_111X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_111X( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_111X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_111X( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_011X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_011X( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_011X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_011X( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
W11X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
W11X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Z11X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
Z11X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Y11X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
Y11X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X11X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X11X( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
X11X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
X11X( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_101X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_101X( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_101X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_101X( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_001X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_001X( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_001X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_001X( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
W01X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
W01X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Z01X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
Z01X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Y01X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
Y01X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X01X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X01X( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
X01X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
X01X( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1W1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1W1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0W1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0W1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WW1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
WW1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZW1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZW1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YW1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
YW1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XW1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
XW1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1Z1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1Z1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0Z1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0Z1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WZ1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
WZ1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZZ1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZZ1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YZ1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
YZ1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XZ1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
XZ1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1Y1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1Y1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0Y1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0Y1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WY1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
WY1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZY1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZY1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YY1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
YY1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XY1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
XY1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1X1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1X1X( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1X1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1X1X( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0X1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0X1X( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0X1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0X1X( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WX1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
WX1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZX1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZX1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YX1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
YX1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XX1X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XX1X( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
XX1X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
XX1X( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_110X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_110X( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_110X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_110X( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_010X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_010X( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_010X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_010X( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
W10X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
W10X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Z10X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
Z10X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Y10X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
Y10X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X10X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X10X( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
X10X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
X10X( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_100X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_100X( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_100X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_100X( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_000X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_000X( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_000X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_000X( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
W00X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
W00X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Z00X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
Z00X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Y00X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
Y00X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X00X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X00X( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
X00X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
X00X( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1W0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1W0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0W0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0W0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WW0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
WW0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZW0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZW0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YW0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
YW0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XW0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
XW0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1Z0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1Z0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0Z0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0Z0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WZ0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
WZ0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZZ0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZZ0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YZ0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
YZ0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XZ0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
XZ0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1Y0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1Y0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0Y0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0Y0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WY0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
WY0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZY0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZY0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YY0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
YY0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XY0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
XY0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1X0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1X0X( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1X0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1X0X( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0X0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0X0X( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0X0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0X0X( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WX0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
WX0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZX0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZX0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YX0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
YX0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XX0X( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XX0X( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
XX0X( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
XX0X( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_11WX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
_11WX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_01WX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
_01WX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
W1WX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
W1WX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Z1WX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
Z1WX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Y1WX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
Y1WX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X1WX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
X1WX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_10WX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
_10WX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_00WX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
_00WX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
W0WX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
W0WX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Z0WX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
Z0WX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Y0WX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
Y0WX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X0WX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
X0WX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1WWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1WWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0WWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0WWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WWWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
WWWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZWWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZWWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YWWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
YWWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XWWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
XWWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1ZWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1ZWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0ZWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0ZWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WZWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
WZWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZZWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZZWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YZWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
YZWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XZWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
XZWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1YWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1YWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0YWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0YWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WYWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
WYWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZYWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZYWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YYWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
YYWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XYWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
XYWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1XWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1XWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0XWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0XWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WXWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
WXWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZXWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZXWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YXWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
YXWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XXWX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
XXWX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_11ZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_11ZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_01ZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_01ZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
W1ZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
W1ZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Z1ZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
Z1ZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Y1ZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
Y1ZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X1ZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
X1ZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_10ZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_10ZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_00ZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_00ZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
W0ZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
W0ZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Z0ZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
Z0ZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Y0ZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
Y0ZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X0ZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
X0ZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1WZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1WZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0WZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0WZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WWZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
WWZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZWZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZWZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YWZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
YWZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XWZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
XWZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1ZZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1ZZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0ZZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0ZZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WZZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
WZZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZZZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZZZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YZZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
YZZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XZZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
XZZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1YZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1YZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0YZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0YZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WYZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
WYZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZYZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZYZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YYZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
YYZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XYZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
XYZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1XZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1XZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0XZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0XZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WXZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
WXZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZXZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZXZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YXZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
YXZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XXZX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
XXZX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_11YX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_11YX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_01YX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_01YX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
W1YX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
W1YX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Z1YX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
Z1YX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Y1YX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
Y1YX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X1YX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
X1YX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_10YX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_10YX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_00YX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_00YX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
W0YX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
W0YX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Z0YX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
Z0YX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Y0YX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
Y0YX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X0YX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
X0YX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1WYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1WYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0WYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0WYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WWYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
WWYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZWYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZWYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YWYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
YWYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XWYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
XWYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1ZYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1ZYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0ZYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0ZYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WZYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
WZYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZZYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZZYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YZYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
YZYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XZYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
XZYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1YYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1YYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0YYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0YYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WYYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
WYYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZYYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZYYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YYYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
YYYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XYYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
XYYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1XYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1XYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0XYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0XYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WXYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
WXYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZXYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZXYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YXYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
YXYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XXYX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
XXYX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_11XX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_11XX( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_11XX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_11XX( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_01XX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_01XX( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_01XX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_01XX( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
W1XX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
W1XX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Z1XX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
Z1XX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Y1XX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
Y1XX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X1XX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X1XX( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
X1XX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
X1XX( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_10XX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_10XX( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_10XX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_10XX( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_00XX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_00XX( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_00XX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_00XX( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
W0XX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
W0XX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Z0XX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
Z0XX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
Y0XX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
Y0XX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X0XX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X0XX( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
X0XX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
X0XX( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1WXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1WXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0WXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0WXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WWXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
WWXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZWXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZWXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YWXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
YWXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XWXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
XWXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1ZXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1ZXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0ZXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0ZXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WZXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
WZXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZZXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZZXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YZXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
YZXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XZXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
XZXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1YXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1YXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0YXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0YXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WYXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
WYXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZYXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZYXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YYXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
YYXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XYXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
XYXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1XXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1XXX( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1XXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1XXX( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0XXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0XXX( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0XXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0XXX( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
WXXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=4,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
WXXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
ZXXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=3,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
ZXXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
YXXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=2,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
YXXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XXXX( V const & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XXXX( S const & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
    }
template <class V>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_vec<V>::value && vec_traits<V>::dim>=1,
    qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
XXXX( V & a )
    {
    return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
template <class S>
BOOST_QVM_INLINE_TRIVIAL
typename enable_if_c<
    is_scalar<S>::value,
    qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
XXXX( S & a )
    {
    return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
    }
} }

#endif
