1bool2 add_boolean()    { return false + true; }
2bool2 sub_boolean()    { return false - true; }
3bool2 mul_boolean()    { return false * true; }
4bool2 div_boolean()    { return false / true; }
5bool2 mod_boolean()    { return false % true; }
6bool2 shl_boolean()    { return false << true; }
7bool2 shr_boolean()    { return false >> true; }
8bool2 neg_boolean()    { return -false; }
9bool2 bitnot_boolean() { return ~false; }
10bool2 bitand_boolean() { return false & true; }
11bool2 bitor_boolean()  { return false | true; }
12bool2 bitxor_boolean() { return false ^ true; }
13
14bool2 add_boolean_vec()    { return bool2(false, false) + bool2(true, true); }
15bool2 sub_boolean_vec()    { return bool2(false, false) - bool2(true, true); }
16bool2 mul_boolean_vec()    { return bool2(false, false) * bool2(true, true); }
17bool2 div_boolean_vec()    { return bool2(false, false) / bool2(true, true); }
18bool2 mod_boolean_vec()    { return bool2(false, false) % bool2(true, true); }
19bool2 shl_boolean_vec()    { return bool2(false, false) << bool2(true, true); }
20bool2 shr_boolean_vec()    { return bool2(false, false) >> bool2(true, true); }
21bool2 not_boolean_vec()    { return !bool2(false, false); }
22bool2 neg_boolean_vec()    { return -bool2(false, false); }
23bool2 bitnot_boolean_vec() { return ~bool2(false, false); }
24bool2 bitand_boolean_vec() { return bool2(false, false) & bool2(true, true); }
25bool2 bitor_boolean_vec()  { return bool2(false, false) | bool2(true, true); }
26bool2 bitxor_boolean_vec() { return bool2(false, false) ^ bool2(true, true); }
27