1const AddOneBit = math.AddOneBit;
2const AsSignedness = math.AsSignedness;
3const cast = math.cast;
4const ChangeScalar = math.ChangeScalar;
5const checkExpected = math.checkExpected;
6const Compare = math.Compare;
7const DoubleBits = math.DoubleBits;
8const fmax = math.fmax;
9const fmin = math.fmin;
10const Gpr = math.Gpr;
11const imax = math.imax;
12const inf = math.inf;
13const Log2Int = math.Log2Int;
14const math = @import("math.zig");
15const nan = math.nan;
16const Scalar = math.Scalar;
17const select = math.select;
18const sign = math.sign;
19const splat = math.splat;
20const Sse = math.Sse;
21const tmin = math.tmin;
22
23fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .relaxed }) type {
24 return struct {
25 // noinline so that `mem_lhs` and `mem_rhs` are on the stack
26 noinline fn testArgKinds(
27 _: Gpr,
28 _: Gpr,
29 _: Gpr,
30 _: Gpr,
31 _: Gpr,
32 _: Gpr,
33 _: Gpr,
34 _: Gpr,
35 _: Sse,
36 _: Sse,
37 _: Sse,
38 _: Sse,
39 _: Sse,
40 _: Sse,
41 _: Sse,
42 _: Sse,
43 comptime Type: type,
44 comptime imm_lhs: Type,
45 mem_lhs: Type,
46 comptime imm_rhs: Type,
47 mem_rhs: Type,
48 ) !void {
49 const expected = comptime op(Type, imm_lhs, imm_rhs);
50 var reg_lhs = mem_lhs;
51 var reg_rhs = mem_rhs;
52 _ = .{ &reg_lhs, &reg_rhs };
53 try checkExpected(expected, op(Type, reg_lhs, reg_rhs), opts.compare);
54 try checkExpected(expected, op(Type, reg_lhs, mem_rhs), opts.compare);
55 try checkExpected(expected, op(Type, reg_lhs, imm_rhs), opts.compare);
56 try checkExpected(expected, op(Type, mem_lhs, reg_rhs), opts.compare);
57 try checkExpected(expected, op(Type, mem_lhs, mem_rhs), opts.compare);
58 try checkExpected(expected, op(Type, mem_lhs, imm_rhs), opts.compare);
59 try checkExpected(expected, op(Type, imm_lhs, reg_rhs), opts.compare);
60 try checkExpected(expected, op(Type, imm_lhs, mem_rhs), opts.compare);
61 }
62 // noinline for a more helpful stack trace
63 noinline fn testArgs(comptime Type: type, comptime imm_lhs: Type, comptime imm_rhs: Type) !void {
64 try testArgKinds(
65 undefined,
66 undefined,
67 undefined,
68 undefined,
69 undefined,
70 undefined,
71 undefined,
72 undefined,
73 undefined,
74 undefined,
75 undefined,
76 undefined,
77 undefined,
78 undefined,
79 undefined,
80 undefined,
81 Type,
82 imm_lhs,
83 imm_lhs,
84 imm_rhs,
85 imm_rhs,
86 );
87 }
88 fn testBools() !void {
89 try testArgs(bool, false, false);
90 try testArgs(bool, false, true);
91 try testArgs(bool, true, false);
92 try testArgs(bool, true, true);
93 }
94 fn testInts() !void {
95 try testArgs(i1, 0x0, -0x1);
96 try testArgs(u1, 0x1, 0x1);
97 try testArgs(i2, 0x0, -0x2);
98 try testArgs(u2, 0x3, 0x3);
99 try testArgs(i3, -0x2, -0x4);
100 try testArgs(u3, 0x1, 0x4);
101 try testArgs(i4, 0x2, 0x3);
102 try testArgs(u4, 0x0, 0x9);
103 try testArgs(i5, -0x7, 0xa);
104 try testArgs(u5, 0x17, 0x12);
105 try testArgs(i7, -0x2f, -0x10);
106 try testArgs(u7, 0x2, 0x5a);
107 try testArgs(i8, -0x58, 0x4d);
108 try testArgs(u8, 0xa6, 0x62);
109 try testArgs(i9, 0x2d, -0xc8);
110 try testArgs(u9, 0xb3, 0x103);
111 try testArgs(i15, 0x2965, -0x356f);
112 try testArgs(u15, 0x7c98, 0x365e);
113 try testArgs(i16, -0x7578, -0x3313);
114 try testArgs(i16, -0x3c, 0x17);
115 try testArgs(u16, 0x4ee7, 0x6b62);
116 try testArgs(u16, 0xb3, 0xe6);
117 try testArgs(i17, 0x794a, -0x6f8e);
118 try testArgs(u17, 0x1e3fa, 0x1ab2a);
119 try testArgs(i31, -0x21aa4212, -0x2202d70d);
120 try testArgs(u31, 0x6ac6122, 0x2fb9b257);
121 try testArgs(i32, 0x6c45c413, -0x35eca389);
122 try testArgs(i32, 0x5e15, 0x5576);
123 try testArgs(i32, 0x6a, -0x32);
124 try testArgs(u32, 0xa209dab8, 0xedd9164b);
125 try testArgs(u32, 0x317d, 0xb2d1);
126 try testArgs(u32, 0xf0, 0xd3);
127 try testArgs(i33, 0x12ebeada, -0x1497d301);
128 try testArgs(u33, 0x1baa7fa9e, 0x338605c3);
129 try testArgs(i63, -0x35e3fe0b820c4f64, 0x26ac0336bf4a7d3e);
130 try testArgs(u63, 0x4a92bba4f351688e, 0x5e8997c1d59f8c3e);
131 try testArgs(i64, -0x4b02bbefd4ad7c08, 0xf2c7915c45d3663);
132 try testArgs(i64, -0x48472f05, 0x68f6da9c);
133 try testArgs(i64, -0x1bd0, -0x737);
134 try testArgs(i64, 0x5f, -0x1d);
135 try testArgs(u64, 0x2b6633e807c423ca, 0xd8032efc4f75196);
136 try testArgs(u64, 0xeb06e992, 0x2f4e8522);
137 try testArgs(u64, 0x9268, 0xcd9f);
138 try testArgs(u64, 0x4d, 0x8);
139 try testArgs(i65, -0x1135e9c63b0e860b, 0x1643641397dbe2ce);
140 try testArgs(u65, 0x16912f027e5fcb695, 0x18e756dbf9ee61585);
141 try testArgs(i95, -0xf3fcbcf5fe16065d1f1b3ef, 0x10948078d12df1f23e4a5cdd);
142 try testArgs(u95, 0x2c5d24dc92fccb6cc80f8e72, 0x39d802d560e85df1599a5fb4);
143 try testArgs(i96, -0x80ad7afba05064d0b355229, 0x4c33490a6fd189547f978185);
144 try testArgs(u96, 0x12a3349b28f00297181d446e, 0x67736a7aa1f55bfe9f55dba0);
145 try testArgs(i97, -0x837d95943fb23c369041342, -0x712105a3be57c2f0f17f9259);
146 try testArgs(u97, 0x34daf6903a100ea892be10cb, 0x488d37e646767820d090bc45);
147 try testArgs(i127, 0x2bc26ad5610f674505f7b32aff3049bc, -0x185866be42451ce9f7d3d3570c75a6ab);
148 try testArgs(u127, 0x14dce42a62a28a9eadb759ab3cb59d2f, 0x2c98ed1cb5c79f5f472468e2a83bf879);
149 try testArgs(i128, -0x353020e8596d7b9bad5d176107a8324a, -0x1a677b671e08fbbeb440356dc89827fa);
150 try testArgs(i128, 0x18544b9260c70c05, 0x46f5da59902a3891);
151 try testArgs(i128, 0x43bd7454, -0x3e5258d7);
152 try testArgs(i128, -0x1d28, 0x5649);
153 try testArgs(i128, -0x54, -0x7a);
154 try testArgs(u128, 0xe535f228bdc07315b9bb88fbecff749a, 0x15c3657c196b39ba2f10283cc2633bc2);
155 try testArgs(u128, 0x1b75b5b63db300c9, 0x8fa0d1eca0364719);
156 try testArgs(u128, 0xa79b211c, 0xd075df9b);
157 try testArgs(u128, 0x19bb, 0xa776);
158 try testArgs(u128, 0xee, 0x37);
159 try testArgs(i129, -0x62e38e41b503c3140eb9568f5b2b37bc, 0x18875e30d37e50e267b18de820b5f9a0);
160 try testArgs(u129, 0x15b9cfdea6cdc682f06f21f13c7ce68d5, 0x115eb5bfe3b75164ae9e2c7abd115ae48);
161 try testArgs(i159, -0x3ad81ba24b75031f501665851d76874d2246b6e, 0x23f39abd5841d53fecdfeacb9c45f5255f1dff96);
162 try testArgs(u159, 0x5b7f03118d5378d854b4033a3353a3839978dbc5, 0x4d04a581a1ead46d85c3d3c9661d5ebe1be97581);
163 try testArgs(i160, -0x11f707132115f25c4669dd2fca7e20a879dc7d5a, 0x25908ae209885e5bcc24c126d6330f7b0c2a0b5);
164 try testArgs(u160, 0x5c7727eadbee50fbaf2e8c94bb6a27f4383445ab, 0x5909551b7b05451eb43f7a8791b210ea7385102b);
165 try testArgs(i161, 0x5856d2b8b13730a7a8f685a454714ff812d6e657, -0xc46087a43ed9fce05e8c51b37ccc8e1a098fdc2c);
166 try testArgs(u161, 0xd6c90bee661ed2d56937078dfe0db753c1111b9d, 0xc656cd6448759001381cc1c7acc98c27e2eebcde);
167 try testArgs(i191, -0x2b28f64715263d8f41159c90617f48696bde9a27ba563bd7, 0x32326ec2e07b54b5b610c7d165458b6f906cb29744893585);
168 try testArgs(u191, 0x7fbd89e7cf85722028bf9078e05b8d9c430352a0ef9cda6b, 0x71dceb931e412dad362aff62129ec78eeece36266931c0c9);
169 try testArgs(i192, 0x45ad667d7555708d01378130b0486faac73fa8f597e04666, -0x4f7875bad89c49adfe1edc70aee49d97f6d2c510714d102d);
170 try testArgs(u192, 0xf5b324a49e8c80e6607b02eacd2cbd7d3eb0fd9dad2a951c, 0x97e7b113f2e080575f1b90eae5eaf9e343e38559ac4bdcb6);
171 try testArgs(i193, -0xeea3463327fc56b5a2fef18406f80fc6840f2bc031edcfa5, 0x2d4c1136e9af1385b51f1488566efded43920f615f417315);
172 try testArgs(u193, 0x143eaa3d0025955f6bbfe673806073697aa8118c5e7136187, 0x1d8960a50223e21dd4d9d42d9e8a2d9d2a9c6857c9ead34be);
173 try testArgs(i223, -0x1f7b7eb922c61404013cf0dba17d1a90146bf3b8c0728b7a0ea6f2ea, -0x27dc0f6d050abd8145d09b87477fed5b9a50247e4fe350f90a95b541);
174 try testArgs(u223, 0x36f84d046baf5ea016e19704947906ea65d5c92f1f08042517759816, 0xd205ea00acd0d7c1671ef2f6e417b7139feb7bffa87ef1a338e2123);
175 try testArgs(i224, -0xbde4a324e1ada6b2850c7cad0756c087a86167991215116d4521125, -0x32973d38bdae43339db0bba413932d75934b14e0783512d6fa72768a);
176 try testArgs(u224, 0x40c4cd73222c5a57eda8606302406df4c2ce1f8457ba121d8068a689, 0x4f95cb741b7a1fd48355be3312dc744d85eafcad9463f73821814f92);
177 try testArgs(i225, 0x3f6a7285ea4a8a1fbce0ccebbe8e2b3b79a9364b5ea4d10143ed2501, -0xcfc40bd560264132feee6d6691fa2226677921702c8b20c571b7940c);
178 try testArgs(u225, 0x1c11965682045c0a4a55579f4bd219d53e9b94aabbb5a1367ff9fa977, 0x18fd677469772422a138f7d42031c60dcce72521e4550ff76feeb8c09);
179 try testArgs(i255, -0x246de32ba0548f6332ed1460c4481d08995bca0d51354375577069261e1b128b, -0x3e3e976d27b358e8d71f11f4a74a2c06ccf1e02ff11c694509d584cbace2860b);
180 try testArgs(u255, 0x195a0e8f2045178c9d7e4b4acbb0c303982b8e81a0db5a8726d301f7abf6b4fa, 0x1346dc32214a8049b6d019b3b621fca747d0ae54b01c6abfa71c9f53255bc0d);
181 try testArgs(i256, -0x7656d3b6e843c1a4ba55209b78df78cb38e5df1484bddd5ab49d26123ae2b9b2, 0x7e72f13f55d969f98b4874608d6b2e175e138a1666acab3acb4ec0817ef3fb4b);
182 try testArgs(i256, -0x1d6ff086af95a7a74cd928c45389b13d, -0x7e5b8a63026288e236445c612854b28c);
183 try testArgs(i256, 0x2229d2778d879eee, -0x7baf8ed2a157845c);
184 try testArgs(i256, 0x72b41e8f, -0x694a26be);
185 try testArgs(i256, -0x445b, 0x3985);
186 try testArgs(i256, -0x20, 0x25);
187 try testArgs(u256, 0x50d83a5ed6d6b03a05960ec32188b5574d7a9bd3088fe3cc75f0a8634a9914ec, 0xeb3fdfbe533ac3b0870c6389983c7ae41dda0e7ca76dfaee1ce5d363f7a26487);
188 try testArgs(u256, 0xe0d959827fce98b4275e695cc824004a, 0xa8ff0665dc6edb3ace0464706bbb9e99);
189 try testArgs(u256, 0x124ca531713ef975, 0xb6c057747ef9b763);
190 try testArgs(u256, 0x413a2414, 0xc7ad853a);
191 try testArgs(u256, 0xe961, 0xbb97);
192 try testArgs(u256, 0x5a, 0xca);
193 try testArgs(i257, 0xff103490512264953d0c8d441d9c90cbeb5fb4b6f408acf3d52e6bee6b77729c, 0x4ba28a1cba4bd1961480733c6c5df3639834d86a5a2c0244f68af422fc66521f);
194 try testArgs(u257, 0x55c4d8a412812a6425079d522f7246d62e72882cc43e53b95759a30ebcd9a5b9, 0xa31f450acc01fbd96d661be492830addfd095d1e668a7038b9638cd1bab4380e);
195 try testArgs(i511, 0x87fd16a187507b466bf6cb2f76e66d5a8058004bdca76631755e6b02b76bd67f29b79affa8925b738a34d79597b7708794f3a370ab73e170babf2c4570c270c, 0x10b8284833ce712fb3a6757c6dd1f80c23d26903262d41902088fd57e272a47ff19d7d13f8d4ba5a015197a4a207739f17f7951f7ce9bcf9a6a2adc5ec2594f);
196 try testArgs(u511, 0x28aa342d3d9f63f81bdf98f897b16b0d704a46ffff0bc307a8f67ccfce22a7a606ff1cdfaef8f7a9f2f8b734e9d32857f24971a345ec18563ee84b276ba93900, 0x3b0d8645fd9b90301e1799c404c75fdd7a730fd5c3b1d9a20d9c23fc7d643746a0533efd6e75359ef2ddfb610e43f32959d315062bf5617207fa2683f195c252);
197 try testArgs(i512, 0x1d02c72fb01fb267355ad234d583d44804e57e0f12cb619d379cfc16cf70d79e76dfc1c871e4af2a5f61a717f6ca2cc5e9f058c79eee87f082bef99eb783a992, -0x77b5a305cecfb65928c3acf2d86d9c2dd332fa26aee15623648553b757b6eadb21fce6bf7a70cd5dc483bba79ce9cdaed3f7be5b4fc6fc45f383e00595a8658c);
198 try testArgs(i512, -0x7bb493ec2c7034fc329235a63f878e79b966aa2eac4c7eb6fb2d681f92161356, -0x58a7620011739e0642ae1b63ea61785ff92b545af6c4af74b4254aafed91fae0);
199 try testArgs(i512, -0x3314296f9c9686c089fdf822baa07eef, -0x328a20e658840d8361cc72fb62f996bd);
200 try testArgs(i512, -0x32553c7b7a9adc17, -0x770695a5ab011937);
201 try testArgs(i512, -0x627ebff4, -0x7df02a32);
202 try testArgs(i512, 0x2dcd, 0x1c8);
203 try testArgs(i512, 0x42, 0x40);
204 try testArgs(u512, 0xe03387072d2d230573c5704ed3a2c6784537fee296d4b4881c3426ba1f5945dc08362774feb30a020bd49e2cadaa0950f97391a490db6c47b657d947015377d7, 0x16eb9d9c695012250b1f964d50704efe6fa384bd7d820e8d1c05ca03e8573426cef170e4d559f54ef749ad8cfbe080ee91e29e6ec1d13170f9c871316aa54417);
205 try testArgs(u512, 0xa3dc7a7cf2cfef46b52333e4890e6ea3b852b36285c0a263045c712006ee816f, 0xd63219db46d5dff2dac67cce73679de2437ca6281a6b80980e2cc1fefe8ba59d);
206 try testArgs(u512, 0xee49e47a62b950bc81343b7b366a97c9, 0x47e01773722d8b2e22753c9dfd54b654);
207 try testArgs(u512, 0xfd3b5abce7aa6c3e, 0x41499f2bb5d351a4);
208 try testArgs(u512, 0xfa564872, 0x800b36f1);
209 try testArgs(u512, 0xc1e2, 0x1c1b);
210 try testArgs(u512, 0xca, 0xce);
211 try testArgs(i513, 0xc9d82f9953db8ffc4cf00ecd83e4822b189ee0b352d138dc8cb6916437abb8b4f02907093baec52ff22e97da575d237683b8d0437bef44d713be92b388ea9b34, 0xa620aabe3562093f20baa48939b24b22fb15619fdd3facc52fd70d96b9412a1e1419179ce125dff72b3e951b1e14b7306c465979da023984c7810db8922720f4);
212 try testArgs(u513, 0x2c2674b2b568987019aef3a765ca944548b46223c59ac4b000612680bfd2d82a4349c0a732866566a759b2063cb046899eb036e6183677c97cf5b86b81ef298a, 0xf8a0d50b6eb1d8836f9a09669f7bb029ac84e6a30aeeb3b98d35f661365b169d92c5203a620392aafcc4e553c853cc6253f583697d17efe5962426a5d25812b6);
213 try testArgs(i1023, 0x2b0855ad94ed6b38b86bd4f47d46b7f3327973db45cc0df95e5efe39d20289bacbb0da3fa026a025a255e018ad1f226d7d82dd97764da5340671edc853f24870f76369665fddd0b321ab27e760c92f471cff66fb6d2e3809090b1f2151ee167f5d636294090f2e8b6782ba294955ec6f519bd1b218ae5a0b727dc08750199a9a, -0x30a6d27cd01873a3d0130c1cc1563e5d5945b1832002eebf20e440c4675aef4a2bb83fcf48a4df984b00a0d00f9a1d2599ec1901f07106cb500df087b23a4ba80fc92d9acd2443b47cd730039567fbd664da7eae91a64fc5b8d0a9ff2738bc029e7414481e39246cbf5d8dca8accfbd3b751af4b82e8b13b8a9800bfe7ac35aa);
214 try testArgs(u1023, 0x233481dcc97d64b5d0cffc40eb47a0bec1b0a49d3055f82ec1c7ecf3d284b975383f3f685bdff1ffba80340c5226ee66b23db8920b8ca127a0d742e392f2ec737f9de572a46cae192525515d841aee3d91b40fd93cbf4e7e41add2db25621479bf15dd1290d890dee4bb7eb79e7358e12e0d64c4f1ed0858fdf4a67fd26f0ea5, 0x1e27b20c220caa431ba26fc50fe90f0289b747c9a3dc5a7b673024e9f7b485030340b9211a221c1c8417df94aac2b42282adcf8d54f2bed181d0b8a0d0fea377a80da6533839d1be54ffa843f34a33dbfa88cf52888bae6a7b10ce2dcfddbcb68d976f70c4b6e68abc8d92deca7c4b37ad064f128b681d9ba895df71367572bf);
215 try testArgs(i1024, -0x137015bff1717bca41f285c53e187493bac81d511af55cdc06cb0d2b0e3c36b342e27bfff765640306762b083c8ad1b3107ccbd41d9c23f5ddde6a2335ffa5772e38f10c696648076e6d76f909e0762e8cd77c1304c5ad9287fce0a935b2775ee847807e9e97813e5f364a5e1620705d8418fb6c514fb04b5960374c0c18510d, 0x146d13ca9df4cf3b25a2a672976bd3c3937da3499f2159c91f4a2cca94615861edea601c2f2834298f2ce37e920955da22087f90b18588d702fc30bfc40e675a2de110c71d700d493940fe8bef015519c7504a4c31270cdac7e8cbd25d0fbd41210a8378418cd629598bcc0bcee0cb3ccddf610279f8fefc7ac888c87417d032);
216 try testArgs(i1024, 0xd83f224590913fb67cc89d8ad81cb1c3de695264caa3dbf76b078e6ac17bd66ffc149fd86655533fba5a99597845ff1d39cc0a9404f44a04e72bc90a51753d4, -0x5a9e0bd515b1aa0ecb14ac5088a63d7119574117906452b398a6860264d67a197047bf7c7caba6bfe4b1caddf72aa9a62c514a38d62c772e3b32e414f8fbe48c);
217 try testArgs(i1024, 0x6a52214d12e6197115dde2e468549775a813622878cf627e113fb0d14c0e735a, 0x2687c3cc5648d62360351b9c691fb44ca9756725e1902f38439f54ef7ebbb71d);
218 try testArgs(i1024, 0x5e69fa24e8d1534b9580b93713da0c26, -0x463e791749036d4f363d72cc641d4be6);
219 try testArgs(i1024, -0x42d1c92c40110265, -0x3e2839e81df03bcf);
220 try testArgs(i1024, -0x40f8b9ec, -0x9383cb9);
221 try testArgs(i1024, -0x3f68, 0x2b0a);
222 try testArgs(i1024, 0x55, -0x2f);
223 try testArgs(u1024, 0xa4d16d6ed18fabb8f40bb47c15cfdabf1aa028f63cd686f5306fe66c9b8df0a9b5a1d04684c1f4d2790a4c5cb290104830b09229ab399e1e2078fae3075411aae93cd0e53ee431c18b3c5b2994e65ee324d0b07c625bcea92ad625a3111238012b4241fcc43e080ae8602e12cfd28fab477cc6ba0cb715ad91cf948e8966875e, 0x4f24a51e9b8832135cdcc7b2214a07ca65e100214e801b6ea6c1f07ca21a368fd1fb4699ced16386e806d10bacc4fd2cf08515af8964dfba853491032d1f014508051e9f362036aa2d8b1f6073efc6afd24ac5bd3ff4c13adfd20b71c4d6dcbfe58d8816017431754a92a7f9a7b00eae7304e5869bb85332575932d57d866c52);
224 try testArgs(u1024, 0xa915e1376dc9e86cc0fe5c30f9fc3b02ae7bad6399fdc83e7f44e8dca57ffb0e96ecf26cb4bcf53cb693e78724569649f82ddb906e397a6e0e943fdf526349b4, 0x723228d9c145ff5e85531cad1cd242b47d89d5f1f3ff5d4c489d87ffdd14019c8d34529af5eea41b8b7a8022039cb19918d8bbd93a8a837ff9cab0c9c8ed0394);
225 try testArgs(u1024, 0x432521876840200ca29b4f3754b73e708b6e076567a0a3747f04a88c41cb521a, 0x526b6f65adda401970de76f1aa36d214276eed9e3a983bdbb9fbc09e569ac5b);
226 try testArgs(u1024, 0x2aacc04d41f16a1875d053bfe80946a9, 0x3d3f2001a89ed5d669e31efd382224d7);
227 try testArgs(u1024, 0xea8bdcdb86fd43d2, 0xc26836cfb52165b6);
228 try testArgs(u1024, 0x2c52ee51, 0xe92272b7);
229 try testArgs(u1024, 0x7bf2, 0x9594);
230 try testArgs(u1024, 0x4, 0x3b);
231 try testArgs(i1025, -0x11cdd501bbb1002a7ce8b43ca4ed3725f30482b743aa8740eaa141e93b8cc1802a96347181471742ece35d8ca0a4987630b070051ee758261dfce16446ba6720902e649015757e6f3028fdd9f76735ae162d4097cdee43f5ab227cf71502f584764710d2feea5afd6d60b3ebb93ffec1be94b3831b5728a4b633205803001efc, 0x65c59893de60d5191e5dfb76f6fb19012675a0eaa64cda290db6765fdae806485242a02233860a0f8aea048f33560e75acb99d32898ea3d29b996c004a7967fcf26fd5737f8d446fda6df6f359aadb0d055adf45b100afdd3d53481c2b6b955581baf065ff0043cd66a14bbc22e86eadbe80d0e001cfa48225a60abab7f439d7);
232 try testArgs(u1025, 0x10061b3bb3ecd437af70c918d8b1b7d08808d4dbc1f35cfa9b831fa7128ceabb33b95ea207213786ce37dd80aae327cc367d687c322bed44ce7aed76bda9a129f9e29558d0a452f2885f75aa43ec099ac6837b2be8f602d56d1ba237e3eb189439236fe2697e7d4021a029b2641f1afbbc9f187c83589db2603c54a67911edd42, 0x5faeb44e031124a6c00138457ba703ea2a40a9466a52e3080ef5671a9ce21a94a7571c323725cdf9ee6569f6d9734c24e0c4c5571310da755bc7b6f51567ba1f803f9b2dcd92bb69547744559e08f0275351902458b78b922a81a645035e3a75e8d7724d31c6845d665d74a7d6132335d0cfb936187fc0433a0bbd6c3e497290);
233 }
234 fn testFloats() !void {
235 @setEvalBranchQuota(21_700);
236
237 try testArgs(f16, -nan(f16), -nan(f16));
238 try testArgs(f16, -nan(f16), -inf(f16));
239 try testArgs(f16, -nan(f16), -fmax(f16));
240 try testArgs(f16, -nan(f16), -1e1);
241 try testArgs(f16, -nan(f16), -1e0);
242 try testArgs(f16, -nan(f16), -1e-1);
243 try testArgs(f16, -nan(f16), -fmin(f16));
244 try testArgs(f16, -nan(f16), -tmin(f16));
245 try testArgs(f16, -nan(f16), -0.0);
246 try testArgs(f16, -nan(f16), 0.0);
247 try testArgs(f16, -nan(f16), tmin(f16));
248 try testArgs(f16, -nan(f16), fmin(f16));
249 try testArgs(f16, -nan(f16), 1e-1);
250 try testArgs(f16, -nan(f16), 1e0);
251 try testArgs(f16, -nan(f16), 1e1);
252 try testArgs(f16, -nan(f16), fmax(f16));
253 try testArgs(f16, -nan(f16), inf(f16));
254 try testArgs(f16, -nan(f16), nan(f16));
255
256 try testArgs(f16, -inf(f16), -nan(f16));
257 try testArgs(f16, -inf(f16), -inf(f16));
258 try testArgs(f16, -inf(f16), -fmax(f16));
259 try testArgs(f16, -inf(f16), -1e1);
260 try testArgs(f16, -inf(f16), -1e0);
261 try testArgs(f16, -inf(f16), -1e-1);
262 try testArgs(f16, -inf(f16), -fmin(f16));
263 try testArgs(f16, -inf(f16), -tmin(f16));
264 try testArgs(f16, -inf(f16), -0.0);
265 try testArgs(f16, -inf(f16), 0.0);
266 try testArgs(f16, -inf(f16), tmin(f16));
267 try testArgs(f16, -inf(f16), fmin(f16));
268 try testArgs(f16, -inf(f16), 1e-1);
269 try testArgs(f16, -inf(f16), 1e0);
270 try testArgs(f16, -inf(f16), 1e1);
271 try testArgs(f16, -inf(f16), fmax(f16));
272 try testArgs(f16, -inf(f16), inf(f16));
273 try testArgs(f16, -inf(f16), nan(f16));
274
275 try testArgs(f16, -fmax(f16), -nan(f16));
276 try testArgs(f16, -fmax(f16), -inf(f16));
277 try testArgs(f16, -fmax(f16), -fmax(f16));
278 try testArgs(f16, -fmax(f16), -1e1);
279 try testArgs(f16, -fmax(f16), -1e0);
280 try testArgs(f16, -fmax(f16), -1e-1);
281 try testArgs(f16, -fmax(f16), -fmin(f16));
282 try testArgs(f16, -fmax(f16), -tmin(f16));
283 try testArgs(f16, -fmax(f16), -0.0);
284 try testArgs(f16, -fmax(f16), 0.0);
285 try testArgs(f16, -fmax(f16), tmin(f16));
286 try testArgs(f16, -fmax(f16), fmin(f16));
287 try testArgs(f16, -fmax(f16), 1e-1);
288 try testArgs(f16, -fmax(f16), 1e0);
289 try testArgs(f16, -fmax(f16), 1e1);
290 try testArgs(f16, -fmax(f16), fmax(f16));
291 try testArgs(f16, -fmax(f16), inf(f16));
292 try testArgs(f16, -fmax(f16), nan(f16));
293
294 try testArgs(f16, -1e1, -nan(f16));
295 try testArgs(f16, -1e1, -inf(f16));
296 try testArgs(f16, -1e1, -fmax(f16));
297 try testArgs(f16, -1e1, -1e1);
298 try testArgs(f16, -1e1, -1e0);
299 try testArgs(f16, -1e1, -1e-1);
300 try testArgs(f16, -1e1, -fmin(f16));
301 try testArgs(f16, -1e1, -tmin(f16));
302 try testArgs(f16, -1e1, -0.0);
303 try testArgs(f16, -1e1, 0.0);
304 try testArgs(f16, -1e1, tmin(f16));
305 try testArgs(f16, -1e1, fmin(f16));
306 try testArgs(f16, -1e1, 1e-1);
307 try testArgs(f16, -1e1, 1e0);
308 try testArgs(f16, -1e1, 1e1);
309 try testArgs(f16, -1e1, fmax(f16));
310 try testArgs(f16, -1e1, inf(f16));
311 try testArgs(f16, -1e1, nan(f16));
312
313 try testArgs(f16, -1e0, -nan(f16));
314 try testArgs(f16, -1e0, -inf(f16));
315 try testArgs(f16, -1e0, -fmax(f16));
316 try testArgs(f16, -1e0, -1e1);
317 try testArgs(f16, -1e0, -1e0);
318 try testArgs(f16, -1e0, -1e-1);
319 try testArgs(f16, -1e0, -fmin(f16));
320 try testArgs(f16, -1e0, -tmin(f16));
321 try testArgs(f16, -1e0, -0.0);
322 try testArgs(f16, -1e0, 0.0);
323 try testArgs(f16, -1e0, tmin(f16));
324 try testArgs(f16, -1e0, fmin(f16));
325 try testArgs(f16, -1e0, 1e-1);
326 try testArgs(f16, -1e0, 1e0);
327 try testArgs(f16, -1e0, 1e1);
328 try testArgs(f16, -1e0, fmax(f16));
329 try testArgs(f16, -1e0, inf(f16));
330 try testArgs(f16, -1e0, nan(f16));
331
332 try testArgs(f16, -1e-1, -nan(f16));
333 try testArgs(f16, -1e-1, -inf(f16));
334 try testArgs(f16, -1e-1, -fmax(f16));
335 try testArgs(f16, -1e-1, -1e1);
336 try testArgs(f16, -1e-1, -1e0);
337 try testArgs(f16, -1e-1, -1e-1);
338 try testArgs(f16, -1e-1, -fmin(f16));
339 try testArgs(f16, -1e-1, -tmin(f16));
340 try testArgs(f16, -1e-1, -0.0);
341 try testArgs(f16, -1e-1, 0.0);
342 try testArgs(f16, -1e-1, tmin(f16));
343 try testArgs(f16, -1e-1, fmin(f16));
344 try testArgs(f16, -1e-1, 1e-1);
345 try testArgs(f16, -1e-1, 1e0);
346 try testArgs(f16, -1e-1, 1e1);
347 try testArgs(f16, -1e-1, fmax(f16));
348 try testArgs(f16, -1e-1, inf(f16));
349 try testArgs(f16, -1e-1, nan(f16));
350
351 try testArgs(f16, -fmin(f16), -nan(f16));
352 try testArgs(f16, -fmin(f16), -inf(f16));
353 try testArgs(f16, -fmin(f16), -fmax(f16));
354 try testArgs(f16, -fmin(f16), -1e1);
355 try testArgs(f16, -fmin(f16), -1e0);
356 try testArgs(f16, -fmin(f16), -1e-1);
357 try testArgs(f16, -fmin(f16), -fmin(f16));
358 try testArgs(f16, -fmin(f16), -tmin(f16));
359 try testArgs(f16, -fmin(f16), -0.0);
360 try testArgs(f16, -fmin(f16), 0.0);
361 try testArgs(f16, -fmin(f16), tmin(f16));
362 try testArgs(f16, -fmin(f16), fmin(f16));
363 try testArgs(f16, -fmin(f16), 1e-1);
364 try testArgs(f16, -fmin(f16), 1e0);
365 try testArgs(f16, -fmin(f16), 1e1);
366 try testArgs(f16, -fmin(f16), fmax(f16));
367 try testArgs(f16, -fmin(f16), inf(f16));
368 try testArgs(f16, -fmin(f16), nan(f16));
369
370 try testArgs(f16, -tmin(f16), -nan(f16));
371 try testArgs(f16, -tmin(f16), -inf(f16));
372 try testArgs(f16, -tmin(f16), -fmax(f16));
373 try testArgs(f16, -tmin(f16), -1e1);
374 try testArgs(f16, -tmin(f16), -1e0);
375 try testArgs(f16, -tmin(f16), -1e-1);
376 try testArgs(f16, -tmin(f16), -fmin(f16));
377 try testArgs(f16, -tmin(f16), -tmin(f16));
378 try testArgs(f16, -tmin(f16), -0.0);
379 try testArgs(f16, -tmin(f16), 0.0);
380 try testArgs(f16, -tmin(f16), tmin(f16));
381 try testArgs(f16, -tmin(f16), fmin(f16));
382 try testArgs(f16, -tmin(f16), 1e-1);
383 try testArgs(f16, -tmin(f16), 1e0);
384 try testArgs(f16, -tmin(f16), 1e1);
385 try testArgs(f16, -tmin(f16), fmax(f16));
386 try testArgs(f16, -tmin(f16), inf(f16));
387 try testArgs(f16, -tmin(f16), nan(f16));
388
389 try testArgs(f16, -0.0, -nan(f16));
390 try testArgs(f16, -0.0, -inf(f16));
391 try testArgs(f16, -0.0, -fmax(f16));
392 try testArgs(f16, -0.0, -1e1);
393 try testArgs(f16, -0.0, -1e0);
394 try testArgs(f16, -0.0, -1e-1);
395 try testArgs(f16, -0.0, -fmin(f16));
396 try testArgs(f16, -0.0, -tmin(f16));
397 try testArgs(f16, -0.0, -0.0);
398 try testArgs(f16, -0.0, 0.0);
399 try testArgs(f16, -0.0, tmin(f16));
400 try testArgs(f16, -0.0, fmin(f16));
401 try testArgs(f16, -0.0, 1e-1);
402 try testArgs(f16, -0.0, 1e0);
403 try testArgs(f16, -0.0, 1e1);
404 try testArgs(f16, -0.0, fmax(f16));
405 try testArgs(f16, -0.0, inf(f16));
406 try testArgs(f16, -0.0, nan(f16));
407
408 try testArgs(f16, 0.0, -nan(f16));
409 try testArgs(f16, 0.0, -inf(f16));
410 try testArgs(f16, 0.0, -fmax(f16));
411 try testArgs(f16, 0.0, -1e1);
412 try testArgs(f16, 0.0, -1e0);
413 try testArgs(f16, 0.0, -1e-1);
414 try testArgs(f16, 0.0, -fmin(f16));
415 try testArgs(f16, 0.0, -tmin(f16));
416 try testArgs(f16, 0.0, -0.0);
417 try testArgs(f16, 0.0, 0.0);
418 try testArgs(f16, 0.0, tmin(f16));
419 try testArgs(f16, 0.0, fmin(f16));
420 try testArgs(f16, 0.0, 1e-1);
421 try testArgs(f16, 0.0, 1e0);
422 try testArgs(f16, 0.0, 1e1);
423 try testArgs(f16, 0.0, fmax(f16));
424 try testArgs(f16, 0.0, inf(f16));
425 try testArgs(f16, 0.0, nan(f16));
426
427 try testArgs(f16, tmin(f16), -nan(f16));
428 try testArgs(f16, tmin(f16), -inf(f16));
429 try testArgs(f16, tmin(f16), -fmax(f16));
430 try testArgs(f16, tmin(f16), -1e1);
431 try testArgs(f16, tmin(f16), -1e0);
432 try testArgs(f16, tmin(f16), -1e-1);
433 try testArgs(f16, tmin(f16), -fmin(f16));
434 try testArgs(f16, tmin(f16), -tmin(f16));
435 try testArgs(f16, tmin(f16), -0.0);
436 try testArgs(f16, tmin(f16), 0.0);
437 try testArgs(f16, tmin(f16), tmin(f16));
438 try testArgs(f16, tmin(f16), fmin(f16));
439 try testArgs(f16, tmin(f16), 1e-1);
440 try testArgs(f16, tmin(f16), 1e0);
441 try testArgs(f16, tmin(f16), 1e1);
442 try testArgs(f16, tmin(f16), fmax(f16));
443 try testArgs(f16, tmin(f16), inf(f16));
444 try testArgs(f16, tmin(f16), nan(f16));
445
446 try testArgs(f16, fmin(f16), -nan(f16));
447 try testArgs(f16, fmin(f16), -inf(f16));
448 try testArgs(f16, fmin(f16), -fmax(f16));
449 try testArgs(f16, fmin(f16), -1e1);
450 try testArgs(f16, fmin(f16), -1e0);
451 try testArgs(f16, fmin(f16), -1e-1);
452 try testArgs(f16, fmin(f16), -fmin(f16));
453 try testArgs(f16, fmin(f16), -tmin(f16));
454 try testArgs(f16, fmin(f16), -0.0);
455 try testArgs(f16, fmin(f16), 0.0);
456 try testArgs(f16, fmin(f16), tmin(f16));
457 try testArgs(f16, fmin(f16), fmin(f16));
458 try testArgs(f16, fmin(f16), 1e-1);
459 try testArgs(f16, fmin(f16), 1e0);
460 try testArgs(f16, fmin(f16), 1e1);
461 try testArgs(f16, fmin(f16), fmax(f16));
462 try testArgs(f16, fmin(f16), inf(f16));
463 try testArgs(f16, fmin(f16), nan(f16));
464
465 try testArgs(f16, 1e-1, -nan(f16));
466 try testArgs(f16, 1e-1, -inf(f16));
467 try testArgs(f16, 1e-1, -fmax(f16));
468 try testArgs(f16, 1e-1, -1e1);
469 try testArgs(f16, 1e-1, -1e0);
470 try testArgs(f16, 1e-1, -1e-1);
471 try testArgs(f16, 1e-1, -fmin(f16));
472 try testArgs(f16, 1e-1, -tmin(f16));
473 try testArgs(f16, 1e-1, -0.0);
474 try testArgs(f16, 1e-1, 0.0);
475 try testArgs(f16, 1e-1, tmin(f16));
476 try testArgs(f16, 1e-1, fmin(f16));
477 try testArgs(f16, 1e-1, 1e-1);
478 try testArgs(f16, 1e-1, 1e0);
479 try testArgs(f16, 1e-1, 1e1);
480 try testArgs(f16, 1e-1, fmax(f16));
481 try testArgs(f16, 1e-1, inf(f16));
482 try testArgs(f16, 1e-1, nan(f16));
483
484 try testArgs(f16, 1e0, -nan(f16));
485 try testArgs(f16, 1e0, -inf(f16));
486 try testArgs(f16, 1e0, -fmax(f16));
487 try testArgs(f16, 1e0, -1e1);
488 try testArgs(f16, 1e0, -1e0);
489 try testArgs(f16, 1e0, -1e-1);
490 try testArgs(f16, 1e0, -fmin(f16));
491 try testArgs(f16, 1e0, -tmin(f16));
492 try testArgs(f16, 1e0, -0.0);
493 try testArgs(f16, 1e0, 0.0);
494 try testArgs(f16, 1e0, tmin(f16));
495 try testArgs(f16, 1e0, fmin(f16));
496 try testArgs(f16, 1e0, 1e-1);
497 try testArgs(f16, 1e0, 1e0);
498 try testArgs(f16, 1e0, 1e1);
499 try testArgs(f16, 1e0, fmax(f16));
500 try testArgs(f16, 1e0, inf(f16));
501 try testArgs(f16, 1e0, nan(f16));
502
503 try testArgs(f16, 1e1, -nan(f16));
504 try testArgs(f16, 1e1, -inf(f16));
505 try testArgs(f16, 1e1, -fmax(f16));
506 try testArgs(f16, 1e1, -1e1);
507 try testArgs(f16, 1e1, -1e0);
508 try testArgs(f16, 1e1, -1e-1);
509 try testArgs(f16, 1e1, -fmin(f16));
510 try testArgs(f16, 1e1, -tmin(f16));
511 try testArgs(f16, 1e1, -0.0);
512 try testArgs(f16, 1e1, 0.0);
513 try testArgs(f16, 1e1, tmin(f16));
514 try testArgs(f16, 1e1, fmin(f16));
515 try testArgs(f16, 1e1, 1e-1);
516 try testArgs(f16, 1e1, 1e0);
517 try testArgs(f16, 1e1, 1e1);
518 try testArgs(f16, 1e1, fmax(f16));
519 try testArgs(f16, 1e1, inf(f16));
520 try testArgs(f16, 1e1, nan(f16));
521
522 try testArgs(f16, fmax(f16), -nan(f16));
523 try testArgs(f16, fmax(f16), -inf(f16));
524 try testArgs(f16, fmax(f16), -fmax(f16));
525 try testArgs(f16, fmax(f16), -1e1);
526 try testArgs(f16, fmax(f16), -1e0);
527 try testArgs(f16, fmax(f16), -1e-1);
528 try testArgs(f16, fmax(f16), -fmin(f16));
529 try testArgs(f16, fmax(f16), -tmin(f16));
530 try testArgs(f16, fmax(f16), -0.0);
531 try testArgs(f16, fmax(f16), 0.0);
532 try testArgs(f16, fmax(f16), tmin(f16));
533 try testArgs(f16, fmax(f16), fmin(f16));
534 try testArgs(f16, fmax(f16), 1e-1);
535 try testArgs(f16, fmax(f16), 1e0);
536 try testArgs(f16, fmax(f16), 1e1);
537 try testArgs(f16, fmax(f16), fmax(f16));
538 try testArgs(f16, fmax(f16), inf(f16));
539 try testArgs(f16, fmax(f16), nan(f16));
540
541 try testArgs(f16, inf(f16), -nan(f16));
542 try testArgs(f16, inf(f16), -inf(f16));
543 try testArgs(f16, inf(f16), -fmax(f16));
544 try testArgs(f16, inf(f16), -1e1);
545 try testArgs(f16, inf(f16), -1e0);
546 try testArgs(f16, inf(f16), -1e-1);
547 try testArgs(f16, inf(f16), -fmin(f16));
548 try testArgs(f16, inf(f16), -tmin(f16));
549 try testArgs(f16, inf(f16), -0.0);
550 try testArgs(f16, inf(f16), 0.0);
551 try testArgs(f16, inf(f16), tmin(f16));
552 try testArgs(f16, inf(f16), fmin(f16));
553 try testArgs(f16, inf(f16), 1e-1);
554 try testArgs(f16, inf(f16), 1e0);
555 try testArgs(f16, inf(f16), 1e1);
556 try testArgs(f16, inf(f16), fmax(f16));
557 try testArgs(f16, inf(f16), inf(f16));
558 try testArgs(f16, inf(f16), nan(f16));
559
560 try testArgs(f16, nan(f16), -nan(f16));
561 try testArgs(f16, nan(f16), -inf(f16));
562 try testArgs(f16, nan(f16), -fmax(f16));
563 try testArgs(f16, nan(f16), -1e1);
564 try testArgs(f16, nan(f16), -1e0);
565 try testArgs(f16, nan(f16), -1e-1);
566 try testArgs(f16, nan(f16), -fmin(f16));
567 try testArgs(f16, nan(f16), -tmin(f16));
568 try testArgs(f16, nan(f16), -0.0);
569 try testArgs(f16, nan(f16), 0.0);
570 try testArgs(f16, nan(f16), tmin(f16));
571 try testArgs(f16, nan(f16), fmin(f16));
572 try testArgs(f16, nan(f16), 1e-1);
573 try testArgs(f16, nan(f16), 1e0);
574 try testArgs(f16, nan(f16), 1e1);
575 try testArgs(f16, nan(f16), fmax(f16));
576 try testArgs(f16, nan(f16), inf(f16));
577 try testArgs(f16, nan(f16), nan(f16));
578
579 try testArgs(f32, -nan(f32), -nan(f32));
580 try testArgs(f32, -nan(f32), -inf(f32));
581 try testArgs(f32, -nan(f32), -fmax(f32));
582 try testArgs(f32, -nan(f32), -1e1);
583 try testArgs(f32, -nan(f32), -1e0);
584 try testArgs(f32, -nan(f32), -1e-1);
585 try testArgs(f32, -nan(f32), -fmin(f32));
586 try testArgs(f32, -nan(f32), -tmin(f32));
587 try testArgs(f32, -nan(f32), -0.0);
588 try testArgs(f32, -nan(f32), 0.0);
589 try testArgs(f32, -nan(f32), tmin(f32));
590 try testArgs(f32, -nan(f32), fmin(f32));
591 try testArgs(f32, -nan(f32), 1e-1);
592 try testArgs(f32, -nan(f32), 1e0);
593 try testArgs(f32, -nan(f32), 1e1);
594 try testArgs(f32, -nan(f32), fmax(f32));
595 try testArgs(f32, -nan(f32), inf(f32));
596 try testArgs(f32, -nan(f32), nan(f32));
597
598 try testArgs(f32, -inf(f32), -nan(f32));
599 try testArgs(f32, -inf(f32), -inf(f32));
600 try testArgs(f32, -inf(f32), -fmax(f32));
601 try testArgs(f32, -inf(f32), -1e1);
602 try testArgs(f32, -inf(f32), -1e0);
603 try testArgs(f32, -inf(f32), -1e-1);
604 try testArgs(f32, -inf(f32), -fmin(f32));
605 try testArgs(f32, -inf(f32), -tmin(f32));
606 try testArgs(f32, -inf(f32), -0.0);
607 try testArgs(f32, -inf(f32), 0.0);
608 try testArgs(f32, -inf(f32), tmin(f32));
609 try testArgs(f32, -inf(f32), fmin(f32));
610 try testArgs(f32, -inf(f32), 1e-1);
611 try testArgs(f32, -inf(f32), 1e0);
612 try testArgs(f32, -inf(f32), 1e1);
613 try testArgs(f32, -inf(f32), fmax(f32));
614 try testArgs(f32, -inf(f32), inf(f32));
615 try testArgs(f32, -inf(f32), nan(f32));
616
617 try testArgs(f32, -fmax(f32), -nan(f32));
618 try testArgs(f32, -fmax(f32), -inf(f32));
619 try testArgs(f32, -fmax(f32), -fmax(f32));
620 try testArgs(f32, -fmax(f32), -1e1);
621 try testArgs(f32, -fmax(f32), -1e0);
622 try testArgs(f32, -fmax(f32), -1e-1);
623 try testArgs(f32, -fmax(f32), -fmin(f32));
624 try testArgs(f32, -fmax(f32), -tmin(f32));
625 try testArgs(f32, -fmax(f32), -0.0);
626 try testArgs(f32, -fmax(f32), 0.0);
627 try testArgs(f32, -fmax(f32), tmin(f32));
628 try testArgs(f32, -fmax(f32), fmin(f32));
629 try testArgs(f32, -fmax(f32), 1e-1);
630 try testArgs(f32, -fmax(f32), 1e0);
631 try testArgs(f32, -fmax(f32), 1e1);
632 try testArgs(f32, -fmax(f32), fmax(f32));
633 try testArgs(f32, -fmax(f32), inf(f32));
634 try testArgs(f32, -fmax(f32), nan(f32));
635
636 try testArgs(f32, -1e1, -nan(f32));
637 try testArgs(f32, -1e1, -inf(f32));
638 try testArgs(f32, -1e1, -fmax(f32));
639 try testArgs(f32, -1e1, -1e1);
640 try testArgs(f32, -1e1, -1e0);
641 try testArgs(f32, -1e1, -1e-1);
642 try testArgs(f32, -1e1, -fmin(f32));
643 try testArgs(f32, -1e1, -tmin(f32));
644 try testArgs(f32, -1e1, -0.0);
645 try testArgs(f32, -1e1, 0.0);
646 try testArgs(f32, -1e1, tmin(f32));
647 try testArgs(f32, -1e1, fmin(f32));
648 try testArgs(f32, -1e1, 1e-1);
649 try testArgs(f32, -1e1, 1e0);
650 try testArgs(f32, -1e1, 1e1);
651 try testArgs(f32, -1e1, fmax(f32));
652 try testArgs(f32, -1e1, inf(f32));
653 try testArgs(f32, -1e1, nan(f32));
654
655 try testArgs(f32, -1e0, -nan(f32));
656 try testArgs(f32, -1e0, -inf(f32));
657 try testArgs(f32, -1e0, -fmax(f32));
658 try testArgs(f32, -1e0, -1e1);
659 try testArgs(f32, -1e0, -1e0);
660 try testArgs(f32, -1e0, -1e-1);
661 try testArgs(f32, -1e0, -fmin(f32));
662 try testArgs(f32, -1e0, -tmin(f32));
663 try testArgs(f32, -1e0, -0.0);
664 try testArgs(f32, -1e0, 0.0);
665 try testArgs(f32, -1e0, tmin(f32));
666 try testArgs(f32, -1e0, fmin(f32));
667 try testArgs(f32, -1e0, 1e-1);
668 try testArgs(f32, -1e0, 1e0);
669 try testArgs(f32, -1e0, 1e1);
670 try testArgs(f32, -1e0, fmax(f32));
671 try testArgs(f32, -1e0, inf(f32));
672 try testArgs(f32, -1e0, nan(f32));
673
674 try testArgs(f32, -1e-1, -nan(f32));
675 try testArgs(f32, -1e-1, -inf(f32));
676 try testArgs(f32, -1e-1, -fmax(f32));
677 try testArgs(f32, -1e-1, -1e1);
678 try testArgs(f32, -1e-1, -1e0);
679 try testArgs(f32, -1e-1, -1e-1);
680 try testArgs(f32, -1e-1, -fmin(f32));
681 try testArgs(f32, -1e-1, -tmin(f32));
682 try testArgs(f32, -1e-1, -0.0);
683 try testArgs(f32, -1e-1, 0.0);
684 try testArgs(f32, -1e-1, tmin(f32));
685 try testArgs(f32, -1e-1, fmin(f32));
686 try testArgs(f32, -1e-1, 1e-1);
687 try testArgs(f32, -1e-1, 1e0);
688 try testArgs(f32, -1e-1, 1e1);
689 try testArgs(f32, -1e-1, fmax(f32));
690 try testArgs(f32, -1e-1, inf(f32));
691 try testArgs(f32, -1e-1, nan(f32));
692
693 try testArgs(f32, -fmin(f32), -nan(f32));
694 try testArgs(f32, -fmin(f32), -inf(f32));
695 try testArgs(f32, -fmin(f32), -fmax(f32));
696 try testArgs(f32, -fmin(f32), -1e1);
697 try testArgs(f32, -fmin(f32), -1e0);
698 try testArgs(f32, -fmin(f32), -1e-1);
699 try testArgs(f32, -fmin(f32), -fmin(f32));
700 try testArgs(f32, -fmin(f32), -tmin(f32));
701 try testArgs(f32, -fmin(f32), -0.0);
702 try testArgs(f32, -fmin(f32), 0.0);
703 try testArgs(f32, -fmin(f32), tmin(f32));
704 try testArgs(f32, -fmin(f32), fmin(f32));
705 try testArgs(f32, -fmin(f32), 1e-1);
706 try testArgs(f32, -fmin(f32), 1e0);
707 try testArgs(f32, -fmin(f32), 1e1);
708 try testArgs(f32, -fmin(f32), fmax(f32));
709 try testArgs(f32, -fmin(f32), inf(f32));
710 try testArgs(f32, -fmin(f32), nan(f32));
711
712 try testArgs(f32, -tmin(f32), -nan(f32));
713 try testArgs(f32, -tmin(f32), -inf(f32));
714 try testArgs(f32, -tmin(f32), -fmax(f32));
715 try testArgs(f32, -tmin(f32), -1e1);
716 try testArgs(f32, -tmin(f32), -1e0);
717 try testArgs(f32, -tmin(f32), -1e-1);
718 try testArgs(f32, -tmin(f32), -fmin(f32));
719 try testArgs(f32, -tmin(f32), -tmin(f32));
720 try testArgs(f32, -tmin(f32), -0.0);
721 try testArgs(f32, -tmin(f32), 0.0);
722 try testArgs(f32, -tmin(f32), tmin(f32));
723 try testArgs(f32, -tmin(f32), fmin(f32));
724 try testArgs(f32, -tmin(f32), 1e-1);
725 try testArgs(f32, -tmin(f32), 1e0);
726 try testArgs(f32, -tmin(f32), 1e1);
727 try testArgs(f32, -tmin(f32), fmax(f32));
728 try testArgs(f32, -tmin(f32), inf(f32));
729 try testArgs(f32, -tmin(f32), nan(f32));
730
731 try testArgs(f32, -0.0, -nan(f32));
732 try testArgs(f32, -0.0, -inf(f32));
733 try testArgs(f32, -0.0, -fmax(f32));
734 try testArgs(f32, -0.0, -1e1);
735 try testArgs(f32, -0.0, -1e0);
736 try testArgs(f32, -0.0, -1e-1);
737 try testArgs(f32, -0.0, -fmin(f32));
738 try testArgs(f32, -0.0, -tmin(f32));
739 try testArgs(f32, -0.0, -0.0);
740 try testArgs(f32, -0.0, 0.0);
741 try testArgs(f32, -0.0, tmin(f32));
742 try testArgs(f32, -0.0, fmin(f32));
743 try testArgs(f32, -0.0, 1e-1);
744 try testArgs(f32, -0.0, 1e0);
745 try testArgs(f32, -0.0, 1e1);
746 try testArgs(f32, -0.0, fmax(f32));
747 try testArgs(f32, -0.0, inf(f32));
748 try testArgs(f32, -0.0, nan(f32));
749
750 try testArgs(f32, 0.0, -nan(f32));
751 try testArgs(f32, 0.0, -inf(f32));
752 try testArgs(f32, 0.0, -fmax(f32));
753 try testArgs(f32, 0.0, -1e1);
754 try testArgs(f32, 0.0, -1e0);
755 try testArgs(f32, 0.0, -1e-1);
756 try testArgs(f32, 0.0, -fmin(f32));
757 try testArgs(f32, 0.0, -tmin(f32));
758 try testArgs(f32, 0.0, -0.0);
759 try testArgs(f32, 0.0, 0.0);
760 try testArgs(f32, 0.0, tmin(f32));
761 try testArgs(f32, 0.0, fmin(f32));
762 try testArgs(f32, 0.0, 1e-1);
763 try testArgs(f32, 0.0, 1e0);
764 try testArgs(f32, 0.0, 1e1);
765 try testArgs(f32, 0.0, fmax(f32));
766 try testArgs(f32, 0.0, inf(f32));
767 try testArgs(f32, 0.0, nan(f32));
768
769 try testArgs(f32, tmin(f32), -nan(f32));
770 try testArgs(f32, tmin(f32), -inf(f32));
771 try testArgs(f32, tmin(f32), -fmax(f32));
772 try testArgs(f32, tmin(f32), -1e1);
773 try testArgs(f32, tmin(f32), -1e0);
774 try testArgs(f32, tmin(f32), -1e-1);
775 try testArgs(f32, tmin(f32), -fmin(f32));
776 try testArgs(f32, tmin(f32), -tmin(f32));
777 try testArgs(f32, tmin(f32), -0.0);
778 try testArgs(f32, tmin(f32), 0.0);
779 try testArgs(f32, tmin(f32), tmin(f32));
780 try testArgs(f32, tmin(f32), fmin(f32));
781 try testArgs(f32, tmin(f32), 1e-1);
782 try testArgs(f32, tmin(f32), 1e0);
783 try testArgs(f32, tmin(f32), 1e1);
784 try testArgs(f32, tmin(f32), fmax(f32));
785 try testArgs(f32, tmin(f32), inf(f32));
786 try testArgs(f32, tmin(f32), nan(f32));
787
788 try testArgs(f32, fmin(f32), -nan(f32));
789 try testArgs(f32, fmin(f32), -inf(f32));
790 try testArgs(f32, fmin(f32), -fmax(f32));
791 try testArgs(f32, fmin(f32), -1e1);
792 try testArgs(f32, fmin(f32), -1e0);
793 try testArgs(f32, fmin(f32), -1e-1);
794 try testArgs(f32, fmin(f32), -fmin(f32));
795 try testArgs(f32, fmin(f32), -tmin(f32));
796 try testArgs(f32, fmin(f32), -0.0);
797 try testArgs(f32, fmin(f32), 0.0);
798 try testArgs(f32, fmin(f32), tmin(f32));
799 try testArgs(f32, fmin(f32), fmin(f32));
800 try testArgs(f32, fmin(f32), 1e-1);
801 try testArgs(f32, fmin(f32), 1e0);
802 try testArgs(f32, fmin(f32), 1e1);
803 try testArgs(f32, fmin(f32), fmax(f32));
804 try testArgs(f32, fmin(f32), inf(f32));
805 try testArgs(f32, fmin(f32), nan(f32));
806
807 try testArgs(f32, 1e-1, -nan(f32));
808 try testArgs(f32, 1e-1, -inf(f32));
809 try testArgs(f32, 1e-1, -fmax(f32));
810 try testArgs(f32, 1e-1, -1e1);
811 try testArgs(f32, 1e-1, -1e0);
812 try testArgs(f32, 1e-1, -1e-1);
813 try testArgs(f32, 1e-1, -fmin(f32));
814 try testArgs(f32, 1e-1, -tmin(f32));
815 try testArgs(f32, 1e-1, -0.0);
816 try testArgs(f32, 1e-1, 0.0);
817 try testArgs(f32, 1e-1, tmin(f32));
818 try testArgs(f32, 1e-1, fmin(f32));
819 try testArgs(f32, 1e-1, 1e-1);
820 try testArgs(f32, 1e-1, 1e0);
821 try testArgs(f32, 1e-1, 1e1);
822 try testArgs(f32, 1e-1, fmax(f32));
823 try testArgs(f32, 1e-1, inf(f32));
824 try testArgs(f32, 1e-1, nan(f32));
825
826 try testArgs(f32, 1e0, -nan(f32));
827 try testArgs(f32, 1e0, -inf(f32));
828 try testArgs(f32, 1e0, -fmax(f32));
829 try testArgs(f32, 1e0, -1e1);
830 try testArgs(f32, 1e0, -1e0);
831 try testArgs(f32, 1e0, -1e-1);
832 try testArgs(f32, 1e0, -fmin(f32));
833 try testArgs(f32, 1e0, -tmin(f32));
834 try testArgs(f32, 1e0, -0.0);
835 try testArgs(f32, 1e0, 0.0);
836 try testArgs(f32, 1e0, tmin(f32));
837 try testArgs(f32, 1e0, fmin(f32));
838 try testArgs(f32, 1e0, 1e-1);
839 try testArgs(f32, 1e0, 1e0);
840 try testArgs(f32, 1e0, 1e1);
841 try testArgs(f32, 1e0, fmax(f32));
842 try testArgs(f32, 1e0, inf(f32));
843 try testArgs(f32, 1e0, nan(f32));
844
845 try testArgs(f32, 1e1, -nan(f32));
846 try testArgs(f32, 1e1, -inf(f32));
847 try testArgs(f32, 1e1, -fmax(f32));
848 try testArgs(f32, 1e1, -1e1);
849 try testArgs(f32, 1e1, -1e0);
850 try testArgs(f32, 1e1, -1e-1);
851 try testArgs(f32, 1e1, -fmin(f32));
852 try testArgs(f32, 1e1, -tmin(f32));
853 try testArgs(f32, 1e1, -0.0);
854 try testArgs(f32, 1e1, 0.0);
855 try testArgs(f32, 1e1, tmin(f32));
856 try testArgs(f32, 1e1, fmin(f32));
857 try testArgs(f32, 1e1, 1e-1);
858 try testArgs(f32, 1e1, 1e0);
859 try testArgs(f32, 1e1, 1e1);
860 try testArgs(f32, 1e1, fmax(f32));
861 try testArgs(f32, 1e1, inf(f32));
862 try testArgs(f32, 1e1, nan(f32));
863
864 try testArgs(f32, fmax(f32), -nan(f32));
865 try testArgs(f32, fmax(f32), -inf(f32));
866 try testArgs(f32, fmax(f32), -fmax(f32));
867 try testArgs(f32, fmax(f32), -1e1);
868 try testArgs(f32, fmax(f32), -1e0);
869 try testArgs(f32, fmax(f32), -1e-1);
870 try testArgs(f32, fmax(f32), -fmin(f32));
871 try testArgs(f32, fmax(f32), -tmin(f32));
872 try testArgs(f32, fmax(f32), -0.0);
873 try testArgs(f32, fmax(f32), 0.0);
874 try testArgs(f32, fmax(f32), tmin(f32));
875 try testArgs(f32, fmax(f32), fmin(f32));
876 try testArgs(f32, fmax(f32), 1e-1);
877 try testArgs(f32, fmax(f32), 1e0);
878 try testArgs(f32, fmax(f32), 1e1);
879 try testArgs(f32, fmax(f32), fmax(f32));
880 try testArgs(f32, fmax(f32), inf(f32));
881 try testArgs(f32, fmax(f32), nan(f32));
882
883 try testArgs(f32, inf(f32), -nan(f32));
884 try testArgs(f32, inf(f32), -inf(f32));
885 try testArgs(f32, inf(f32), -fmax(f32));
886 try testArgs(f32, inf(f32), -1e1);
887 try testArgs(f32, inf(f32), -1e0);
888 try testArgs(f32, inf(f32), -1e-1);
889 try testArgs(f32, inf(f32), -fmin(f32));
890 try testArgs(f32, inf(f32), -tmin(f32));
891 try testArgs(f32, inf(f32), -0.0);
892 try testArgs(f32, inf(f32), 0.0);
893 try testArgs(f32, inf(f32), tmin(f32));
894 try testArgs(f32, inf(f32), fmin(f32));
895 try testArgs(f32, inf(f32), 1e-1);
896 try testArgs(f32, inf(f32), 1e0);
897 try testArgs(f32, inf(f32), 1e1);
898 try testArgs(f32, inf(f32), fmax(f32));
899 try testArgs(f32, inf(f32), inf(f32));
900 try testArgs(f32, inf(f32), nan(f32));
901
902 try testArgs(f32, nan(f32), -nan(f32));
903 try testArgs(f32, nan(f32), -inf(f32));
904 try testArgs(f32, nan(f32), -fmax(f32));
905 try testArgs(f32, nan(f32), -1e1);
906 try testArgs(f32, nan(f32), -1e0);
907 try testArgs(f32, nan(f32), -1e-1);
908 try testArgs(f32, nan(f32), -fmin(f32));
909 try testArgs(f32, nan(f32), -tmin(f32));
910 try testArgs(f32, nan(f32), -0.0);
911 try testArgs(f32, nan(f32), 0.0);
912 try testArgs(f32, nan(f32), tmin(f32));
913 try testArgs(f32, nan(f32), fmin(f32));
914 try testArgs(f32, nan(f32), 1e-1);
915 try testArgs(f32, nan(f32), 1e0);
916 try testArgs(f32, nan(f32), 1e1);
917 try testArgs(f32, nan(f32), fmax(f32));
918 try testArgs(f32, nan(f32), inf(f32));
919 try testArgs(f32, nan(f32), nan(f32));
920
921 try testArgs(f64, -nan(f64), -nan(f64));
922 try testArgs(f64, -nan(f64), -inf(f64));
923 try testArgs(f64, -nan(f64), -fmax(f64));
924 try testArgs(f64, -nan(f64), -1e1);
925 try testArgs(f64, -nan(f64), -1e0);
926 try testArgs(f64, -nan(f64), -1e-1);
927 try testArgs(f64, -nan(f64), -fmin(f64));
928 try testArgs(f64, -nan(f64), -tmin(f64));
929 try testArgs(f64, -nan(f64), -0.0);
930 try testArgs(f64, -nan(f64), 0.0);
931 try testArgs(f64, -nan(f64), tmin(f64));
932 try testArgs(f64, -nan(f64), fmin(f64));
933 try testArgs(f64, -nan(f64), 1e-1);
934 try testArgs(f64, -nan(f64), 1e0);
935 try testArgs(f64, -nan(f64), 1e1);
936 try testArgs(f64, -nan(f64), fmax(f64));
937 try testArgs(f64, -nan(f64), inf(f64));
938 try testArgs(f64, -nan(f64), nan(f64));
939
940 try testArgs(f64, -inf(f64), -nan(f64));
941 try testArgs(f64, -inf(f64), -inf(f64));
942 try testArgs(f64, -inf(f64), -fmax(f64));
943 try testArgs(f64, -inf(f64), -1e1);
944 try testArgs(f64, -inf(f64), -1e0);
945 try testArgs(f64, -inf(f64), -1e-1);
946 try testArgs(f64, -inf(f64), -fmin(f64));
947 try testArgs(f64, -inf(f64), -tmin(f64));
948 try testArgs(f64, -inf(f64), -0.0);
949 try testArgs(f64, -inf(f64), 0.0);
950 try testArgs(f64, -inf(f64), tmin(f64));
951 try testArgs(f64, -inf(f64), fmin(f64));
952 try testArgs(f64, -inf(f64), 1e-1);
953 try testArgs(f64, -inf(f64), 1e0);
954 try testArgs(f64, -inf(f64), 1e1);
955 try testArgs(f64, -inf(f64), fmax(f64));
956 try testArgs(f64, -inf(f64), inf(f64));
957 try testArgs(f64, -inf(f64), nan(f64));
958
959 try testArgs(f64, -fmax(f64), -nan(f64));
960 try testArgs(f64, -fmax(f64), -inf(f64));
961 try testArgs(f64, -fmax(f64), -fmax(f64));
962 try testArgs(f64, -fmax(f64), -1e1);
963 try testArgs(f64, -fmax(f64), -1e0);
964 try testArgs(f64, -fmax(f64), -1e-1);
965 try testArgs(f64, -fmax(f64), -fmin(f64));
966 try testArgs(f64, -fmax(f64), -tmin(f64));
967 try testArgs(f64, -fmax(f64), -0.0);
968 try testArgs(f64, -fmax(f64), 0.0);
969 try testArgs(f64, -fmax(f64), tmin(f64));
970 try testArgs(f64, -fmax(f64), fmin(f64));
971 try testArgs(f64, -fmax(f64), 1e-1);
972 try testArgs(f64, -fmax(f64), 1e0);
973 try testArgs(f64, -fmax(f64), 1e1);
974 try testArgs(f64, -fmax(f64), fmax(f64));
975 try testArgs(f64, -fmax(f64), inf(f64));
976 try testArgs(f64, -fmax(f64), nan(f64));
977
978 try testArgs(f64, -1e1, -nan(f64));
979 try testArgs(f64, -1e1, -inf(f64));
980 try testArgs(f64, -1e1, -fmax(f64));
981 try testArgs(f64, -1e1, -1e1);
982 try testArgs(f64, -1e1, -1e0);
983 try testArgs(f64, -1e1, -1e-1);
984 try testArgs(f64, -1e1, -fmin(f64));
985 try testArgs(f64, -1e1, -tmin(f64));
986 try testArgs(f64, -1e1, -0.0);
987 try testArgs(f64, -1e1, 0.0);
988 try testArgs(f64, -1e1, tmin(f64));
989 try testArgs(f64, -1e1, fmin(f64));
990 try testArgs(f64, -1e1, 1e-1);
991 try testArgs(f64, -1e1, 1e0);
992 try testArgs(f64, -1e1, 1e1);
993 try testArgs(f64, -1e1, fmax(f64));
994 try testArgs(f64, -1e1, inf(f64));
995 try testArgs(f64, -1e1, nan(f64));
996
997 try testArgs(f64, -1e0, -nan(f64));
998 try testArgs(f64, -1e0, -inf(f64));
999 try testArgs(f64, -1e0, -fmax(f64));
1000 try testArgs(f64, -1e0, -1e1);
1001 try testArgs(f64, -1e0, -1e0);
1002 try testArgs(f64, -1e0, -1e-1);
1003 try testArgs(f64, -1e0, -fmin(f64));
1004 try testArgs(f64, -1e0, -tmin(f64));
1005 try testArgs(f64, -1e0, -0.0);
1006 try testArgs(f64, -1e0, 0.0);
1007 try testArgs(f64, -1e0, tmin(f64));
1008 try testArgs(f64, -1e0, fmin(f64));
1009 try testArgs(f64, -1e0, 1e-1);
1010 try testArgs(f64, -1e0, 1e0);
1011 try testArgs(f64, -1e0, 1e1);
1012 try testArgs(f64, -1e0, fmax(f64));
1013 try testArgs(f64, -1e0, inf(f64));
1014 try testArgs(f64, -1e0, nan(f64));
1015
1016 try testArgs(f64, -1e-1, -nan(f64));
1017 try testArgs(f64, -1e-1, -inf(f64));
1018 try testArgs(f64, -1e-1, -fmax(f64));
1019 try testArgs(f64, -1e-1, -1e1);
1020 try testArgs(f64, -1e-1, -1e0);
1021 try testArgs(f64, -1e-1, -1e-1);
1022 try testArgs(f64, -1e-1, -fmin(f64));
1023 try testArgs(f64, -1e-1, -tmin(f64));
1024 try testArgs(f64, -1e-1, -0.0);
1025 try testArgs(f64, -1e-1, 0.0);
1026 try testArgs(f64, -1e-1, tmin(f64));
1027 try testArgs(f64, -1e-1, fmin(f64));
1028 try testArgs(f64, -1e-1, 1e-1);
1029 try testArgs(f64, -1e-1, 1e0);
1030 try testArgs(f64, -1e-1, 1e1);
1031 try testArgs(f64, -1e-1, fmax(f64));
1032 try testArgs(f64, -1e-1, inf(f64));
1033 try testArgs(f64, -1e-1, nan(f64));
1034
1035 try testArgs(f64, -fmin(f64), -nan(f64));
1036 try testArgs(f64, -fmin(f64), -inf(f64));
1037 try testArgs(f64, -fmin(f64), -fmax(f64));
1038 try testArgs(f64, -fmin(f64), -1e1);
1039 try testArgs(f64, -fmin(f64), -1e0);
1040 try testArgs(f64, -fmin(f64), -1e-1);
1041 try testArgs(f64, -fmin(f64), -fmin(f64));
1042 try testArgs(f64, -fmin(f64), -tmin(f64));
1043 try testArgs(f64, -fmin(f64), -0.0);
1044 try testArgs(f64, -fmin(f64), 0.0);
1045 try testArgs(f64, -fmin(f64), tmin(f64));
1046 try testArgs(f64, -fmin(f64), fmin(f64));
1047 try testArgs(f64, -fmin(f64), 1e-1);
1048 try testArgs(f64, -fmin(f64), 1e0);
1049 try testArgs(f64, -fmin(f64), 1e1);
1050 try testArgs(f64, -fmin(f64), fmax(f64));
1051 try testArgs(f64, -fmin(f64), inf(f64));
1052 try testArgs(f64, -fmin(f64), nan(f64));
1053
1054 try testArgs(f64, -tmin(f64), -nan(f64));
1055 try testArgs(f64, -tmin(f64), -inf(f64));
1056 try testArgs(f64, -tmin(f64), -fmax(f64));
1057 try testArgs(f64, -tmin(f64), -1e1);
1058 try testArgs(f64, -tmin(f64), -1e0);
1059 try testArgs(f64, -tmin(f64), -1e-1);
1060 try testArgs(f64, -tmin(f64), -fmin(f64));
1061 try testArgs(f64, -tmin(f64), -tmin(f64));
1062 try testArgs(f64, -tmin(f64), -0.0);
1063 try testArgs(f64, -tmin(f64), 0.0);
1064 try testArgs(f64, -tmin(f64), tmin(f64));
1065 try testArgs(f64, -tmin(f64), fmin(f64));
1066 try testArgs(f64, -tmin(f64), 1e-1);
1067 try testArgs(f64, -tmin(f64), 1e0);
1068 try testArgs(f64, -tmin(f64), 1e1);
1069 try testArgs(f64, -tmin(f64), fmax(f64));
1070 try testArgs(f64, -tmin(f64), inf(f64));
1071 try testArgs(f64, -tmin(f64), nan(f64));
1072
1073 try testArgs(f64, -0.0, -nan(f64));
1074 try testArgs(f64, -0.0, -inf(f64));
1075 try testArgs(f64, -0.0, -fmax(f64));
1076 try testArgs(f64, -0.0, -1e1);
1077 try testArgs(f64, -0.0, -1e0);
1078 try testArgs(f64, -0.0, -1e-1);
1079 try testArgs(f64, -0.0, -fmin(f64));
1080 try testArgs(f64, -0.0, -tmin(f64));
1081 try testArgs(f64, -0.0, -0.0);
1082 try testArgs(f64, -0.0, 0.0);
1083 try testArgs(f64, -0.0, tmin(f64));
1084 try testArgs(f64, -0.0, fmin(f64));
1085 try testArgs(f64, -0.0, 1e-1);
1086 try testArgs(f64, -0.0, 1e0);
1087 try testArgs(f64, -0.0, 1e1);
1088 try testArgs(f64, -0.0, fmax(f64));
1089 try testArgs(f64, -0.0, inf(f64));
1090 try testArgs(f64, -0.0, nan(f64));
1091
1092 try testArgs(f64, 0.0, -nan(f64));
1093 try testArgs(f64, 0.0, -inf(f64));
1094 try testArgs(f64, 0.0, -fmax(f64));
1095 try testArgs(f64, 0.0, -1e1);
1096 try testArgs(f64, 0.0, -1e0);
1097 try testArgs(f64, 0.0, -1e-1);
1098 try testArgs(f64, 0.0, -fmin(f64));
1099 try testArgs(f64, 0.0, -tmin(f64));
1100 try testArgs(f64, 0.0, -0.0);
1101 try testArgs(f64, 0.0, 0.0);
1102 try testArgs(f64, 0.0, tmin(f64));
1103 try testArgs(f64, 0.0, fmin(f64));
1104 try testArgs(f64, 0.0, 1e-1);
1105 try testArgs(f64, 0.0, 1e0);
1106 try testArgs(f64, 0.0, 1e1);
1107 try testArgs(f64, 0.0, fmax(f64));
1108 try testArgs(f64, 0.0, inf(f64));
1109 try testArgs(f64, 0.0, nan(f64));
1110
1111 try testArgs(f64, tmin(f64), -nan(f64));
1112 try testArgs(f64, tmin(f64), -inf(f64));
1113 try testArgs(f64, tmin(f64), -fmax(f64));
1114 try testArgs(f64, tmin(f64), -1e1);
1115 try testArgs(f64, tmin(f64), -1e0);
1116 try testArgs(f64, tmin(f64), -1e-1);
1117 try testArgs(f64, tmin(f64), -fmin(f64));
1118 try testArgs(f64, tmin(f64), -tmin(f64));
1119 try testArgs(f64, tmin(f64), -0.0);
1120 try testArgs(f64, tmin(f64), 0.0);
1121 try testArgs(f64, tmin(f64), tmin(f64));
1122 try testArgs(f64, tmin(f64), fmin(f64));
1123 try testArgs(f64, tmin(f64), 1e-1);
1124 try testArgs(f64, tmin(f64), 1e0);
1125 try testArgs(f64, tmin(f64), 1e1);
1126 try testArgs(f64, tmin(f64), fmax(f64));
1127 try testArgs(f64, tmin(f64), inf(f64));
1128 try testArgs(f64, tmin(f64), nan(f64));
1129
1130 try testArgs(f64, fmin(f64), -nan(f64));
1131 try testArgs(f64, fmin(f64), -inf(f64));
1132 try testArgs(f64, fmin(f64), -fmax(f64));
1133 try testArgs(f64, fmin(f64), -1e1);
1134 try testArgs(f64, fmin(f64), -1e0);
1135 try testArgs(f64, fmin(f64), -1e-1);
1136 try testArgs(f64, fmin(f64), -fmin(f64));
1137 try testArgs(f64, fmin(f64), -tmin(f64));
1138 try testArgs(f64, fmin(f64), -0.0);
1139 try testArgs(f64, fmin(f64), 0.0);
1140 try testArgs(f64, fmin(f64), tmin(f64));
1141 try testArgs(f64, fmin(f64), fmin(f64));
1142 try testArgs(f64, fmin(f64), 1e-1);
1143 try testArgs(f64, fmin(f64), 1e0);
1144 try testArgs(f64, fmin(f64), 1e1);
1145 try testArgs(f64, fmin(f64), fmax(f64));
1146 try testArgs(f64, fmin(f64), inf(f64));
1147 try testArgs(f64, fmin(f64), nan(f64));
1148
1149 try testArgs(f64, 1e-1, -nan(f64));
1150 try testArgs(f64, 1e-1, -inf(f64));
1151 try testArgs(f64, 1e-1, -fmax(f64));
1152 try testArgs(f64, 1e-1, -1e1);
1153 try testArgs(f64, 1e-1, -1e0);
1154 try testArgs(f64, 1e-1, -1e-1);
1155 try testArgs(f64, 1e-1, -fmin(f64));
1156 try testArgs(f64, 1e-1, -tmin(f64));
1157 try testArgs(f64, 1e-1, -0.0);
1158 try testArgs(f64, 1e-1, 0.0);
1159 try testArgs(f64, 1e-1, tmin(f64));
1160 try testArgs(f64, 1e-1, fmin(f64));
1161 try testArgs(f64, 1e-1, 1e-1);
1162 try testArgs(f64, 1e-1, 1e0);
1163 try testArgs(f64, 1e-1, 1e1);
1164 try testArgs(f64, 1e-1, fmax(f64));
1165 try testArgs(f64, 1e-1, inf(f64));
1166 try testArgs(f64, 1e-1, nan(f64));
1167
1168 try testArgs(f64, 1e0, -nan(f64));
1169 try testArgs(f64, 1e0, -inf(f64));
1170 try testArgs(f64, 1e0, -fmax(f64));
1171 try testArgs(f64, 1e0, -1e1);
1172 try testArgs(f64, 1e0, -1e0);
1173 try testArgs(f64, 1e0, -1e-1);
1174 try testArgs(f64, 1e0, -fmin(f64));
1175 try testArgs(f64, 1e0, -tmin(f64));
1176 try testArgs(f64, 1e0, -0.0);
1177 try testArgs(f64, 1e0, 0.0);
1178 try testArgs(f64, 1e0, tmin(f64));
1179 try testArgs(f64, 1e0, fmin(f64));
1180 try testArgs(f64, 1e0, 1e-1);
1181 try testArgs(f64, 1e0, 1e0);
1182 try testArgs(f64, 1e0, 1e1);
1183 try testArgs(f64, 1e0, fmax(f64));
1184 try testArgs(f64, 1e0, inf(f64));
1185 try testArgs(f64, 1e0, nan(f64));
1186
1187 try testArgs(f64, 1e1, -nan(f64));
1188 try testArgs(f64, 1e1, -inf(f64));
1189 try testArgs(f64, 1e1, -fmax(f64));
1190 try testArgs(f64, 1e1, -1e1);
1191 try testArgs(f64, 1e1, -1e0);
1192 try testArgs(f64, 1e1, -1e-1);
1193 try testArgs(f64, 1e1, -fmin(f64));
1194 try testArgs(f64, 1e1, -tmin(f64));
1195 try testArgs(f64, 1e1, -0.0);
1196 try testArgs(f64, 1e1, 0.0);
1197 try testArgs(f64, 1e1, tmin(f64));
1198 try testArgs(f64, 1e1, fmin(f64));
1199 try testArgs(f64, 1e1, 1e-1);
1200 try testArgs(f64, 1e1, 1e0);
1201 try testArgs(f64, 1e1, 1e1);
1202 try testArgs(f64, 1e1, fmax(f64));
1203 try testArgs(f64, 1e1, inf(f64));
1204 try testArgs(f64, 1e1, nan(f64));
1205
1206 try testArgs(f64, fmax(f64), -nan(f64));
1207 try testArgs(f64, fmax(f64), -inf(f64));
1208 try testArgs(f64, fmax(f64), -fmax(f64));
1209 try testArgs(f64, fmax(f64), -1e1);
1210 try testArgs(f64, fmax(f64), -1e0);
1211 try testArgs(f64, fmax(f64), -1e-1);
1212 try testArgs(f64, fmax(f64), -fmin(f64));
1213 try testArgs(f64, fmax(f64), -tmin(f64));
1214 try testArgs(f64, fmax(f64), -0.0);
1215 try testArgs(f64, fmax(f64), 0.0);
1216 try testArgs(f64, fmax(f64), tmin(f64));
1217 try testArgs(f64, fmax(f64), fmin(f64));
1218 try testArgs(f64, fmax(f64), 1e-1);
1219 try testArgs(f64, fmax(f64), 1e0);
1220 try testArgs(f64, fmax(f64), 1e1);
1221 try testArgs(f64, fmax(f64), fmax(f64));
1222 try testArgs(f64, fmax(f64), inf(f64));
1223 try testArgs(f64, fmax(f64), nan(f64));
1224
1225 try testArgs(f64, inf(f64), -nan(f64));
1226 try testArgs(f64, inf(f64), -inf(f64));
1227 try testArgs(f64, inf(f64), -fmax(f64));
1228 try testArgs(f64, inf(f64), -1e1);
1229 try testArgs(f64, inf(f64), -1e0);
1230 try testArgs(f64, inf(f64), -1e-1);
1231 try testArgs(f64, inf(f64), -fmin(f64));
1232 try testArgs(f64, inf(f64), -tmin(f64));
1233 try testArgs(f64, inf(f64), -0.0);
1234 try testArgs(f64, inf(f64), 0.0);
1235 try testArgs(f64, inf(f64), tmin(f64));
1236 try testArgs(f64, inf(f64), fmin(f64));
1237 try testArgs(f64, inf(f64), 1e-1);
1238 try testArgs(f64, inf(f64), 1e0);
1239 try testArgs(f64, inf(f64), 1e1);
1240 try testArgs(f64, inf(f64), fmax(f64));
1241 try testArgs(f64, inf(f64), inf(f64));
1242 try testArgs(f64, inf(f64), nan(f64));
1243
1244 try testArgs(f64, nan(f64), -nan(f64));
1245 try testArgs(f64, nan(f64), -inf(f64));
1246 try testArgs(f64, nan(f64), -fmax(f64));
1247 try testArgs(f64, nan(f64), -1e1);
1248 try testArgs(f64, nan(f64), -1e0);
1249 try testArgs(f64, nan(f64), -1e-1);
1250 try testArgs(f64, nan(f64), -fmin(f64));
1251 try testArgs(f64, nan(f64), -tmin(f64));
1252 try testArgs(f64, nan(f64), -0.0);
1253 try testArgs(f64, nan(f64), 0.0);
1254 try testArgs(f64, nan(f64), tmin(f64));
1255 try testArgs(f64, nan(f64), fmin(f64));
1256 try testArgs(f64, nan(f64), 1e-1);
1257 try testArgs(f64, nan(f64), 1e0);
1258 try testArgs(f64, nan(f64), 1e1);
1259 try testArgs(f64, nan(f64), fmax(f64));
1260 try testArgs(f64, nan(f64), inf(f64));
1261 try testArgs(f64, nan(f64), nan(f64));
1262
1263 try testArgs(f80, -nan(f80), -nan(f80));
1264 try testArgs(f80, -nan(f80), -inf(f80));
1265 try testArgs(f80, -nan(f80), -fmax(f80));
1266 try testArgs(f80, -nan(f80), -1e1);
1267 try testArgs(f80, -nan(f80), -1e0);
1268 try testArgs(f80, -nan(f80), -1e-1);
1269 try testArgs(f80, -nan(f80), -fmin(f80));
1270 try testArgs(f80, -nan(f80), -tmin(f80));
1271 try testArgs(f80, -nan(f80), -0.0);
1272 try testArgs(f80, -nan(f80), 0.0);
1273 try testArgs(f80, -nan(f80), tmin(f80));
1274 try testArgs(f80, -nan(f80), fmin(f80));
1275 try testArgs(f80, -nan(f80), 1e-1);
1276 try testArgs(f80, -nan(f80), 1e0);
1277 try testArgs(f80, -nan(f80), 1e1);
1278 try testArgs(f80, -nan(f80), fmax(f80));
1279 try testArgs(f80, -nan(f80), inf(f80));
1280 try testArgs(f80, -nan(f80), nan(f80));
1281
1282 try testArgs(f80, -inf(f80), -nan(f80));
1283 try testArgs(f80, -inf(f80), -inf(f80));
1284 try testArgs(f80, -inf(f80), -fmax(f80));
1285 try testArgs(f80, -inf(f80), -1e1);
1286 try testArgs(f80, -inf(f80), -1e0);
1287 try testArgs(f80, -inf(f80), -1e-1);
1288 try testArgs(f80, -inf(f80), -fmin(f80));
1289 try testArgs(f80, -inf(f80), -tmin(f80));
1290 try testArgs(f80, -inf(f80), -0.0);
1291 try testArgs(f80, -inf(f80), 0.0);
1292 try testArgs(f80, -inf(f80), tmin(f80));
1293 try testArgs(f80, -inf(f80), fmin(f80));
1294 try testArgs(f80, -inf(f80), 1e-1);
1295 try testArgs(f80, -inf(f80), 1e0);
1296 try testArgs(f80, -inf(f80), 1e1);
1297 try testArgs(f80, -inf(f80), fmax(f80));
1298 try testArgs(f80, -inf(f80), inf(f80));
1299 try testArgs(f80, -inf(f80), nan(f80));
1300
1301 try testArgs(f80, -fmax(f80), -nan(f80));
1302 try testArgs(f80, -fmax(f80), -inf(f80));
1303 try testArgs(f80, -fmax(f80), -fmax(f80));
1304 try testArgs(f80, -fmax(f80), -1e1);
1305 try testArgs(f80, -fmax(f80), -1e0);
1306 try testArgs(f80, -fmax(f80), -1e-1);
1307 try testArgs(f80, -fmax(f80), -fmin(f80));
1308 try testArgs(f80, -fmax(f80), -tmin(f80));
1309 try testArgs(f80, -fmax(f80), -0.0);
1310 try testArgs(f80, -fmax(f80), 0.0);
1311 try testArgs(f80, -fmax(f80), tmin(f80));
1312 try testArgs(f80, -fmax(f80), fmin(f80));
1313 try testArgs(f80, -fmax(f80), 1e-1);
1314 try testArgs(f80, -fmax(f80), 1e0);
1315 try testArgs(f80, -fmax(f80), 1e1);
1316 try testArgs(f80, -fmax(f80), fmax(f80));
1317 try testArgs(f80, -fmax(f80), inf(f80));
1318 try testArgs(f80, -fmax(f80), nan(f80));
1319
1320 try testArgs(f80, -1e1, -nan(f80));
1321 try testArgs(f80, -1e1, -inf(f80));
1322 try testArgs(f80, -1e1, -fmax(f80));
1323 try testArgs(f80, -1e1, -1e1);
1324 try testArgs(f80, -1e1, -1e0);
1325 try testArgs(f80, -1e1, -1e-1);
1326 try testArgs(f80, -1e1, -fmin(f80));
1327 try testArgs(f80, -1e1, -tmin(f80));
1328 try testArgs(f80, -1e1, -0.0);
1329 try testArgs(f80, -1e1, 0.0);
1330 try testArgs(f80, -1e1, tmin(f80));
1331 try testArgs(f80, -1e1, fmin(f80));
1332 try testArgs(f80, -1e1, 1e-1);
1333 try testArgs(f80, -1e1, 1e0);
1334 try testArgs(f80, -1e1, 1e1);
1335 try testArgs(f80, -1e1, fmax(f80));
1336 try testArgs(f80, -1e1, inf(f80));
1337 try testArgs(f80, -1e1, nan(f80));
1338
1339 try testArgs(f80, -1e0, -nan(f80));
1340 try testArgs(f80, -1e0, -inf(f80));
1341 try testArgs(f80, -1e0, -fmax(f80));
1342 try testArgs(f80, -1e0, -1e1);
1343 try testArgs(f80, -1e0, -1e0);
1344 try testArgs(f80, -1e0, -1e-1);
1345 try testArgs(f80, -1e0, -fmin(f80));
1346 try testArgs(f80, -1e0, -tmin(f80));
1347 try testArgs(f80, -1e0, -0.0);
1348 try testArgs(f80, -1e0, 0.0);
1349 try testArgs(f80, -1e0, tmin(f80));
1350 try testArgs(f80, -1e0, fmin(f80));
1351 try testArgs(f80, -1e0, 1e-1);
1352 try testArgs(f80, -1e0, 1e0);
1353 try testArgs(f80, -1e0, 1e1);
1354 try testArgs(f80, -1e0, fmax(f80));
1355 try testArgs(f80, -1e0, inf(f80));
1356 try testArgs(f80, -1e0, nan(f80));
1357
1358 try testArgs(f80, -1e-1, -nan(f80));
1359 try testArgs(f80, -1e-1, -inf(f80));
1360 try testArgs(f80, -1e-1, -fmax(f80));
1361 try testArgs(f80, -1e-1, -1e1);
1362 try testArgs(f80, -1e-1, -1e0);
1363 try testArgs(f80, -1e-1, -1e-1);
1364 try testArgs(f80, -1e-1, -fmin(f80));
1365 try testArgs(f80, -1e-1, -tmin(f80));
1366 try testArgs(f80, -1e-1, -0.0);
1367 try testArgs(f80, -1e-1, 0.0);
1368 try testArgs(f80, -1e-1, tmin(f80));
1369 try testArgs(f80, -1e-1, fmin(f80));
1370 try testArgs(f80, -1e-1, 1e-1);
1371 try testArgs(f80, -1e-1, 1e0);
1372 try testArgs(f80, -1e-1, 1e1);
1373 try testArgs(f80, -1e-1, fmax(f80));
1374 try testArgs(f80, -1e-1, inf(f80));
1375 try testArgs(f80, -1e-1, nan(f80));
1376
1377 try testArgs(f80, -fmin(f80), -nan(f80));
1378 try testArgs(f80, -fmin(f80), -inf(f80));
1379 try testArgs(f80, -fmin(f80), -fmax(f80));
1380 try testArgs(f80, -fmin(f80), -1e1);
1381 try testArgs(f80, -fmin(f80), -1e0);
1382 try testArgs(f80, -fmin(f80), -1e-1);
1383 try testArgs(f80, -fmin(f80), -fmin(f80));
1384 try testArgs(f80, -fmin(f80), -tmin(f80));
1385 try testArgs(f80, -fmin(f80), -0.0);
1386 try testArgs(f80, -fmin(f80), 0.0);
1387 try testArgs(f80, -fmin(f80), tmin(f80));
1388 try testArgs(f80, -fmin(f80), fmin(f80));
1389 try testArgs(f80, -fmin(f80), 1e-1);
1390 try testArgs(f80, -fmin(f80), 1e0);
1391 try testArgs(f80, -fmin(f80), 1e1);
1392 try testArgs(f80, -fmin(f80), fmax(f80));
1393 try testArgs(f80, -fmin(f80), inf(f80));
1394 try testArgs(f80, -fmin(f80), nan(f80));
1395
1396 try testArgs(f80, -tmin(f80), -nan(f80));
1397 try testArgs(f80, -tmin(f80), -inf(f80));
1398 try testArgs(f80, -tmin(f80), -fmax(f80));
1399 try testArgs(f80, -tmin(f80), -1e1);
1400 try testArgs(f80, -tmin(f80), -1e0);
1401 try testArgs(f80, -tmin(f80), -1e-1);
1402 try testArgs(f80, -tmin(f80), -fmin(f80));
1403 try testArgs(f80, -tmin(f80), -tmin(f80));
1404 try testArgs(f80, -tmin(f80), -0.0);
1405 try testArgs(f80, -tmin(f80), 0.0);
1406 try testArgs(f80, -tmin(f80), tmin(f80));
1407 try testArgs(f80, -tmin(f80), fmin(f80));
1408 try testArgs(f80, -tmin(f80), 1e-1);
1409 try testArgs(f80, -tmin(f80), 1e0);
1410 try testArgs(f80, -tmin(f80), 1e1);
1411 try testArgs(f80, -tmin(f80), fmax(f80));
1412 try testArgs(f80, -tmin(f80), inf(f80));
1413 try testArgs(f80, -tmin(f80), nan(f80));
1414
1415 try testArgs(f80, -0.0, -nan(f80));
1416 try testArgs(f80, -0.0, -inf(f80));
1417 try testArgs(f80, -0.0, -fmax(f80));
1418 try testArgs(f80, -0.0, -1e1);
1419 try testArgs(f80, -0.0, -1e0);
1420 try testArgs(f80, -0.0, -1e-1);
1421 try testArgs(f80, -0.0, -fmin(f80));
1422 try testArgs(f80, -0.0, -tmin(f80));
1423 try testArgs(f80, -0.0, -0.0);
1424 try testArgs(f80, -0.0, 0.0);
1425 try testArgs(f80, -0.0, tmin(f80));
1426 try testArgs(f80, -0.0, fmin(f80));
1427 try testArgs(f80, -0.0, 1e-1);
1428 try testArgs(f80, -0.0, 1e0);
1429 try testArgs(f80, -0.0, 1e1);
1430 try testArgs(f80, -0.0, fmax(f80));
1431 try testArgs(f80, -0.0, inf(f80));
1432 try testArgs(f80, -0.0, nan(f80));
1433
1434 try testArgs(f80, 0.0, -nan(f80));
1435 try testArgs(f80, 0.0, -inf(f80));
1436 try testArgs(f80, 0.0, -fmax(f80));
1437 try testArgs(f80, 0.0, -1e1);
1438 try testArgs(f80, 0.0, -1e0);
1439 try testArgs(f80, 0.0, -1e-1);
1440 try testArgs(f80, 0.0, -fmin(f80));
1441 try testArgs(f80, 0.0, -tmin(f80));
1442 try testArgs(f80, 0.0, -0.0);
1443 try testArgs(f80, 0.0, 0.0);
1444 try testArgs(f80, 0.0, tmin(f80));
1445 try testArgs(f80, 0.0, fmin(f80));
1446 try testArgs(f80, 0.0, 1e-1);
1447 try testArgs(f80, 0.0, 1e0);
1448 try testArgs(f80, 0.0, 1e1);
1449 try testArgs(f80, 0.0, fmax(f80));
1450 try testArgs(f80, 0.0, inf(f80));
1451 try testArgs(f80, 0.0, nan(f80));
1452
1453 try testArgs(f80, tmin(f80), -nan(f80));
1454 try testArgs(f80, tmin(f80), -inf(f80));
1455 try testArgs(f80, tmin(f80), -fmax(f80));
1456 try testArgs(f80, tmin(f80), -1e1);
1457 try testArgs(f80, tmin(f80), -1e0);
1458 try testArgs(f80, tmin(f80), -1e-1);
1459 try testArgs(f80, tmin(f80), -fmin(f80));
1460 try testArgs(f80, tmin(f80), -tmin(f80));
1461 try testArgs(f80, tmin(f80), -0.0);
1462 try testArgs(f80, tmin(f80), 0.0);
1463 try testArgs(f80, tmin(f80), tmin(f80));
1464 try testArgs(f80, tmin(f80), fmin(f80));
1465 try testArgs(f80, tmin(f80), 1e-1);
1466 try testArgs(f80, tmin(f80), 1e0);
1467 try testArgs(f80, tmin(f80), 1e1);
1468 try testArgs(f80, tmin(f80), fmax(f80));
1469 try testArgs(f80, tmin(f80), inf(f80));
1470 try testArgs(f80, tmin(f80), nan(f80));
1471
1472 try testArgs(f80, fmin(f80), -nan(f80));
1473 try testArgs(f80, fmin(f80), -inf(f80));
1474 try testArgs(f80, fmin(f80), -fmax(f80));
1475 try testArgs(f80, fmin(f80), -1e1);
1476 try testArgs(f80, fmin(f80), -1e0);
1477 try testArgs(f80, fmin(f80), -1e-1);
1478 try testArgs(f80, fmin(f80), -fmin(f80));
1479 try testArgs(f80, fmin(f80), -tmin(f80));
1480 try testArgs(f80, fmin(f80), -0.0);
1481 try testArgs(f80, fmin(f80), 0.0);
1482 try testArgs(f80, fmin(f80), tmin(f80));
1483 try testArgs(f80, fmin(f80), fmin(f80));
1484 try testArgs(f80, fmin(f80), 1e-1);
1485 try testArgs(f80, fmin(f80), 1e0);
1486 try testArgs(f80, fmin(f80), 1e1);
1487 try testArgs(f80, fmin(f80), fmax(f80));
1488 try testArgs(f80, fmin(f80), inf(f80));
1489 try testArgs(f80, fmin(f80), nan(f80));
1490
1491 try testArgs(f80, 1e-1, -nan(f80));
1492 try testArgs(f80, 1e-1, -inf(f80));
1493 try testArgs(f80, 1e-1, -fmax(f80));
1494 try testArgs(f80, 1e-1, -1e1);
1495 try testArgs(f80, 1e-1, -1e0);
1496 try testArgs(f80, 1e-1, -1e-1);
1497 try testArgs(f80, 1e-1, -fmin(f80));
1498 try testArgs(f80, 1e-1, -tmin(f80));
1499 try testArgs(f80, 1e-1, -0.0);
1500 try testArgs(f80, 1e-1, 0.0);
1501 try testArgs(f80, 1e-1, tmin(f80));
1502 try testArgs(f80, 1e-1, fmin(f80));
1503 try testArgs(f80, 1e-1, 1e-1);
1504 try testArgs(f80, 1e-1, 1e0);
1505 try testArgs(f80, 1e-1, 1e1);
1506 try testArgs(f80, 1e-1, fmax(f80));
1507 try testArgs(f80, 1e-1, inf(f80));
1508 try testArgs(f80, 1e-1, nan(f80));
1509
1510 try testArgs(f80, 1e0, -nan(f80));
1511 try testArgs(f80, 1e0, -inf(f80));
1512 try testArgs(f80, 1e0, -fmax(f80));
1513 try testArgs(f80, 1e0, -1e1);
1514 try testArgs(f80, 1e0, -1e0);
1515 try testArgs(f80, 1e0, -1e-1);
1516 try testArgs(f80, 1e0, -fmin(f80));
1517 try testArgs(f80, 1e0, -tmin(f80));
1518 try testArgs(f80, 1e0, -0.0);
1519 try testArgs(f80, 1e0, 0.0);
1520 try testArgs(f80, 1e0, tmin(f80));
1521 try testArgs(f80, 1e0, fmin(f80));
1522 try testArgs(f80, 1e0, 1e-1);
1523 try testArgs(f80, 1e0, 1e0);
1524 try testArgs(f80, 1e0, 1e1);
1525 try testArgs(f80, 1e0, fmax(f80));
1526 try testArgs(f80, 1e0, inf(f80));
1527 try testArgs(f80, 1e0, nan(f80));
1528
1529 try testArgs(f80, 1e1, -nan(f80));
1530 try testArgs(f80, 1e1, -inf(f80));
1531 try testArgs(f80, 1e1, -fmax(f80));
1532 try testArgs(f80, 1e1, -1e1);
1533 try testArgs(f80, 1e1, -1e0);
1534 try testArgs(f80, 1e1, -1e-1);
1535 try testArgs(f80, 1e1, -fmin(f80));
1536 try testArgs(f80, 1e1, -tmin(f80));
1537 try testArgs(f80, 1e1, -0.0);
1538 try testArgs(f80, 1e1, 0.0);
1539 try testArgs(f80, 1e1, tmin(f80));
1540 try testArgs(f80, 1e1, fmin(f80));
1541 try testArgs(f80, 1e1, 1e-1);
1542 try testArgs(f80, 1e1, 1e0);
1543 try testArgs(f80, 1e1, 1e1);
1544 try testArgs(f80, 1e1, fmax(f80));
1545 try testArgs(f80, 1e1, inf(f80));
1546 try testArgs(f80, 1e1, nan(f80));
1547
1548 try testArgs(f80, fmax(f80), -nan(f80));
1549 try testArgs(f80, fmax(f80), -inf(f80));
1550 try testArgs(f80, fmax(f80), -fmax(f80));
1551 try testArgs(f80, fmax(f80), -1e1);
1552 try testArgs(f80, fmax(f80), -1e0);
1553 try testArgs(f80, fmax(f80), -1e-1);
1554 try testArgs(f80, fmax(f80), -fmin(f80));
1555 try testArgs(f80, fmax(f80), -tmin(f80));
1556 try testArgs(f80, fmax(f80), -0.0);
1557 try testArgs(f80, fmax(f80), 0.0);
1558 try testArgs(f80, fmax(f80), tmin(f80));
1559 try testArgs(f80, fmax(f80), fmin(f80));
1560 try testArgs(f80, fmax(f80), 1e-1);
1561 try testArgs(f80, fmax(f80), 1e0);
1562 try testArgs(f80, fmax(f80), 1e1);
1563 try testArgs(f80, fmax(f80), fmax(f80));
1564 try testArgs(f80, fmax(f80), inf(f80));
1565 try testArgs(f80, fmax(f80), nan(f80));
1566
1567 try testArgs(f80, inf(f80), -nan(f80));
1568 try testArgs(f80, inf(f80), -inf(f80));
1569 try testArgs(f80, inf(f80), -fmax(f80));
1570 try testArgs(f80, inf(f80), -1e1);
1571 try testArgs(f80, inf(f80), -1e0);
1572 try testArgs(f80, inf(f80), -1e-1);
1573 try testArgs(f80, inf(f80), -fmin(f80));
1574 try testArgs(f80, inf(f80), -tmin(f80));
1575 try testArgs(f80, inf(f80), -0.0);
1576 try testArgs(f80, inf(f80), 0.0);
1577 try testArgs(f80, inf(f80), tmin(f80));
1578 try testArgs(f80, inf(f80), fmin(f80));
1579 try testArgs(f80, inf(f80), 1e-1);
1580 try testArgs(f80, inf(f80), 1e0);
1581 try testArgs(f80, inf(f80), 1e1);
1582 try testArgs(f80, inf(f80), fmax(f80));
1583 try testArgs(f80, inf(f80), inf(f80));
1584 try testArgs(f80, inf(f80), nan(f80));
1585
1586 try testArgs(f80, nan(f80), -nan(f80));
1587 try testArgs(f80, nan(f80), -inf(f80));
1588 try testArgs(f80, nan(f80), -fmax(f80));
1589 try testArgs(f80, nan(f80), -1e1);
1590 try testArgs(f80, nan(f80), -1e0);
1591 try testArgs(f80, nan(f80), -1e-1);
1592 try testArgs(f80, nan(f80), -fmin(f80));
1593 try testArgs(f80, nan(f80), -tmin(f80));
1594 try testArgs(f80, nan(f80), -0.0);
1595 try testArgs(f80, nan(f80), 0.0);
1596 try testArgs(f80, nan(f80), tmin(f80));
1597 try testArgs(f80, nan(f80), fmin(f80));
1598 try testArgs(f80, nan(f80), 1e-1);
1599 try testArgs(f80, nan(f80), 1e0);
1600 try testArgs(f80, nan(f80), 1e1);
1601 try testArgs(f80, nan(f80), fmax(f80));
1602 try testArgs(f80, nan(f80), inf(f80));
1603 try testArgs(f80, nan(f80), nan(f80));
1604
1605 try testArgs(f128, -nan(f128), -nan(f128));
1606 try testArgs(f128, -nan(f128), -inf(f128));
1607 try testArgs(f128, -nan(f128), -fmax(f128));
1608 try testArgs(f128, -nan(f128), -1e1);
1609 try testArgs(f128, -nan(f128), -1e0);
1610 try testArgs(f128, -nan(f128), -1e-1);
1611 try testArgs(f128, -nan(f128), -fmin(f128));
1612 try testArgs(f128, -nan(f128), -tmin(f128));
1613 try testArgs(f128, -nan(f128), -0.0);
1614 try testArgs(f128, -nan(f128), 0.0);
1615 try testArgs(f128, -nan(f128), tmin(f128));
1616 try testArgs(f128, -nan(f128), fmin(f128));
1617 try testArgs(f128, -nan(f128), 1e-1);
1618 try testArgs(f128, -nan(f128), 1e0);
1619 try testArgs(f128, -nan(f128), 1e1);
1620 try testArgs(f128, -nan(f128), fmax(f128));
1621 try testArgs(f128, -nan(f128), inf(f128));
1622 try testArgs(f128, -nan(f128), nan(f128));
1623
1624 try testArgs(f128, -inf(f128), -nan(f128));
1625 try testArgs(f128, -inf(f128), -inf(f128));
1626 try testArgs(f128, -inf(f128), -fmax(f128));
1627 try testArgs(f128, -inf(f128), -1e1);
1628 try testArgs(f128, -inf(f128), -1e0);
1629 try testArgs(f128, -inf(f128), -1e-1);
1630 try testArgs(f128, -inf(f128), -fmin(f128));
1631 try testArgs(f128, -inf(f128), -tmin(f128));
1632 try testArgs(f128, -inf(f128), -0.0);
1633 try testArgs(f128, -inf(f128), 0.0);
1634 try testArgs(f128, -inf(f128), tmin(f128));
1635 try testArgs(f128, -inf(f128), fmin(f128));
1636 try testArgs(f128, -inf(f128), 1e-1);
1637 try testArgs(f128, -inf(f128), 1e0);
1638 try testArgs(f128, -inf(f128), 1e1);
1639 try testArgs(f128, -inf(f128), fmax(f128));
1640 try testArgs(f128, -inf(f128), inf(f128));
1641 try testArgs(f128, -inf(f128), nan(f128));
1642
1643 try testArgs(f128, -fmax(f128), -nan(f128));
1644 try testArgs(f128, -fmax(f128), -inf(f128));
1645 try testArgs(f128, -fmax(f128), -fmax(f128));
1646 try testArgs(f128, -fmax(f128), -1e1);
1647 try testArgs(f128, -fmax(f128), -1e0);
1648 try testArgs(f128, -fmax(f128), -1e-1);
1649 try testArgs(f128, -fmax(f128), -fmin(f128));
1650 try testArgs(f128, -fmax(f128), -tmin(f128));
1651 try testArgs(f128, -fmax(f128), -0.0);
1652 try testArgs(f128, -fmax(f128), 0.0);
1653 try testArgs(f128, -fmax(f128), tmin(f128));
1654 try testArgs(f128, -fmax(f128), fmin(f128));
1655 try testArgs(f128, -fmax(f128), 1e-1);
1656 try testArgs(f128, -fmax(f128), 1e0);
1657 try testArgs(f128, -fmax(f128), 1e1);
1658 try testArgs(f128, -fmax(f128), fmax(f128));
1659 try testArgs(f128, -fmax(f128), inf(f128));
1660 try testArgs(f128, -fmax(f128), nan(f128));
1661
1662 try testArgs(f128, -1e1, -nan(f128));
1663 try testArgs(f128, -1e1, -inf(f128));
1664 try testArgs(f128, -1e1, -fmax(f128));
1665 try testArgs(f128, -1e1, -1e1);
1666 try testArgs(f128, -1e1, -1e0);
1667 try testArgs(f128, -1e1, -1e-1);
1668 try testArgs(f128, -1e1, -fmin(f128));
1669 try testArgs(f128, -1e1, -tmin(f128));
1670 try testArgs(f128, -1e1, -0.0);
1671 try testArgs(f128, -1e1, 0.0);
1672 try testArgs(f128, -1e1, tmin(f128));
1673 try testArgs(f128, -1e1, fmin(f128));
1674 try testArgs(f128, -1e1, 1e-1);
1675 try testArgs(f128, -1e1, 1e0);
1676 try testArgs(f128, -1e1, 1e1);
1677 try testArgs(f128, -1e1, fmax(f128));
1678 try testArgs(f128, -1e1, inf(f128));
1679 try testArgs(f128, -1e1, nan(f128));
1680
1681 try testArgs(f128, -1e0, -nan(f128));
1682 try testArgs(f128, -1e0, -inf(f128));
1683 try testArgs(f128, -1e0, -fmax(f128));
1684 try testArgs(f128, -1e0, -1e1);
1685 try testArgs(f128, -1e0, -1e0);
1686 try testArgs(f128, -1e0, -1e-1);
1687 try testArgs(f128, -1e0, -fmin(f128));
1688 try testArgs(f128, -1e0, -tmin(f128));
1689 try testArgs(f128, -1e0, -0.0);
1690 try testArgs(f128, -1e0, 0.0);
1691 try testArgs(f128, -1e0, tmin(f128));
1692 try testArgs(f128, -1e0, fmin(f128));
1693 try testArgs(f128, -1e0, 1e-1);
1694 try testArgs(f128, -1e0, 1e0);
1695 try testArgs(f128, -1e0, 1e1);
1696 try testArgs(f128, -1e0, fmax(f128));
1697 try testArgs(f128, -1e0, inf(f128));
1698 try testArgs(f128, -1e0, nan(f128));
1699
1700 try testArgs(f128, -1e-1, -nan(f128));
1701 try testArgs(f128, -1e-1, -inf(f128));
1702 try testArgs(f128, -1e-1, -fmax(f128));
1703 try testArgs(f128, -1e-1, -1e1);
1704 try testArgs(f128, -1e-1, -1e0);
1705 try testArgs(f128, -1e-1, -1e-1);
1706 try testArgs(f128, -1e-1, -fmin(f128));
1707 try testArgs(f128, -1e-1, -tmin(f128));
1708 try testArgs(f128, -1e-1, -0.0);
1709 try testArgs(f128, -1e-1, 0.0);
1710 try testArgs(f128, -1e-1, tmin(f128));
1711 try testArgs(f128, -1e-1, fmin(f128));
1712 try testArgs(f128, -1e-1, 1e-1);
1713 try testArgs(f128, -1e-1, 1e0);
1714 try testArgs(f128, -1e-1, 1e1);
1715 try testArgs(f128, -1e-1, fmax(f128));
1716 try testArgs(f128, -1e-1, inf(f128));
1717 try testArgs(f128, -1e-1, nan(f128));
1718
1719 try testArgs(f128, -fmin(f128), -nan(f128));
1720 try testArgs(f128, -fmin(f128), -inf(f128));
1721 try testArgs(f128, -fmin(f128), -fmax(f128));
1722 try testArgs(f128, -fmin(f128), -1e1);
1723 try testArgs(f128, -fmin(f128), -1e0);
1724 try testArgs(f128, -fmin(f128), -1e-1);
1725 try testArgs(f128, -fmin(f128), -fmin(f128));
1726 try testArgs(f128, -fmin(f128), -tmin(f128));
1727 try testArgs(f128, -fmin(f128), -0.0);
1728 try testArgs(f128, -fmin(f128), 0.0);
1729 try testArgs(f128, -fmin(f128), tmin(f128));
1730 try testArgs(f128, -fmin(f128), fmin(f128));
1731 try testArgs(f128, -fmin(f128), 1e-1);
1732 try testArgs(f128, -fmin(f128), 1e0);
1733 try testArgs(f128, -fmin(f128), 1e1);
1734 try testArgs(f128, -fmin(f128), fmax(f128));
1735 try testArgs(f128, -fmin(f128), inf(f128));
1736 try testArgs(f128, -fmin(f128), nan(f128));
1737
1738 try testArgs(f128, -tmin(f128), -nan(f128));
1739 try testArgs(f128, -tmin(f128), -inf(f128));
1740 try testArgs(f128, -tmin(f128), -fmax(f128));
1741 try testArgs(f128, -tmin(f128), -1e1);
1742 try testArgs(f128, -tmin(f128), -1e0);
1743 try testArgs(f128, -tmin(f128), -1e-1);
1744 try testArgs(f128, -tmin(f128), -fmin(f128));
1745 try testArgs(f128, -tmin(f128), -tmin(f128));
1746 try testArgs(f128, -tmin(f128), -0.0);
1747 try testArgs(f128, -tmin(f128), 0.0);
1748 try testArgs(f128, -tmin(f128), tmin(f128));
1749 try testArgs(f128, -tmin(f128), fmin(f128));
1750 try testArgs(f128, -tmin(f128), 1e-1);
1751 try testArgs(f128, -tmin(f128), 1e0);
1752 try testArgs(f128, -tmin(f128), 1e1);
1753 try testArgs(f128, -tmin(f128), fmax(f128));
1754 try testArgs(f128, -tmin(f128), inf(f128));
1755 try testArgs(f128, -tmin(f128), nan(f128));
1756
1757 try testArgs(f128, -0.0, -nan(f128));
1758 try testArgs(f128, -0.0, -inf(f128));
1759 try testArgs(f128, -0.0, -fmax(f128));
1760 try testArgs(f128, -0.0, -1e1);
1761 try testArgs(f128, -0.0, -1e0);
1762 try testArgs(f128, -0.0, -1e-1);
1763 try testArgs(f128, -0.0, -fmin(f128));
1764 try testArgs(f128, -0.0, -tmin(f128));
1765 try testArgs(f128, -0.0, -0.0);
1766 try testArgs(f128, -0.0, 0.0);
1767 try testArgs(f128, -0.0, tmin(f128));
1768 try testArgs(f128, -0.0, fmin(f128));
1769 try testArgs(f128, -0.0, 1e-1);
1770 try testArgs(f128, -0.0, 1e0);
1771 try testArgs(f128, -0.0, 1e1);
1772 try testArgs(f128, -0.0, fmax(f128));
1773 try testArgs(f128, -0.0, inf(f128));
1774 try testArgs(f128, -0.0, nan(f128));
1775
1776 try testArgs(f128, 0.0, -nan(f128));
1777 try testArgs(f128, 0.0, -inf(f128));
1778 try testArgs(f128, 0.0, -fmax(f128));
1779 try testArgs(f128, 0.0, -1e1);
1780 try testArgs(f128, 0.0, -1e0);
1781 try testArgs(f128, 0.0, -1e-1);
1782 try testArgs(f128, 0.0, -fmin(f128));
1783 try testArgs(f128, 0.0, -tmin(f128));
1784 try testArgs(f128, 0.0, -0.0);
1785 try testArgs(f128, 0.0, 0.0);
1786 try testArgs(f128, 0.0, tmin(f128));
1787 try testArgs(f128, 0.0, fmin(f128));
1788 try testArgs(f128, 0.0, 1e-1);
1789 try testArgs(f128, 0.0, 1e0);
1790 try testArgs(f128, 0.0, 1e1);
1791 try testArgs(f128, 0.0, fmax(f128));
1792 try testArgs(f128, 0.0, inf(f128));
1793 try testArgs(f128, 0.0, nan(f128));
1794
1795 try testArgs(f128, tmin(f128), -nan(f128));
1796 try testArgs(f128, tmin(f128), -inf(f128));
1797 try testArgs(f128, tmin(f128), -fmax(f128));
1798 try testArgs(f128, tmin(f128), -1e1);
1799 try testArgs(f128, tmin(f128), -1e0);
1800 try testArgs(f128, tmin(f128), -1e-1);
1801 try testArgs(f128, tmin(f128), -fmin(f128));
1802 try testArgs(f128, tmin(f128), -tmin(f128));
1803 try testArgs(f128, tmin(f128), -0.0);
1804 try testArgs(f128, tmin(f128), 0.0);
1805 try testArgs(f128, tmin(f128), tmin(f128));
1806 try testArgs(f128, tmin(f128), fmin(f128));
1807 try testArgs(f128, tmin(f128), 1e-1);
1808 try testArgs(f128, tmin(f128), 1e0);
1809 try testArgs(f128, tmin(f128), 1e1);
1810 try testArgs(f128, tmin(f128), fmax(f128));
1811 try testArgs(f128, tmin(f128), inf(f128));
1812 try testArgs(f128, tmin(f128), nan(f128));
1813
1814 try testArgs(f128, fmin(f128), -nan(f128));
1815 try testArgs(f128, fmin(f128), -inf(f128));
1816 try testArgs(f128, fmin(f128), -fmax(f128));
1817 try testArgs(f128, fmin(f128), -1e1);
1818 try testArgs(f128, fmin(f128), -1e0);
1819 try testArgs(f128, fmin(f128), -1e-1);
1820 try testArgs(f128, fmin(f128), -fmin(f128));
1821 try testArgs(f128, fmin(f128), -tmin(f128));
1822 try testArgs(f128, fmin(f128), -0.0);
1823 try testArgs(f128, fmin(f128), 0.0);
1824 try testArgs(f128, fmin(f128), tmin(f128));
1825 try testArgs(f128, fmin(f128), fmin(f128));
1826 try testArgs(f128, fmin(f128), 1e-1);
1827 try testArgs(f128, fmin(f128), 1e0);
1828 try testArgs(f128, fmin(f128), 1e1);
1829 try testArgs(f128, fmin(f128), fmax(f128));
1830 try testArgs(f128, fmin(f128), inf(f128));
1831 try testArgs(f128, fmin(f128), nan(f128));
1832
1833 try testArgs(f128, 1e-1, -nan(f128));
1834 try testArgs(f128, 1e-1, -inf(f128));
1835 try testArgs(f128, 1e-1, -fmax(f128));
1836 try testArgs(f128, 1e-1, -1e1);
1837 try testArgs(f128, 1e-1, -1e0);
1838 try testArgs(f128, 1e-1, -1e-1);
1839 try testArgs(f128, 1e-1, -fmin(f128));
1840 try testArgs(f128, 1e-1, -tmin(f128));
1841 try testArgs(f128, 1e-1, -0.0);
1842 try testArgs(f128, 1e-1, 0.0);
1843 try testArgs(f128, 1e-1, tmin(f128));
1844 try testArgs(f128, 1e-1, fmin(f128));
1845 try testArgs(f128, 1e-1, 1e-1);
1846 try testArgs(f128, 1e-1, 1e0);
1847 try testArgs(f128, 1e-1, 1e1);
1848 try testArgs(f128, 1e-1, fmax(f128));
1849 try testArgs(f128, 1e-1, inf(f128));
1850 try testArgs(f128, 1e-1, nan(f128));
1851
1852 try testArgs(f128, 1e0, -nan(f128));
1853 try testArgs(f128, 1e0, -inf(f128));
1854 try testArgs(f128, 1e0, -fmax(f128));
1855 try testArgs(f128, 1e0, -1e1);
1856 try testArgs(f128, 1e0, -1e0);
1857 try testArgs(f128, 1e0, -1e-1);
1858 try testArgs(f128, 1e0, -fmin(f128));
1859 try testArgs(f128, 1e0, -tmin(f128));
1860 try testArgs(f128, 1e0, -0.0);
1861 try testArgs(f128, 1e0, 0.0);
1862 try testArgs(f128, 1e0, tmin(f128));
1863 try testArgs(f128, 1e0, fmin(f128));
1864 try testArgs(f128, 1e0, 1e-1);
1865 try testArgs(f128, 1e0, 1e0);
1866 try testArgs(f128, 1e0, 1e1);
1867 try testArgs(f128, 1e0, fmax(f128));
1868 try testArgs(f128, 1e0, inf(f128));
1869 try testArgs(f128, 1e0, nan(f128));
1870
1871 try testArgs(f128, 1e1, -nan(f128));
1872 try testArgs(f128, 1e1, -inf(f128));
1873 try testArgs(f128, 1e1, -fmax(f128));
1874 try testArgs(f128, 1e1, -1e1);
1875 try testArgs(f128, 1e1, -1e0);
1876 try testArgs(f128, 1e1, -1e-1);
1877 try testArgs(f128, 1e1, -fmin(f128));
1878 try testArgs(f128, 1e1, -tmin(f128));
1879 try testArgs(f128, 1e1, -0.0);
1880 try testArgs(f128, 1e1, 0.0);
1881 try testArgs(f128, 1e1, tmin(f128));
1882 try testArgs(f128, 1e1, fmin(f128));
1883 try testArgs(f128, 1e1, 1e-1);
1884 try testArgs(f128, 1e1, 1e0);
1885 try testArgs(f128, 1e1, 1e1);
1886 try testArgs(f128, 1e1, fmax(f128));
1887 try testArgs(f128, 1e1, inf(f128));
1888 try testArgs(f128, 1e1, nan(f128));
1889
1890 try testArgs(f128, fmax(f128), -nan(f128));
1891 try testArgs(f128, fmax(f128), -inf(f128));
1892 try testArgs(f128, fmax(f128), -fmax(f128));
1893 try testArgs(f128, fmax(f128), -1e1);
1894 try testArgs(f128, fmax(f128), -1e0);
1895 try testArgs(f128, fmax(f128), -1e-1);
1896 try testArgs(f128, fmax(f128), -fmin(f128));
1897 try testArgs(f128, fmax(f128), -tmin(f128));
1898 try testArgs(f128, fmax(f128), -0.0);
1899 try testArgs(f128, fmax(f128), 0.0);
1900 try testArgs(f128, fmax(f128), tmin(f128));
1901 try testArgs(f128, fmax(f128), fmin(f128));
1902 try testArgs(f128, fmax(f128), 1e-1);
1903 try testArgs(f128, fmax(f128), 1e0);
1904 try testArgs(f128, fmax(f128), 1e1);
1905 try testArgs(f128, fmax(f128), fmax(f128));
1906 try testArgs(f128, fmax(f128), inf(f128));
1907 try testArgs(f128, fmax(f128), nan(f128));
1908
1909 try testArgs(f128, inf(f128), -nan(f128));
1910 try testArgs(f128, inf(f128), -inf(f128));
1911 try testArgs(f128, inf(f128), -fmax(f128));
1912 try testArgs(f128, inf(f128), -1e1);
1913 try testArgs(f128, inf(f128), -1e0);
1914 try testArgs(f128, inf(f128), -1e-1);
1915 try testArgs(f128, inf(f128), -fmin(f128));
1916 try testArgs(f128, inf(f128), -tmin(f128));
1917 try testArgs(f128, inf(f128), -0.0);
1918 try testArgs(f128, inf(f128), 0.0);
1919 try testArgs(f128, inf(f128), tmin(f128));
1920 try testArgs(f128, inf(f128), fmin(f128));
1921 try testArgs(f128, inf(f128), 1e-1);
1922 try testArgs(f128, inf(f128), 1e0);
1923 try testArgs(f128, inf(f128), 1e1);
1924 try testArgs(f128, inf(f128), fmax(f128));
1925 try testArgs(f128, inf(f128), inf(f128));
1926 try testArgs(f128, inf(f128), nan(f128));
1927
1928 try testArgs(f128, nan(f128), -nan(f128));
1929 try testArgs(f128, nan(f128), -inf(f128));
1930 try testArgs(f128, nan(f128), -fmax(f128));
1931 try testArgs(f128, nan(f128), -1e1);
1932 try testArgs(f128, nan(f128), -1e0);
1933 try testArgs(f128, nan(f128), -1e-1);
1934 try testArgs(f128, nan(f128), -fmin(f128));
1935 try testArgs(f128, nan(f128), -tmin(f128));
1936 try testArgs(f128, nan(f128), -0.0);
1937 try testArgs(f128, nan(f128), 0.0);
1938 try testArgs(f128, nan(f128), tmin(f128));
1939 try testArgs(f128, nan(f128), fmin(f128));
1940 try testArgs(f128, nan(f128), 1e-1);
1941 try testArgs(f128, nan(f128), 1e0);
1942 try testArgs(f128, nan(f128), 1e1);
1943 try testArgs(f128, nan(f128), fmax(f128));
1944 try testArgs(f128, nan(f128), inf(f128));
1945 try testArgs(f128, nan(f128), nan(f128));
1946 }
1947 fn testBoolVectors() !void {
1948 try testArgs(@Vector(1, bool), .{
1949 false,
1950 }, .{
1951 true,
1952 });
1953 try testArgs(@Vector(2, bool), .{
1954 false, true,
1955 }, .{
1956 true, false,
1957 });
1958 try testArgs(@Vector(4, bool), .{
1959 false, false, true, true,
1960 }, .{
1961 false, true, false, true,
1962 });
1963 }
1964 fn testIntVectors() !void {
1965 try testArgs(@Vector(1, i1), .{
1966 0x0,
1967 }, .{
1968 -0x1,
1969 });
1970 try testArgs(@Vector(2, i1), .{
1971 0x0, 0x0,
1972 }, .{
1973 -0x1, -0x1,
1974 });
1975 try testArgs(@Vector(4, i1), .{
1976 0x0, 0x0, 0x0, 0x0,
1977 }, .{
1978 -0x1, -0x1, -0x1, -0x1,
1979 });
1980 try testArgs(@Vector(8, i1), .{
1981 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1982 }, .{
1983 -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
1984 });
1985 try testArgs(@Vector(16, i1), .{
1986 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1987 }, .{
1988 -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
1989 });
1990 try testArgs(@Vector(32, i1), .{
1991 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1992 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1993 }, .{
1994 -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
1995 -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
1996 });
1997 try testArgs(@Vector(64, i1), .{
1998 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1999 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
2000 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
2001 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
2002 }, .{
2003 -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
2004 -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
2005 -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
2006 -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
2007 });
2008 try testArgs(@Vector(128, i1), .{
2009 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
2010 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
2011 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
2012 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
2013 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
2014 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
2015 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
2016 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
2017 }, .{
2018 -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
2019 -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
2020 -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
2021 -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
2022 -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
2023 -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
2024 -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
2025 -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
2026 });
2027
2028 try testArgs(@Vector(1, u1), .{
2029 0x0,
2030 }, .{
2031 0x1,
2032 });
2033 try testArgs(@Vector(2, u1), .{
2034 0x0, 0x1,
2035 }, .{
2036 0x1, 0x1,
2037 });
2038 try testArgs(@Vector(4, u1), .{
2039 0x0, 0x0, 0x1, 0x0,
2040 }, .{
2041 0x1, 0x1, 0x1, 0x1,
2042 });
2043 try testArgs(@Vector(8, u1), .{
2044 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1,
2045 }, .{
2046 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
2047 });
2048 try testArgs(@Vector(16, u1), .{
2049 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1,
2050 }, .{
2051 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
2052 });
2053 try testArgs(@Vector(32, u1), .{
2054 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0,
2055 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0,
2056 }, .{
2057 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
2058 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
2059 });
2060 try testArgs(@Vector(64, u1), .{
2061 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1,
2062 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1,
2063 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1,
2064 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0,
2065 }, .{
2066 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
2067 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
2068 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
2069 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
2070 });
2071 try testArgs(@Vector(128, u1), .{
2072 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1,
2073 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1,
2074 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1,
2075 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1,
2076 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1,
2077 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1,
2078 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0,
2079 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1,
2080 }, .{
2081 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
2082 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
2083 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
2084 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
2085 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
2086 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
2087 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
2088 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
2089 });
2090
2091 try testArgs(@Vector(1, i2), .{
2092 0x1,
2093 }, .{
2094 0x1,
2095 });
2096 try testArgs(@Vector(2, i2), .{
2097 0x0, -0x2,
2098 }, .{
2099 -0x2, -0x2,
2100 });
2101 try testArgs(@Vector(4, i2), .{
2102 -0x2, -0x1, 0x0, -0x2,
2103 }, .{
2104 -0x2, 0x1, -0x1, -0x2,
2105 });
2106 try testArgs(@Vector(8, i2), .{
2107 -0x1, 0x1, 0x1, -0x1, -0x2, -0x2, 0x0, -0x2,
2108 }, .{
2109 -0x1, -0x1, -0x2, -0x1, -0x2, 0x1, -0x1, 0x1,
2110 });
2111 try testArgs(@Vector(16, i2), .{
2112 0x0, -0x2, -0x1, -0x2, 0x1, 0x0, -0x1, 0x0, 0x1, -0x2, 0x1, -0x1, -0x2, -0x2, 0x1, 0x0,
2113 }, .{
2114 -0x2, -0x2, 0x1, -0x2, -0x1, -0x2, -0x1, -0x2, -0x2, -0x2, -0x1, -0x2, 0x1, -0x2, -0x2, -0x2,
2115 });
2116 try testArgs(@Vector(32, i2), .{
2117 -0x2, 0x1, -0x1, 0x1, 0x0, -0x2, 0x1, -0x2, -0x2, 0x0, -0x1, 0x0, -0x2, -0x2, 0x0, 0x1,
2118 -0x1, 0x1, -0x1, 0x1, 0x1, 0x1, 0x1, -0x2, -0x1, -0x1, 0x1, -0x2, 0x0, -0x1, 0x0, -0x2,
2119 }, .{
2120 0x1, -0x1, 0x1, -0x1, 0x1, 0x1, 0x1, -0x2, 0x1, -0x2, -0x1, -0x2, 0x1, 0x1, 0x1, -0x1,
2121 -0x2, 0x1, 0x1, -0x1, -0x2, -0x2, -0x1, -0x2, -0x1, -0x2, 0x1, -0x2, -0x1, 0x1, -0x2, -0x2,
2122 });
2123 try testArgs(@Vector(64, i2), .{
2124 0x1, -0x2, -0x1, 0x0, 0x1, -0x2, -0x1, -0x2, -0x2, -0x1, -0x2, -0x1, 0x1, 0x1, 0x0, 0x1,
2125 -0x1, -0x1, -0x1, 0x1, 0x1, -0x1, 0x0, 0x1, -0x1, 0x0, 0x0, 0x1, 0x1, 0x0, -0x2, -0x2,
2126 0x1, 0x0, -0x2, -0x2, 0x1, -0x2, -0x2, 0x1, 0x1, -0x2, 0x1, 0x0, 0x0, -0x1, 0x0, 0x1,
2127 -0x2, 0x0, 0x0, -0x1, -0x1, 0x1, -0x2, 0x0, -0x2, 0x0, -0x2, 0x1, 0x0, -0x1, -0x1, 0x1,
2128 }, .{
2129 -0x2, -0x2, 0x1, -0x1, -0x2, -0x2, -0x1, -0x2, 0x1, 0x1, 0x1, -0x1, 0x1, 0x1, 0x1, -0x1,
2130 -0x2, 0x1, 0x1, -0x2, -0x2, 0x1, 0x1, -0x1, -0x2, -0x2, 0x1, -0x1, -0x2, 0x1, -0x2, 0x1,
2131 0x1, -0x2, -0x2, -0x2, -0x2, 0x1, 0x1, 0x1, -0x2, 0x1, -0x1, 0x1, -0x1, 0x1, 0x1, -0x1,
2132 -0x2, 0x1, -0x1, 0x1, -0x1, -0x1, 0x1, 0x1, -0x2, 0x1, 0x1, -0x2, -0x2, -0x1, -0x2, -0x2,
2133 });
2134 try testArgs(@Vector(128, i2), .{
2135 -0x1, -0x2, 0x0, -0x2, -0x2, 0x1, -0x1, 0x0, -0x1, -0x2, 0x0, -0x2, 0x0, 0x1, 0x0, -0x1,
2136 0x0, -0x2, 0x1, 0x0, 0x1, 0x0, -0x2, 0x1, 0x1, 0x1, -0x1, 0x1, 0x0, -0x1, 0x1, -0x1,
2137 0x1, -0x2, 0x1, -0x2, 0x1, -0x2, 0x1, -0x2, -0x2, -0x2, 0x0, 0x0, 0x1, 0x1, -0x2, -0x1,
2138 0x1, 0x0, 0x0, 0x1, -0x2, -0x1, 0x0, -0x1, 0x1, -0x2, 0x1, 0x0, 0x1, 0x0, 0x0, -0x2,
2139 0x0, 0x0, -0x1, 0x1, -0x1, 0x0, -0x1, -0x2, 0x1, -0x2, -0x2, -0x1, -0x2, 0x0, 0x0, 0x0,
2140 -0x1, -0x1, -0x1, -0x1, -0x2, 0x0, -0x1, 0x1, 0x0, 0x0, -0x2, 0x0, 0x0, 0x0, 0x0, 0x1,
2141 0x1, -0x2, 0x0, 0x0, -0x1, -0x1, 0x1, -0x1, -0x2, 0x0, -0x1, -0x1, -0x2, -0x2, 0x0, 0x0,
2142 -0x1, 0x0, 0x1, 0x0, -0x1, -0x2, 0x1, -0x2, -0x1, -0x1, 0x0, 0x0, -0x1, 0x0, 0x0, 0x1,
2143 }, .{
2144 -0x2, -0x2, 0x1, 0x1, -0x2, -0x1, 0x1, 0x1, 0x1, -0x2, -0x2, 0x1, -0x2, -0x2, 0x1, -0x1,
2145 -0x1, -0x2, 0x1, -0x1, 0x1, 0x1, 0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, 0x1, 0x1, -0x2,
2146 -0x1, -0x2, -0x2, -0x2, -0x2, -0x2, -0x1, -0x2, 0x1, 0x1, -0x1, -0x1, -0x1, -0x1, 0x1, -0x2,
2147 0x1, -0x1, 0x1, -0x1, 0x1, 0x1, -0x1, -0x2, 0x1, 0x1, -0x2, -0x2, -0x2, 0x1, 0x1, -0x2,
2148 -0x1, 0x1, -0x2, -0x1, -0x1, 0x1, -0x2, -0x2, 0x1, 0x1, -0x2, -0x1, -0x2, -0x2, -0x2, -0x2,
2149 0x1, -0x1, 0x1, -0x2, 0x1, -0x1, -0x1, 0x1, 0x1, -0x1, 0x1, -0x1, -0x2, -0x2, -0x1, -0x2,
2150 -0x2, 0x1, -0x2, -0x2, -0x1, -0x1, -0x1, -0x2, 0x1, -0x2, 0x1, -0x2, 0x1, -0x2, -0x2, 0x1,
2151 0x1, -0x1, 0x1, 0x1, -0x1, -0x2, 0x1, 0x1, -0x1, -0x2, -0x1, -0x1, 0x1, -0x2, -0x2, -0x2,
2152 });
2153
2154 try testArgs(@Vector(1, u2), .{
2155 0x2,
2156 }, .{
2157 0x2,
2158 });
2159 try testArgs(@Vector(2, u2), .{
2160 0x1, 0x0,
2161 }, .{
2162 0x2, 0x1,
2163 });
2164 try testArgs(@Vector(4, u2), .{
2165 0x3, 0x3, 0x0, 0x2,
2166 }, .{
2167 0x3, 0x1, 0x1, 0x3,
2168 });
2169 try testArgs(@Vector(8, u2), .{
2170 0x0, 0x3, 0x3, 0x2, 0x1, 0x2, 0x3, 0x1,
2171 }, .{
2172 0x1, 0x1, 0x3, 0x1, 0x2, 0x2, 0x2, 0x2,
2173 });
2174 try testArgs(@Vector(16, u2), .{
2175 0x1, 0x1, 0x0, 0x1, 0x0, 0x2, 0x2, 0x1, 0x2, 0x1, 0x3, 0x1, 0x1, 0x3, 0x3, 0x1,
2176 }, .{
2177 0x1, 0x2, 0x2, 0x2, 0x1, 0x2, 0x3, 0x1, 0x3, 0x3, 0x2, 0x2, 0x2, 0x1, 0x3, 0x1,
2178 });
2179 try testArgs(@Vector(32, u2), .{
2180 0x2, 0x2, 0x3, 0x1, 0x3, 0x2, 0x1, 0x3, 0x3, 0x0, 0x0, 0x3, 0x3, 0x1, 0x3, 0x0,
2181 0x1, 0x0, 0x2, 0x3, 0x2, 0x3, 0x2, 0x0, 0x1, 0x3, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0,
2182 }, .{
2183 0x3, 0x2, 0x1, 0x1, 0x2, 0x3, 0x1, 0x3, 0x1, 0x1, 0x3, 0x1, 0x2, 0x3, 0x3, 0x2,
2184 0x2, 0x2, 0x1, 0x1, 0x1, 0x2, 0x1, 0x1, 0x2, 0x2, 0x2, 0x1, 0x3, 0x2, 0x3, 0x3,
2185 });
2186 try testArgs(@Vector(64, u2), .{
2187 0x1, 0x3, 0x2, 0x1, 0x1, 0x3, 0x1, 0x3, 0x2, 0x1, 0x3, 0x2, 0x2, 0x2, 0x3, 0x0,
2188 0x3, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x3, 0x3, 0x1, 0x3,
2189 0x1, 0x2, 0x3, 0x2, 0x3, 0x0, 0x1, 0x1, 0x2, 0x1, 0x0, 0x3, 0x2, 0x3, 0x3, 0x0,
2190 0x0, 0x0, 0x3, 0x1, 0x3, 0x0, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, 0x1, 0x0, 0x3, 0x3,
2191 }, .{
2192 0x1, 0x2, 0x2, 0x1, 0x2, 0x1, 0x2, 0x3, 0x3, 0x2, 0x1, 0x2, 0x3, 0x1, 0x2, 0x3,
2193 0x2, 0x2, 0x3, 0x1, 0x2, 0x2, 0x2, 0x1, 0x1, 0x2, 0x3, 0x3, 0x2, 0x3, 0x1, 0x1,
2194 0x3, 0x2, 0x1, 0x1, 0x3, 0x1, 0x1, 0x1, 0x2, 0x1, 0x3, 0x1, 0x1, 0x3, 0x2, 0x2,
2195 0x3, 0x2, 0x3, 0x3, 0x3, 0x1, 0x2, 0x1, 0x3, 0x1, 0x1, 0x2, 0x1, 0x3, 0x3, 0x1,
2196 });
2197 try testArgs(@Vector(128, u2), .{
2198 0x2, 0x0, 0x0, 0x1, 0x3, 0x0, 0x0, 0x3, 0x0, 0x1, 0x2, 0x0, 0x0, 0x2, 0x0, 0x1,
2199 0x3, 0x0, 0x0, 0x1, 0x3, 0x0, 0x3, 0x0, 0x1, 0x1, 0x2, 0x3, 0x0, 0x1, 0x2, 0x1,
2200 0x0, 0x0, 0x3, 0x3, 0x3, 0x2, 0x2, 0x1, 0x0, 0x3, 0x1, 0x1, 0x3, 0x3, 0x1, 0x0,
2201 0x1, 0x2, 0x2, 0x1, 0x0, 0x1, 0x2, 0x2, 0x2, 0x1, 0x2, 0x3, 0x2, 0x0, 0x0, 0x0,
2202 0x1, 0x3, 0x2, 0x3, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x1, 0x0, 0x2, 0x1, 0x0, 0x3,
2203 0x2, 0x1, 0x3, 0x3, 0x1, 0x2, 0x1, 0x3, 0x3, 0x0, 0x1, 0x3, 0x2, 0x1, 0x0, 0x1,
2204 0x1, 0x0, 0x2, 0x0, 0x2, 0x2, 0x2, 0x1, 0x3, 0x2, 0x2, 0x3, 0x2, 0x0, 0x0, 0x1,
2205 0x1, 0x1, 0x1, 0x1, 0x0, 0x3, 0x1, 0x1, 0x2, 0x1, 0x0, 0x2, 0x3, 0x3, 0x1, 0x2,
2206 }, .{
2207 0x3, 0x2, 0x2, 0x1, 0x3, 0x3, 0x1, 0x3, 0x2, 0x3, 0x3, 0x1, 0x1, 0x1, 0x3, 0x1,
2208 0x2, 0x2, 0x1, 0x3, 0x1, 0x2, 0x3, 0x3, 0x3, 0x3, 0x1, 0x2, 0x3, 0x1, 0x3, 0x3,
2209 0x2, 0x1, 0x2, 0x3, 0x1, 0x2, 0x1, 0x2, 0x3, 0x3, 0x3, 0x1, 0x1, 0x2, 0x1, 0x3,
2210 0x1, 0x3, 0x1, 0x3, 0x2, 0x2, 0x2, 0x1, 0x3, 0x2, 0x2, 0x2, 0x2, 0x3, 0x1, 0x2,
2211 0x2, 0x2, 0x2, 0x3, 0x2, 0x2, 0x2, 0x2, 0x1, 0x2, 0x3, 0x3, 0x1, 0x3, 0x1, 0x2,
2212 0x1, 0x1, 0x3, 0x2, 0x2, 0x1, 0x3, 0x2, 0x3, 0x1, 0x2, 0x2, 0x2, 0x2, 0x1, 0x1,
2213 0x1, 0x3, 0x1, 0x3, 0x1, 0x3, 0x3, 0x3, 0x2, 0x3, 0x1, 0x1, 0x2, 0x2, 0x3, 0x1,
2214 0x2, 0x2, 0x3, 0x3, 0x1, 0x1, 0x1, 0x1, 0x2, 0x1, 0x3, 0x1, 0x3, 0x2, 0x3, 0x1,
2215 });
2216
2217 try testArgs(@Vector(1, i3), .{
2218 -0x3,
2219 }, .{
2220 -0x1,
2221 });
2222 try testArgs(@Vector(2, i3), .{
2223 0x2, -0x3,
2224 }, .{
2225 0x1, 0x3,
2226 });
2227 try testArgs(@Vector(4, i3), .{
2228 0x1, -0x4, -0x2, -0x3,
2229 }, .{
2230 -0x2, -0x4, 0x2, 0x2,
2231 });
2232 try testArgs(@Vector(8, i3), .{
2233 0x0, 0x1, 0x3, 0x1, -0x3, 0x1, 0x3, 0x3,
2234 }, .{
2235 -0x3, 0x2, 0x1, 0x1, -0x4, -0x1, 0x3, -0x2,
2236 });
2237 try testArgs(@Vector(16, i3), .{
2238 -0x4, 0x3, -0x2, 0x0, -0x2, -0x1, 0x2, -0x4, 0x1, -0x3, 0x2, -0x2, 0x1, -0x2, 0x2, -0x4,
2239 }, .{
2240 0x2, -0x3, 0x3, 0x1, -0x4, 0x1, -0x1, 0x1, -0x1, -0x3, -0x4, 0x2, 0x3, 0x3, -0x1, -0x4,
2241 });
2242 try testArgs(@Vector(32, i3), .{
2243 0x1, -0x3, -0x1, -0x3, -0x3, 0x2, 0x1, 0x0, 0x0, -0x1, 0x3, -0x2, 0x3, 0x0, -0x3, 0x0,
2244 -0x4, -0x2, -0x1, -0x4, -0x4, 0x2, 0x2, 0x3, 0x1, 0x2, -0x4, -0x4, -0x3, 0x1, -0x1, -0x2,
2245 }, .{
2246 -0x4, -0x2, 0x1, -0x1, 0x3, 0x1, 0x2, -0x3, 0x2, -0x2, 0x1, -0x1, -0x2, -0x1, -0x1, -0x2,
2247 -0x2, -0x3, 0x3, -0x3, -0x4, 0x1, -0x3, 0x3, 0x1, -0x3, 0x3, 0x3, -0x4, 0x3, 0x2, -0x2,
2248 });
2249 try testArgs(@Vector(64, i3), .{
2250 0x1, 0x2, 0x1, 0x2, -0x2, 0x2, 0x2, -0x1, -0x4, 0x1, 0x3, 0x0, -0x2, -0x2, 0x2, -0x2,
2251 0x0, -0x4, -0x3, -0x4, -0x1, -0x1, 0x2, 0x2, -0x2, -0x1, -0x1, 0x3, 0x3, -0x4, 0x2, 0x0,
2252 0x3, 0x2, -0x4, -0x1, 0x1, 0x1, 0x3, 0x1, 0x2, 0x3, -0x3, 0x1, -0x4, -0x2, 0x1, -0x3,
2253 -0x3, -0x1, 0x1, -0x3, -0x1, 0x3, -0x4, -0x4, 0x0, 0x0, -0x4, -0x2, 0x3, -0x1, -0x3, -0x3,
2254 }, .{
2255 0x3, -0x2, 0x1, -0x4, 0x1, 0x3, -0x3, 0x1, 0x3, 0x1, 0x1, -0x1, -0x2, 0x1, -0x3, 0x1,
2256 -0x2, -0x2, 0x3, -0x3, -0x1, -0x3, 0x1, -0x1, -0x3, -0x3, 0x1, -0x2, 0x1, -0x2, 0x1, 0x2,
2257 0x3, -0x4, -0x4, -0x1, 0x1, 0x3, 0x1, 0x1, -0x4, 0x2, -0x3, 0x3, 0x3, -0x1, 0x1, -0x1,
2258 -0x2, 0x2, 0x2, -0x4, -0x4, 0x3, -0x2, -0x4, -0x1, -0x2, -0x4, 0x1, 0x2, 0x1, -0x1, -0x2,
2259 });
2260 try testArgs(@Vector(128, i3), .{
2261 -0x4, 0x1, 0x0, -0x4, -0x4, 0x1, -0x4, -0x2, 0x2, 0x2, -0x3, 0x1, 0x2, -0x2, 0x1, 0x1,
2262 0x3, 0x0, 0x3, -0x4, -0x1, 0x3, 0x3, -0x4, 0x0, -0x3, 0x2, -0x2, 0x0, 0x3, 0x1, -0x2,
2263 -0x1, -0x1, 0x3, -0x1, -0x2, 0x3, 0x3, 0x1, -0x3, 0x1, -0x1, -0x2, -0x4, 0x2, -0x2, -0x1,
2264 0x1, 0x1, 0x1, 0x0, -0x1, 0x2, -0x1, 0x3, 0x2, -0x1, -0x2, 0x3, -0x2, 0x3, 0x3, 0x1,
2265 0x3, -0x3, -0x4, -0x1, 0x2, 0x2, -0x2, 0x3, -0x4, -0x2, -0x1, 0x0, 0x1, -0x1, 0x0, 0x0,
2266 -0x2, 0x3, 0x0, -0x3, -0x4, 0x2, -0x3, -0x2, -0x4, 0x0, -0x3, -0x4, -0x4, -0x2, -0x1, -0x3,
2267 0x0, -0x1, 0x0, -0x1, 0x2, -0x4, -0x3, 0x0, -0x4, 0x0, -0x2, 0x1, -0x2, -0x4, -0x1, -0x1,
2268 -0x3, 0x3, -0x1, -0x1, -0x2, 0x1, 0x3, 0x1, -0x3, 0x1, -0x4, -0x2, 0x0, -0x1, -0x2, 0x2,
2269 }, .{
2270 -0x3, 0x2, -0x3, 0x1, -0x2, -0x1, -0x3, 0x1, 0x2, 0x2, -0x2, 0x2, 0x2, 0x1, 0x3, -0x1,
2271 -0x4, -0x3, 0x2, -0x3, -0x2, 0x3, -0x3, 0x2, -0x1, -0x3, 0x1, 0x2, -0x4, 0x2, -0x2, -0x3,
2272 0x1, -0x1, 0x2, 0x2, -0x1, -0x3, -0x4, 0x2, 0x1, -0x4, 0x1, -0x4, 0x2, -0x1, 0x2, -0x2,
2273 0x2, 0x1, -0x4, 0x3, 0x1, -0x2, -0x3, -0x4, 0x3, -0x1, 0x3, -0x4, -0x2, 0x1, -0x2, 0x3,
2274 0x1, 0x1, 0x2, 0x1, -0x1, -0x2, 0x2, -0x1, 0x1, -0x1, -0x3, -0x1, 0x1, -0x4, -0x1, -0x1,
2275 -0x3, -0x1, -0x4, 0x3, 0x1, -0x1, -0x1, -0x1, 0x1, -0x4, 0x1, -0x2, -0x4, 0x2, -0x4, -0x3,
2276 0x2, -0x4, -0x1, 0x1, 0x3, 0x2, -0x1, 0x3, 0x2, 0x2, 0x1, -0x4, -0x3, 0x1, -0x1, 0x1,
2277 -0x2, -0x4, 0x1, 0x3, -0x1, 0x3, 0x1, 0x2, -0x4, 0x2, 0x2, -0x3, -0x3, -0x4, -0x2, 0x3,
2278 });
2279
2280 try testArgs(@Vector(1, u3), .{
2281 0x5,
2282 }, .{
2283 0x2,
2284 });
2285 try testArgs(@Vector(2, u3), .{
2286 0x4, 0x5,
2287 }, .{
2288 0x2, 0x4,
2289 });
2290 try testArgs(@Vector(4, u3), .{
2291 0x7, 0x7, 0x2, 0x3,
2292 }, .{
2293 0x4, 0x5, 0x7, 0x1,
2294 });
2295 try testArgs(@Vector(8, u3), .{
2296 0x1, 0x5, 0x3, 0x7, 0x2, 0x5, 0x4, 0x7,
2297 }, .{
2298 0x5, 0x2, 0x3, 0x5, 0x5, 0x1, 0x3, 0x1,
2299 });
2300 try testArgs(@Vector(16, u3), .{
2301 0x6, 0x5, 0x7, 0x4, 0x7, 0x2, 0x2, 0x3, 0x7, 0x6, 0x6, 0x5, 0x6, 0x4, 0x7, 0x5,
2302 }, .{
2303 0x6, 0x3, 0x5, 0x7, 0x4, 0x4, 0x4, 0x4, 0x6, 0x5, 0x3, 0x7, 0x4, 0x3, 0x3, 0x2,
2304 });
2305 try testArgs(@Vector(32, u3), .{
2306 0x0, 0x6, 0x4, 0x3, 0x2, 0x4, 0x7, 0x5, 0x7, 0x5, 0x0, 0x6, 0x7, 0x2, 0x2, 0x2,
2307 0x6, 0x2, 0x6, 0x5, 0x2, 0x3, 0x1, 0x0, 0x7, 0x1, 0x7, 0x0, 0x3, 0x1, 0x6, 0x2,
2308 }, .{
2309 0x2, 0x5, 0x3, 0x2, 0x2, 0x2, 0x5, 0x4, 0x4, 0x1, 0x7, 0x2, 0x2, 0x2, 0x5, 0x1,
2310 0x2, 0x4, 0x3, 0x5, 0x5, 0x1, 0x5, 0x4, 0x7, 0x5, 0x4, 0x3, 0x1, 0x7, 0x5, 0x6,
2311 });
2312 try testArgs(@Vector(64, u3), .{
2313 0x2, 0x3, 0x1, 0x0, 0x5, 0x6, 0x1, 0x2, 0x2, 0x3, 0x1, 0x1, 0x5, 0x2, 0x2, 0x5,
2314 0x0, 0x0, 0x1, 0x1, 0x0, 0x6, 0x5, 0x2, 0x7, 0x3, 0x1, 0x1, 0x1, 0x0, 0x4, 0x7,
2315 0x2, 0x6, 0x4, 0x0, 0x1, 0x1, 0x6, 0x5, 0x2, 0x0, 0x3, 0x4, 0x1, 0x4, 0x5, 0x2,
2316 0x7, 0x4, 0x6, 0x6, 0x0, 0x2, 0x6, 0x2, 0x4, 0x6, 0x6, 0x5, 0x7, 0x0, 0x3, 0x6,
2317 }, .{
2318 0x7, 0x3, 0x3, 0x2, 0x6, 0x4, 0x3, 0x3, 0x7, 0x2, 0x3, 0x4, 0x7, 0x5, 0x2, 0x4,
2319 0x6, 0x3, 0x6, 0x1, 0x7, 0x4, 0x1, 0x6, 0x7, 0x3, 0x1, 0x3, 0x6, 0x6, 0x5, 0x5,
2320 0x2, 0x5, 0x7, 0x7, 0x4, 0x2, 0x2, 0x7, 0x4, 0x6, 0x6, 0x6, 0x4, 0x6, 0x2, 0x4,
2321 0x3, 0x2, 0x2, 0x1, 0x7, 0x7, 0x4, 0x4, 0x2, 0x4, 0x7, 0x6, 0x7, 0x2, 0x2, 0x3,
2322 });
2323 try testArgs(@Vector(128, u3), .{
2324 0x5, 0x2, 0x5, 0x4, 0x6, 0x0, 0x7, 0x2, 0x0, 0x6, 0x7, 0x4, 0x6, 0x4, 0x2, 0x6,
2325 0x7, 0x3, 0x5, 0x6, 0x4, 0x5, 0x3, 0x0, 0x1, 0x5, 0x2, 0x0, 0x7, 0x2, 0x7, 0x5,
2326 0x4, 0x6, 0x5, 0x4, 0x4, 0x3, 0x5, 0x7, 0x0, 0x2, 0x0, 0x6, 0x6, 0x1, 0x3, 0x3,
2327 0x3, 0x7, 0x3, 0x3, 0x1, 0x0, 0x5, 0x3, 0x0, 0x0, 0x5, 0x5, 0x2, 0x4, 0x7, 0x4,
2328 0x4, 0x1, 0x5, 0x0, 0x3, 0x2, 0x1, 0x3, 0x7, 0x3, 0x1, 0x4, 0x3, 0x1, 0x3, 0x2,
2329 0x5, 0x7, 0x7, 0x2, 0x3, 0x7, 0x1, 0x1, 0x0, 0x7, 0x2, 0x5, 0x7, 0x0, 0x1, 0x4,
2330 0x5, 0x6, 0x0, 0x1, 0x1, 0x4, 0x7, 0x5, 0x2, 0x3, 0x7, 0x7, 0x1, 0x3, 0x6, 0x4,
2331 0x6, 0x0, 0x1, 0x0, 0x3, 0x7, 0x5, 0x4, 0x7, 0x4, 0x6, 0x5, 0x6, 0x6, 0x7, 0x4,
2332 }, .{
2333 0x5, 0x7, 0x5, 0x1, 0x7, 0x1, 0x3, 0x5, 0x1, 0x4, 0x3, 0x2, 0x5, 0x5, 0x2, 0x1,
2334 0x4, 0x2, 0x2, 0x2, 0x5, 0x7, 0x1, 0x6, 0x2, 0x5, 0x2, 0x7, 0x2, 0x7, 0x4, 0x4,
2335 0x1, 0x5, 0x4, 0x3, 0x2, 0x1, 0x1, 0x6, 0x3, 0x4, 0x7, 0x2, 0x7, 0x4, 0x1, 0x4,
2336 0x3, 0x5, 0x3, 0x4, 0x6, 0x3, 0x7, 0x6, 0x6, 0x1, 0x7, 0x6, 0x3, 0x3, 0x5, 0x5,
2337 0x7, 0x1, 0x1, 0x3, 0x3, 0x3, 0x1, 0x1, 0x1, 0x2, 0x6, 0x5, 0x3, 0x7, 0x1, 0x1,
2338 0x5, 0x3, 0x1, 0x2, 0x7, 0x2, 0x5, 0x6, 0x4, 0x7, 0x3, 0x6, 0x5, 0x4, 0x3, 0x3,
2339 0x5, 0x3, 0x7, 0x2, 0x3, 0x3, 0x7, 0x3, 0x1, 0x5, 0x3, 0x4, 0x7, 0x7, 0x5, 0x7,
2340 0x1, 0x1, 0x2, 0x7, 0x2, 0x5, 0x1, 0x6, 0x4, 0x6, 0x1, 0x6, 0x5, 0x1, 0x2, 0x1,
2341 });
2342
2343 try testArgs(@Vector(1, i4), .{
2344 0x2,
2345 }, .{
2346 0x1,
2347 });
2348 try testArgs(@Vector(2, i4), .{
2349 -0x2, 0x5,
2350 }, .{
2351 -0x1, 0x2,
2352 });
2353 try testArgs(@Vector(4, i4), .{
2354 -0x8, 0x5, 0x5, -0x2,
2355 }, .{
2356 -0x3, -0x7, -0x4, -0x5,
2357 });
2358 try testArgs(@Vector(8, i4), .{
2359 0x7, 0x3, 0x2, -0x1, -0x8, -0x2, 0x7, 0x1,
2360 }, .{
2361 -0x2, 0x4, -0x8, 0x7, 0x1, -0x5, 0x6, -0x7,
2362 });
2363 try testArgs(@Vector(16, i4), .{
2364 0x6, -0x3, 0x6, 0x6, -0x5, 0x6, 0x3, 0x7, -0x6, 0x7, -0x7, 0x6, -0x2, -0x2, -0x5, 0x0,
2365 }, .{
2366 0x2, -0x3, -0x4, -0x5, 0x3, 0x3, -0x5, 0x5, 0x4, -0x1, -0x6, 0x4, 0x7, -0x2, 0x3, 0x2,
2367 });
2368 try testArgs(@Vector(32, i4), .{
2369 -0x1, -0x4, 0x6, 0x6, 0x5, 0x3, 0x4, 0x0, 0x3, 0x7, -0x6, 0x7, -0x2, -0x7, -0x4, 0x6,
2370 0x3, -0x7, -0x5, 0x1, -0x7, -0x6, 0x1, 0x3, 0x7, -0x8, -0x5, 0x6, -0x5, 0x0, 0x0, -0x8,
2371 }, .{
2372 -0x4, -0x4, -0x4, 0x4, -0x5, 0x3, -0x1, 0x6, 0x1, -0x3, -0x1, 0x6, 0x5, -0x8, 0x1, -0x4,
2373 -0x1, -0x4, 0x1, -0x3, 0x4, 0x6, -0x3, -0x8, -0x7, -0x4, 0x2, -0x3, -0x1, -0x2, 0x6, -0x6,
2374 });
2375 try testArgs(@Vector(64, i4), .{
2376 0x0, -0x3, -0x3, 0x5, 0x2, -0x1, 0x4, 0x5, 0x6, -0x2, 0x1, 0x5, -0x3, -0x1, -0x2, -0x1,
2377 -0x8, 0x2, -0x1, -0x2, 0x7, -0x3, -0x2, -0x3, 0x1, -0x5, 0x5, 0x2, -0x1, -0x6, -0x2, -0x1,
2378 -0x2, -0x5, 0x0, 0x6, 0x3, -0x4, -0x5, -0x5, -0x4, -0x7, -0x4, 0x1, 0x0, -0x6, -0x7, -0x6,
2379 0x1, -0x6, 0x4, -0x4, -0x2, 0x6, -0x7, 0x4, 0x4, 0x5, 0x3, -0x6, -0x8, -0x5, 0x5, -0x7,
2380 }, .{
2381 -0x1, -0x5, 0x5, -0x2, 0x6, -0x6, -0x4, -0x5, -0x4, 0x7, -0x6, 0x7, 0x4, -0x5, 0x5, 0x7,
2382 -0x6, 0x3, -0x4, 0x2, -0x8, 0x4, -0x2, 0x5, -0x5, -0x5, -0x8, 0x3, -0x1, -0x4, -0x8, -0x2,
2383 -0x2, 0x5, -0x7, -0x3, 0x2, -0x5, -0x6, -0x7, -0x8, -0x2, 0x5, -0x3, 0x2, -0x1, -0x7, -0x4,
2384 -0x3, -0x3, 0x6, -0x8, 0x3, -0x4, 0x7, 0x3, -0x2, 0x7, -0x1, 0x1, 0x1, 0x6, -0x2, -0x2,
2385 });
2386 try testArgs(@Vector(128, i4), .{
2387 -0x1, -0x3, -0x3, -0x4, 0x3, -0x4, 0x0, -0x4, 0x7, 0x3, 0x5, -0x4, -0x5, -0x4, -0x2, -0x7,
2388 0x2, 0x0, -0x4, 0x7, 0x3, -0x5, 0x4, 0x5, -0x2, -0x3, -0x4, 0x6, -0x7, -0x1, 0x1, -0x6,
2389 0x1, 0x5, 0x2, 0x5, 0x2, 0x2, -0x4, -0x4, 0x5, 0x2, -0x2, -0x8, -0x1, -0x2, 0x5, 0x3,
2390 0x0, -0x5, 0x5, 0x7, 0x6, -0x3, -0x2, 0x0, -0x7, -0x7, -0x4, 0x2, -0x4, 0x7, 0x1, -0x5,
2391 -0x4, -0x8, 0x2, -0x7, 0x3, -0x4, 0x7, 0x6, -0x7, -0x3, -0x7, 0x2, 0x4, 0x2, -0x5, -0x6,
2392 0x3, 0x5, 0x1, 0x6, 0x5, 0x7, 0x7, -0x4, -0x7, -0x1, 0x0, -0x7, 0x6, 0x0, 0x6, 0x0,
2393 0x0, -0x5, -0x1, -0x8, 0x7, -0x6, -0x5, -0x2, -0x4, 0x1, 0x1, -0x8, 0x2, 0x6, -0x1, -0x3,
2394 -0x6, 0x5, -0x8, 0x3, 0x3, 0x1, -0x1, -0x3, -0x3, -0x6, 0x7, -0x6, -0x8, 0x1, -0x7, -0x8,
2395 }, .{
2396 0x1, 0x3, 0x1, 0x3, -0x6, 0x6, 0x2, -0x3, 0x1, -0x7, 0x7, -0x3, -0x1, -0x1, 0x7, 0x2,
2397 -0x8, 0x2, -0x3, -0x4, 0x4, -0x4, 0x7, 0x6, -0x5, -0x2, -0x1, 0x6, -0x7, 0x4, 0x7, -0x3,
2398 -0x5, -0x8, -0x5, -0x6, -0x6, 0x2, 0x1, -0x8, 0x4, 0x3, -0x5, 0x7, -0x8, 0x3, -0x1, 0x7,
2399 -0x3, 0x7, -0x3, -0x2, -0x6, 0x4, 0x2, -0x2, -0x2, -0x7, 0x5, -0x1, -0x6, 0x7, -0x5, 0x5,
2400 0x4, 0x5, -0x8, -0x5, 0x6, 0x1, -0x5, 0x7, -0x6, -0x3, -0x4, 0x6, -0x8, 0x7, 0x7, -0x6,
2401 0x6, -0x4, 0x2, -0x8, -0x8, -0x4, -0x8, -0x3, 0x6, 0x5, 0x7, -0x6, 0x1, 0x2, -0x7, -0x3,
2402 -0x3, 0x1, -0x3, 0x3, -0x1, 0x3, -0x7, -0x8, 0x1, -0x3, -0x3, -0x3, -0x4, 0x5, 0x7, -0x7,
2403 0x3, 0x2, 0x6, -0x2, -0x4, -0x3, -0x1, 0x5, -0x6, 0x2, 0x3, -0x5, 0x5, -0x3, -0x2, -0x8,
2404 });
2405
2406 try testArgs(@Vector(1, u4), .{
2407 0x2,
2408 }, .{
2409 0xa,
2410 });
2411 try testArgs(@Vector(2, u4), .{
2412 0x0, 0xa,
2413 }, .{
2414 0xb, 0xa,
2415 });
2416 try testArgs(@Vector(4, u4), .{
2417 0xb, 0x7, 0x0, 0xd,
2418 }, .{
2419 0x4, 0x5, 0xf, 0x3,
2420 });
2421 try testArgs(@Vector(8, u4), .{
2422 0x9, 0xf, 0x0, 0x5, 0x4, 0x9, 0x3, 0x7,
2423 }, .{
2424 0xc, 0x6, 0x8, 0x8, 0x9, 0x8, 0x9, 0x2,
2425 });
2426 try testArgs(@Vector(16, u4), .{
2427 0x0, 0xb, 0xd, 0x2, 0x8, 0xa, 0x6, 0x7, 0xa, 0xf, 0xf, 0x4, 0x9, 0x9, 0x9, 0xf,
2428 }, .{
2429 0xd, 0x1, 0xf, 0x8, 0xb, 0xa, 0xe, 0x4, 0x5, 0x3, 0xd, 0x4, 0x1, 0xd, 0xd, 0xe,
2430 });
2431 try testArgs(@Vector(32, u4), .{
2432 0x3, 0xc, 0x5, 0x1, 0xa, 0x6, 0x7, 0xe, 0x5, 0x8, 0x5, 0x6, 0xe, 0x0, 0xe, 0x6,
2433 0x9, 0x5, 0x3, 0x6, 0xd, 0xe, 0x9, 0x4, 0xf, 0x1, 0x1, 0x5, 0x0, 0x2, 0xa, 0x0,
2434 }, .{
2435 0xd, 0x8, 0x7, 0xe, 0xa, 0x2, 0x5, 0x8, 0x5, 0x1, 0xa, 0x8, 0x1, 0x8, 0xb, 0x3,
2436 0xb, 0xe, 0x5, 0xf, 0xb, 0x8, 0xd, 0x7, 0x6, 0x4, 0x7, 0x5, 0x5, 0x7, 0xf, 0x6,
2437 });
2438 try testArgs(@Vector(64, u4), .{
2439 0x5, 0xd, 0x0, 0xd, 0x1, 0xb, 0xb, 0xe, 0xb, 0x7, 0xa, 0xc, 0xb, 0xe, 0x8, 0x9,
2440 0x1, 0xb, 0x9, 0x5, 0xa, 0x6, 0xc, 0x5, 0x1, 0xe, 0x5, 0xb, 0x2, 0x8, 0x1, 0x4,
2441 0x2, 0x6, 0x5, 0x1, 0x0, 0x5, 0xa, 0x5, 0xf, 0xf, 0x0, 0xb, 0x5, 0x4, 0xf, 0xb,
2442 0x6, 0x0, 0xb, 0x4, 0x7, 0x8, 0xd, 0xf, 0xc, 0xc, 0x1, 0xe, 0x0, 0xb, 0xa, 0xd,
2443 }, .{
2444 0xc, 0x5, 0xb, 0x3, 0x1, 0x5, 0xb, 0x1, 0x2, 0x1, 0x8, 0x4, 0xe, 0x1, 0xa, 0x7,
2445 0x2, 0x9, 0x4, 0xd, 0xa, 0x5, 0x4, 0xe, 0x1, 0x4, 0xb, 0x2, 0x9, 0x7, 0x4, 0x2,
2446 0x7, 0xd, 0x7, 0xb, 0xb, 0xf, 0xc, 0x5, 0xe, 0xf, 0x4, 0x8, 0x9, 0x5, 0x3, 0x6,
2447 0x8, 0x4, 0x2, 0x5, 0x8, 0x2, 0x3, 0x5, 0x4, 0xf, 0x5, 0x9, 0x4, 0x8, 0x9, 0x8,
2448 });
2449 try testArgs(@Vector(128, u4), .{
2450 0xe, 0x0, 0xa, 0xa, 0xf, 0x3, 0x3, 0x9, 0xe, 0x2, 0x7, 0x2, 0xf, 0x7, 0xf, 0x6,
2451 0xa, 0x8, 0x0, 0x5, 0x6, 0x4, 0xf, 0x6, 0x5, 0xd, 0x0, 0xc, 0x3, 0xe, 0x3, 0x3,
2452 0x5, 0x4, 0x8, 0x8, 0xb, 0x0, 0x7, 0x3, 0x8, 0xa, 0x8, 0x0, 0x8, 0x4, 0x7, 0x4,
2453 0x9, 0x6, 0xa, 0x2, 0xe, 0x2, 0x0, 0x1, 0xe, 0xf, 0x9, 0x0, 0x9, 0x4, 0xb, 0xa,
2454 0x1, 0x7, 0xf, 0xd, 0x6, 0x6, 0x2, 0x2, 0x1, 0xd, 0xe, 0x7, 0x5, 0xd, 0x9, 0x7,
2455 0xd, 0xc, 0xc, 0x0, 0xa, 0xc, 0x1, 0xa, 0x5, 0x3, 0xf, 0xc, 0xf, 0x7, 0x1, 0xc,
2456 0xa, 0x4, 0x3, 0xa, 0xc, 0x8, 0x2, 0xc, 0xf, 0x7, 0x3, 0x7, 0xf, 0x0, 0x0, 0x8,
2457 0x7, 0x3, 0x4, 0x9, 0xb, 0xc, 0x5, 0x0, 0x1, 0x2, 0xa, 0x7, 0x9, 0x1, 0x3, 0x1,
2458 }, .{
2459 0xb, 0x1, 0x9, 0x3, 0x4, 0xb, 0xb, 0x4, 0xb, 0x7, 0x2, 0x7, 0x4, 0x5, 0x1, 0x4,
2460 0x5, 0xa, 0xb, 0x4, 0x4, 0x2, 0xa, 0xb, 0xe, 0x4, 0x7, 0xb, 0xb, 0x4, 0x1, 0x6,
2461 0xd, 0x3, 0xc, 0x7, 0x8, 0x1, 0x7, 0x6, 0xf, 0x9, 0x8, 0x4, 0x5, 0x2, 0x6, 0xe,
2462 0xb, 0xd, 0x4, 0x6, 0x5, 0xb, 0x2, 0x8, 0x7, 0x2, 0xf, 0xe, 0x9, 0xe, 0xa, 0x5,
2463 0x6, 0xc, 0xb, 0x1, 0x8, 0xc, 0xd, 0x3, 0x1, 0x4, 0x4, 0xf, 0x4, 0x3, 0x5, 0x7,
2464 0xf, 0x3, 0x5, 0xf, 0xe, 0x2, 0xd, 0x7, 0x6, 0x2, 0x4, 0xd, 0xd, 0xa, 0x1, 0xa,
2465 0xb, 0xa, 0xa, 0x2, 0x4, 0x9, 0x8, 0xa, 0xe, 0xb, 0xf, 0xf, 0x6, 0x4, 0x9, 0x8,
2466 0x9, 0x6, 0x4, 0x5, 0xf, 0xe, 0x8, 0x5, 0x2, 0x5, 0xf, 0xb, 0xf, 0x4, 0x6, 0x4,
2467 });
2468
2469 try testArgs(@Vector(1, i5), .{
2470 0x03,
2471 }, .{
2472 0x0a,
2473 });
2474 try testArgs(@Vector(2, i5), .{
2475 0x0c, -0x0e,
2476 }, .{
2477 -0x0f, -0x0e,
2478 });
2479 try testArgs(@Vector(4, i5), .{
2480 -0x0a, 0x06, -0x05, 0x09,
2481 }, .{
2482 -0x0f, 0x05, 0x05, 0x09,
2483 });
2484 try testArgs(@Vector(8, i5), .{
2485 -0x04, -0x04, 0x05, -0x05, 0x0f, -0x0e, 0x0f, -0x0e,
2486 }, .{
2487 -0x09, -0x0d, 0x02, 0x01, 0x08, -0x05, -0x09, -0x03,
2488 });
2489 try testArgs(@Vector(16, i5), .{
2490 -0x0e, -0x08, -0x10, -0x0b, -0x10, -0x09, -0x0f, -0x05, -0x10, 0x06, 0x0d, -0x04, 0x09, -0x0e, -0x10, -0x10,
2491 }, .{
2492 0x03, 0x0b, 0x0c, 0x06, -0x0d, 0x0e, -0x09, -0x04, 0x0a, -0x0e, -0x0d, 0x0f, -0x09, -0x0e, -0x0b, 0x03,
2493 });
2494 try testArgs(@Vector(32, i5), .{
2495 -0x08, -0x05, 0x09, -0x08, 0x01, 0x0e, -0x0c, 0x0b, -0x0e, 0x0f, -0x0b, 0x01, -0x03, 0x03, 0x08, 0x04,
2496 0x02, 0x0f, -0x0b, -0x0b, 0x0d, 0x00, 0x09, 0x00, -0x06, -0x08, -0x01, 0x0b, 0x05, 0x03, -0x05, -0x07,
2497 }, .{
2498 -0x0c, 0x07, 0x0d, -0x09, 0x0a, 0x06, -0x0b, -0x07, -0x0a, 0x08, 0x07, -0x0d, 0x08, 0x07, 0x09, -0x07,
2499 0x0b, -0x02, -0x02, -0x02, -0x06, -0x08, 0x0a, -0x0a, 0x02, -0x07, -0x0a, 0x0d, -0x07, -0x05, -0x0e, 0x05,
2500 });
2501 try testArgs(@Vector(64, i5), .{
2502 0x04, -0x0d, 0x0d, -0x01, 0x07, 0x0c, 0x00, 0x01, -0x07, 0x0a, -0x01, -0x01, 0x08, -0x0b, -0x03, -0x06,
2503 -0x03, -0x03, -0x0c, 0x0e, -0x0c, -0x02, 0x07, -0x03, 0x0e, -0x0a, -0x0e, -0x06, -0x08, 0x0a, -0x0c, -0x0c,
2504 0x06, -0x04, 0x04, 0x00, 0x05, 0x07, 0x04, 0x06, -0x01, 0x0a, 0x07, -0x08, 0x00, 0x0f, 0x0f, 0x0d,
2505 -0x07, 0x0f, 0x05, -0x0b, -0x08, -0x0c, 0x0d, -0x05, -0x05, 0x0e, 0x02, 0x06, 0x0d, 0x06, 0x00, 0x0a,
2506 }, .{
2507 0x02, -0x09, -0x01, -0x10, -0x0c, -0x0f, -0x10, -0x0d, 0x02, 0x0e, 0x07, -0x01, -0x0a, -0x0b, 0x05, -0x0e,
2508 -0x09, 0x03, 0x08, -0x0d, 0x0d, 0x03, -0x02, 0x0e, 0x0c, 0x03, 0x0b, -0x0d, -0x04, -0x10, 0x0e, 0x0d,
2509 0x09, -0x03, -0x0e, -0x03, -0x05, -0x0c, -0x07, 0x08, -0x06, 0x08, -0x0e, 0x02, -0x10, 0x01, 0x01, -0x0a,
2510 0x01, -0x09, 0x03, -0x01, 0x05, 0x09, 0x06, -0x03, -0x0a, 0x08, -0x0e, 0x0e, 0x07, -0x05, -0x0c, -0x10,
2511 });
2512 try testArgs(@Vector(128, i5), .{
2513 0x01, 0x0b, -0x01, -0x10, -0x05, 0x05, -0x09, 0x0e, -0x0e, 0x04, 0x0f, -0x06, 0x0f, 0x04, -0x02, 0x0a,
2514 -0x08, -0x06, 0x08, -0x07, -0x08, 0x0e, 0x06, 0x0d, -0x07, -0x04, 0x04, -0x0b, 0x02, -0x06, 0x07, -0x10,
2515 0x0d, 0x09, 0x0b, -0x04, 0x0e, -0x06, -0x0a, 0x01, 0x06, 0x08, 0x01, -0x0b, -0x09, -0x08, -0x0c, -0x0b,
2516 0x07, 0x06, 0x0d, 0x0c, -0x0b, -0x03, -0x06, -0x0c, -0x0e, 0x05, 0x0b, 0x08, -0x01, 0x00, 0x01, 0x0a,
2517 0x00, 0x0a, 0x06, 0x06, -0x10, -0x05, -0x05, -0x0f, 0x02, -0x06, -0x08, -0x08, 0x0f, 0x09, -0x07, -0x05,
2518 0x07, 0x06, 0x03, 0x05, 0x02, 0x0f, 0x0d, -0x0e, -0x03, -0x01, -0x06, -0x02, -0x01, -0x07, 0x09, 0x05,
2519 -0x07, -0x07, -0x08, 0x0c, -0x0e, 0x09, -0x0c, -0x0d, 0x07, 0x04, 0x07, -0x03, 0x09, 0x0e, 0x04, 0x02,
2520 0x0f, -0x02, -0x10, -0x03, -0x0d, -0x04, 0x0c, -0x06, -0x01, -0x0e, -0x0e, -0x0a, 0x0d, -0x0e, 0x04, 0x03,
2521 }, .{
2522 -0x08, -0x09, -0x04, 0x0f, -0x0f, -0x08, -0x04, 0x0b, 0x09, -0x0b, -0x02, 0x0f, 0x01, -0x01, -0x0a, -0x0a,
2523 0x08, 0x09, 0x0d, -0x06, 0x0f, -0x02, 0x0c, 0x01, 0x0c, 0x02, -0x04, 0x0b, 0x05, 0x02, -0x08, -0x09,
2524 0x01, 0x0f, -0x0b, 0x02, -0x06, 0x08, -0x0e, -0x02, -0x0b, -0x03, -0x01, 0x0c, 0x09, -0x04, 0x08, -0x0a,
2525 0x09, -0x05, 0x08, 0x0e, 0x05, 0x03, -0x0a, 0x0d, -0x03, 0x06, 0x0f, -0x09, 0x0a, 0x03, 0x02, 0x0c,
2526 0x08, -0x0a, 0x06, 0x0e, 0x08, 0x02, 0x08, -0x04, -0x0d, -0x02, -0x08, -0x0a, 0x0a, 0x0c, -0x03, 0x04,
2527 0x0b, -0x0c, -0x0e, 0x01, 0x07, -0x01, 0x09, 0x0f, -0x06, -0x05, -0x0e, -0x01, -0x04, 0x0a, -0x0a, -0x0d,
2528 -0x10, -0x10, -0x03, -0x0f, -0x0c, -0x0a, -0x0b, -0x06, -0x04, -0x0f, -0x0b, -0x08, 0x0e, 0x04, -0x01, -0x0b,
2529 -0x06, 0x0a, 0x0a, -0x0c, -0x0c, 0x0b, -0x02, 0x0c, -0x04, -0x06, -0x0c, -0x09, -0x09, -0x0b, -0x0c, -0x0b,
2530 });
2531
2532 try testArgs(@Vector(1, u5), .{
2533 0x0a,
2534 }, .{
2535 0x1c,
2536 });
2537 try testArgs(@Vector(2, u5), .{
2538 0x01, 0x07,
2539 }, .{
2540 0x03, 0x1d,
2541 });
2542 try testArgs(@Vector(4, u5), .{
2543 0x1c, 0x0d, 0x1f, 0x0a,
2544 }, .{
2545 0x14, 0x03, 0x07, 0x02,
2546 });
2547 try testArgs(@Vector(8, u5), .{
2548 0x00, 0x0c, 0x1f, 0x01, 0x12, 0x14, 0x12, 0x10,
2549 }, .{
2550 0x0c, 0x14, 0x05, 0x1a, 0x04, 0x17, 0x06, 0x1a,
2551 });
2552 try testArgs(@Vector(16, u5), .{
2553 0x1e, 0x17, 0x03, 0x16, 0x1f, 0x10, 0x00, 0x05, 0x19, 0x10, 0x18, 0x0d, 0x0f, 0x1b, 0x1e, 0x05,
2554 }, .{
2555 0x18, 0x13, 0x14, 0x12, 0x10, 0x11, 0x18, 0x0c, 0x03, 0x02, 0x11, 0x03, 0x17, 0x0c, 0x19, 0x05,
2556 });
2557 try testArgs(@Vector(32, u5), .{
2558 0x1a, 0x10, 0x16, 0x1f, 0x08, 0x07, 0x1a, 0x04, 0x05, 0x16, 0x07, 0x09, 0x09, 0x03, 0x0f, 0x00,
2559 0x03, 0x05, 0x1c, 0x00, 0x07, 0x16, 0x17, 0x1b, 0x0b, 0x01, 0x0e, 0x08, 0x15, 0x12, 0x04, 0x16,
2560 }, .{
2561 0x02, 0x14, 0x09, 0x17, 0x0c, 0x10, 0x1a, 0x1e, 0x14, 0x06, 0x03, 0x1b, 0x1d, 0x1f, 0x18, 0x0b,
2562 0x16, 0x1b, 0x11, 0x14, 0x0d, 0x18, 0x05, 0x18, 0x16, 0x1a, 0x14, 0x04, 0x14, 0x1a, 0x0c, 0x1e,
2563 });
2564 try testArgs(@Vector(64, u5), .{
2565 0x0c, 0x09, 0x0c, 0x05, 0x0e, 0x08, 0x0b, 0x07, 0x18, 0x05, 0x0a, 0x1e, 0x06, 0x14, 0x0d, 0x03,
2566 0x0c, 0x0d, 0x00, 0x10, 0x0f, 0x05, 0x12, 0x0e, 0x0c, 0x1c, 0x16, 0x11, 0x14, 0x0b, 0x16, 0x06,
2567 0x1e, 0x07, 0x00, 0x13, 0x09, 0x13, 0x1b, 0x03, 0x12, 0x1c, 0x0b, 0x04, 0x18, 0x0a, 0x18, 0x16,
2568 0x16, 0x0a, 0x11, 0x19, 0x00, 0x1d, 0x08, 0x06, 0x0a, 0x1e, 0x09, 0x1d, 0x18, 0x1e, 0x06, 0x1b,
2569 }, .{
2570 0x0d, 0x10, 0x05, 0x18, 0x10, 0x0a, 0x06, 0x03, 0x1c, 0x10, 0x1c, 0x1e, 0x19, 0x1c, 0x04, 0x03,
2571 0x0a, 0x1d, 0x1f, 0x10, 0x0e, 0x04, 0x0c, 0x18, 0x14, 0x05, 0x11, 0x19, 0x19, 0x14, 0x10, 0x06,
2572 0x0b, 0x16, 0x0f, 0x01, 0x12, 0x0c, 0x1b, 0x03, 0x19, 0x0d, 0x12, 0x15, 0x15, 0x11, 0x16, 0x1f,
2573 0x03, 0x11, 0x06, 0x11, 0x1d, 0x16, 0x0c, 0x17, 0x19, 0x1a, 0x06, 0x16, 0x13, 0x0a, 0x09, 0x1c,
2574 });
2575 try testArgs(@Vector(128, u5), .{
2576 0x09, 0x16, 0x11, 0x1e, 0x17, 0x13, 0x1d, 0x14, 0x07, 0x15, 0x1c, 0x0b, 0x08, 0x19, 0x01, 0x0b,
2577 0x1b, 0x19, 0x00, 0x0c, 0x0c, 0x0a, 0x10, 0x08, 0x1a, 0x1c, 0x03, 0x14, 0x1c, 0x0b, 0x18, 0x1f,
2578 0x0c, 0x10, 0x17, 0x16, 0x05, 0x16, 0x0e, 0x03, 0x02, 0x0b, 0x13, 0x0b, 0x0a, 0x09, 0x0f, 0x01,
2579 0x17, 0x0f, 0x1c, 0x13, 0x1d, 0x0b, 0x03, 0x0e, 0x01, 0x04, 0x1f, 0x18, 0x04, 0x07, 0x10, 0x05,
2580 0x18, 0x09, 0x08, 0x16, 0x1e, 0x0e, 0x0f, 0x0c, 0x11, 0x0b, 0x0c, 0x13, 0x0f, 0x13, 0x13, 0x1d,
2581 0x02, 0x01, 0x0f, 0x03, 0x17, 0x0f, 0x0f, 0x09, 0x0a, 0x1e, 0x1c, 0x0e, 0x0d, 0x17, 0x1e, 0x02,
2582 0x07, 0x05, 0x0f, 0x0b, 0x01, 0x1f, 0x13, 0x17, 0x1a, 0x01, 0x1d, 0x12, 0x07, 0x01, 0x11, 0x10,
2583 0x1a, 0x19, 0x02, 0x06, 0x1a, 0x1e, 0x13, 0x18, 0x11, 0x14, 0x19, 0x15, 0x1a, 0x1f, 0x01, 0x01,
2584 }, .{
2585 0x10, 0x04, 0x14, 0x13, 0x04, 0x0f, 0x1d, 0x17, 0x0a, 0x08, 0x17, 0x1a, 0x02, 0x0c, 0x0c, 0x12,
2586 0x07, 0x0d, 0x11, 0x1c, 0x01, 0x17, 0x13, 0x1b, 0x11, 0x1c, 0x02, 0x16, 0x10, 0x0c, 0x16, 0x07,
2587 0x02, 0x18, 0x03, 0x04, 0x1c, 0x1c, 0x18, 0x0c, 0x15, 0x14, 0x17, 0x1c, 0x1e, 0x0b, 0x1c, 0x1f,
2588 0x18, 0x13, 0x02, 0x06, 0x18, 0x03, 0x1e, 0x12, 0x0a, 0x03, 0x07, 0x11, 0x09, 0x1a, 0x1c, 0x07,
2589 0x10, 0x1b, 0x19, 0x0b, 0x1c, 0x10, 0x08, 0x05, 0x02, 0x09, 0x04, 0x02, 0x11, 0x05, 0x13, 0x1a,
2590 0x0b, 0x1b, 0x1e, 0x11, 0x1e, 0x0e, 0x05, 0x18, 0x08, 0x0c, 0x04, 0x04, 0x06, 0x15, 0x05, 0x04,
2591 0x14, 0x1f, 0x18, 0x0c, 0x04, 0x04, 0x03, 0x1c, 0x1e, 0x09, 0x1d, 0x08, 0x13, 0x16, 0x0d, 0x1c,
2592 0x15, 0x16, 0x04, 0x02, 0x0c, 0x04, 0x13, 0x1d, 0x1d, 0x07, 0x1a, 0x1c, 0x15, 0x15, 0x19, 0x09,
2593 });
2594
2595 try testArgs(@Vector(1, i7), .{
2596 0x3b,
2597 }, .{
2598 0x0d,
2599 });
2600 try testArgs(@Vector(2, i7), .{
2601 -0x3e, -0x06,
2602 }, .{
2603 -0x37, -0x0f,
2604 });
2605 try testArgs(@Vector(4, i7), .{
2606 0x35, 0x29, -0x17, 0x39,
2607 }, .{
2608 -0x2c, -0x02, -0x29, -0x1a,
2609 });
2610 try testArgs(@Vector(8, i7), .{
2611 0x1d, 0x25, 0x03, 0x1c, -0x12, -0x09, 0x1d, 0x3c,
2612 }, .{
2613 0x34, 0x33, 0x3e, -0x21, 0x13, 0x2d, 0x1f, 0x05,
2614 });
2615 try testArgs(@Vector(16, i7), .{
2616 -0x12, 0x39, 0x11, 0x28, 0x29, -0x30, 0x08, -0x33, 0x2e, 0x03, 0x31, -0x2b, -0x1f, 0x37, 0x0f, -0x31,
2617 }, .{
2618 -0x0d, -0x1a, -0x22, -0x38, 0x30, 0x32, -0x38, -0x3b, -0x04, -0x2c, 0x27, -0x0d, -0x02, -0x2d, 0x18, 0x09,
2619 });
2620 try testArgs(@Vector(32, i7), .{
2621 0x04, 0x09, 0x1e, -0x1b, -0x33, 0x1f, -0x08, 0x2d, -0x30, -0x3c, 0x11, -0x2a, 0x29, -0x16, -0x3b, -0x1e,
2622 0x3a, -0x0d, 0x11, 0x16, 0x27, 0x0f, 0x2f, 0x14, 0x3b, -0x2f, -0x3d, 0x1d, -0x08, -0x2e, -0x2a, -0x33,
2623 }, .{
2624 -0x09, 0x3c, 0x15, -0x25, -0x03, 0x0a, 0x11, 0x03, 0x12, -0x1d, -0x23, 0x29, -0x30, -0x35, -0x0e, -0x15,
2625 -0x1c, -0x14, 0x07, 0x29, -0x0d, -0x2e, 0x12, -0x3b, -0x0c, 0x22, -0x15, -0x2d, 0x04, 0x19, 0x14, -0x1d,
2626 });
2627 try testArgs(@Vector(64, i7), .{
2628 0x23, 0x09, -0x13, 0x03, 0x19, -0x35, -0x06, -0x3c, -0x31, 0x12, 0x09, 0x22, -0x15, -0x1c, -0x25, -0x31,
2629 0x3a, -0x31, 0x05, 0x0b, -0x14, 0x38, 0x39, 0x15, 0x15, -0x11, 0x11, -0x21, 0x2f, 0x3d, -0x2e, -0x33,
2630 -0x38, 0x1b, 0x14, 0x1d, 0x0d, -0x16, 0x10, -0x0a, 0x25, 0x0d, 0x1e, 0x1a, -0x15, 0x21, 0x3e, -0x0c,
2631 0x03, 0x3f, 0x1f, 0x17, 0x2c, -0x0a, -0x2b, 0x1f, 0x32, 0x09, 0x0f, -0x15, 0x24, -0x35, 0x27, -0x13,
2632 }, .{
2633 -0x20, 0x25, 0x38, -0x28, 0x06, -0x2f, -0x0b, -0x2b, 0x21, -0x23, -0x08, 0x06, -0x2a, -0x26, 0x33, -0x2f,
2634 0x06, -0x1b, 0x3c, -0x3d, 0x3e, 0x1f, 0x27, 0x28, -0x05, -0x31, -0x29, -0x25, -0x13, -0x07, -0x3e, 0x3e,
2635 0x0e, -0x2c, -0x0f, -0x3b, 0x1b, 0x17, 0x3f, -0x3a, 0x21, -0x16, 0x11, -0x0a, 0x1b, 0x2a, 0x27, 0x3e,
2636 -0x09, -0x34, 0x20, 0x3e, -0x29, -0x35, -0x0b, -0x20, -0x19, 0x21, 0x13, 0x22, 0x0c, -0x1f, 0x38, 0x21,
2637 });
2638 try testArgs(@Vector(128, i7), .{
2639 -0x38, -0x10, 0x08, -0x2b, 0x3e, -0x19, 0x39, -0x1f, -0x27, -0x10, -0x0c, 0x02, 0x07, 0x10, -0x1a, 0x0b,
2640 0x3c, -0x2e, 0x1b, -0x17, 0x3e, -0x1b, -0x04, 0x35, 0x2d, 0x0d, 0x33, 0x0f, 0x18, 0x0b, 0x1a, -0x09,
2641 0x25, -0x0b, -0x21, 0x3a, -0x28, 0x12, 0x16, 0x03, -0x1f, 0x1d, -0x1c, -0x1a, -0x38, 0x32, 0x3d, -0x2a,
2642 -0x0b, -0x1b, -0x39, -0x0d, -0x20, -0x1e, -0x39, 0x02, -0x13, -0x23, 0x2f, 0x0a, -0x22, 0x15, 0x34, -0x06,
2643 -0x2e, -0x3b, 0x26, 0x38, 0x33, -0x29, -0x0c, 0x2e, 0x07, -0x19, 0x3c, -0x35, -0x33, 0x39, 0x3c, 0x37,
2644 -0x07, -0x13, 0x16, 0x05, -0x27, 0x28, -0x2b, -0x07, -0x25, -0x01, 0x1d, -0x0a, -0x01, 0x1d, -0x2a, -0x30,
2645 0x31, 0x0a, -0x24, 0x0c, 0x35, -0x1c, -0x04, 0x21, -0x35, 0x12, 0x19, 0x3d, -0x0c, 0x20, 0x28, -0x22,
2646 -0x3c, 0x09, 0x11, -0x0c, -0x14, -0x39, 0x0f, -0x40, -0x0a, 0x0f, 0x1b, 0x34, -0x27, 0x35, 0x0e, -0x3d,
2647 }, .{
2648 -0x1a, 0x06, 0x1f, -0x24, -0x21, -0x3d, 0x1f, -0x18, 0x2f, -0x38, 0x2f, -0x0f, 0x20, 0x2d, 0x31, -0x09,
2649 -0x1d, 0x3a, 0x24, -0x09, 0x0c, -0x3b, -0x35, -0x2a, -0x08, -0x2d, 0x29, 0x23, -0x37, -0x05, 0x27, -0x12,
2650 0x23, -0x14, 0x26, 0x36, -0x33, -0x1d, -0x0f, 0x32, 0x2a, -0x34, -0x31, 0x0a, -0x33, -0x34, 0x30, 0x3d,
2651 -0x1a, 0x0f, 0x16, 0x07, 0x2d, -0x2b, 0x2c, -0x2d, 0x34, -0x07, 0x32, 0x3a, 0x2e, -0x1c, 0x2e, 0x0f,
2652 0x02, 0x33, -0x1e, -0x05, -0x40, -0x0a, 0x3d, -0x28, -0x21, -0x2b, -0x18, 0x02, 0x01, -0x2c, -0x16, -0x3b,
2653 0x27, 0x23, -0x19, 0x13, -0x2c, 0x3c, -0x1a, 0x0e, -0x25, -0x19, 0x06, 0x1b, -0x3f, 0x26, 0x30, 0x0d,
2654 -0x0e, -0x2f, -0x28, 0x3b, -0x0e, 0x2d, 0x3d, 0x03, 0x0d, -0x23, 0x02, 0x26, 0x0c, 0x31, -0x10, -0x10,
2655 0x37, -0x38, -0x0f, 0x20, -0x17, 0x02, 0x3e, -0x40, 0x37, 0x22, 0x06, 0x14, -0x31, -0x1e, -0x36, -0x2c,
2656 });
2657
2658 try testArgs(@Vector(1, u7), .{
2659 0x72,
2660 }, .{
2661 0x0c,
2662 });
2663 try testArgs(@Vector(2, u7), .{
2664 0x0c, 0x3a,
2665 }, .{
2666 0x72, 0x0b,
2667 });
2668 try testArgs(@Vector(4, u7), .{
2669 0x68, 0x2b, 0x52, 0x6e,
2670 }, .{
2671 0x74, 0x79, 0x10, 0x67,
2672 });
2673 try testArgs(@Vector(8, u7), .{
2674 0x68, 0x30, 0x65, 0x49, 0x3f, 0x3c, 0x05, 0x1b,
2675 }, .{
2676 0x3f, 0x0e, 0x04, 0x50, 0x20, 0x07, 0x07, 0x4c,
2677 });
2678 try testArgs(@Vector(16, u7), .{
2679 0x46, 0x73, 0x34, 0x68, 0x66, 0x0d, 0x69, 0x38, 0x7d, 0x40, 0x34, 0x22, 0x7b, 0x57, 0x76, 0x69,
2680 }, .{
2681 0x12, 0x45, 0x1b, 0x5d, 0x24, 0x36, 0x72, 0x70, 0x51, 0x1c, 0x23, 0x77, 0x7d, 0x7a, 0x20, 0x4b,
2682 });
2683 try testArgs(@Vector(32, u7), .{
2684 0x1e, 0x74, 0x19, 0x6c, 0x74, 0x05, 0x6f, 0x08, 0x54, 0x56, 0x25, 0x40, 0x07, 0x2d, 0x42, 0x73,
2685 0x5c, 0x1c, 0x60, 0x1e, 0x5a, 0x1d, 0x00, 0x33, 0x3b, 0x09, 0x28, 0x58, 0x66, 0x1d, 0x4e, 0x6b,
2686 }, .{
2687 0x22, 0x79, 0x72, 0x19, 0x19, 0x0b, 0x64, 0x6b, 0x15, 0x70, 0x10, 0x70, 0x73, 0x56, 0x48, 0x68,
2688 0x01, 0x16, 0x1b, 0x68, 0x67, 0x09, 0x37, 0x36, 0x29, 0x25, 0x01, 0x7c, 0x58, 0x37, 0x61, 0x1c,
2689 });
2690 try testArgs(@Vector(64, u7), .{
2691 0x79, 0x75, 0x24, 0x4a, 0x05, 0x1b, 0x28, 0x74, 0x43, 0x1c, 0x35, 0x06, 0x0d, 0x53, 0x07, 0x75,
2692 0x37, 0x3b, 0x6c, 0x50, 0x5d, 0x52, 0x3f, 0x76, 0x3e, 0x57, 0x1e, 0x12, 0x31, 0x7b, 0x62, 0x6e,
2693 0x30, 0x09, 0x1c, 0x0d, 0x3e, 0x52, 0x64, 0x6e, 0x23, 0x41, 0x2f, 0x4b, 0x69, 0x65, 0x67, 0x3f,
2694 0x56, 0x6d, 0x4d, 0x35, 0x54, 0x7c, 0x63, 0x5d, 0x24, 0x49, 0x0a, 0x71, 0x55, 0x48, 0x3e, 0x4b,
2695 }, .{
2696 0x6a, 0x1d, 0x23, 0x7d, 0x12, 0x29, 0x23, 0x0b, 0x53, 0x3d, 0x39, 0x4b, 0x45, 0x05, 0x1b, 0x4a,
2697 0x5c, 0x66, 0x38, 0x2d, 0x38, 0x70, 0x29, 0x5b, 0x32, 0x38, 0x39, 0x2e, 0x01, 0x3c, 0x15, 0x05,
2698 0x1f, 0x28, 0x3a, 0x0f, 0x0a, 0x09, 0x11, 0x5e, 0x0a, 0x7a, 0x3f, 0x7d, 0x2c, 0x34, 0x63, 0x34,
2699 0x1b, 0x61, 0x73, 0x63, 0x2c, 0x35, 0x25, 0x19, 0x09, 0x0c, 0x75, 0x5d, 0x01, 0x29, 0x3b, 0x0c,
2700 });
2701 try testArgs(@Vector(128, u7), .{
2702 0x5c, 0x65, 0x65, 0x34, 0x31, 0x03, 0x7a, 0x56, 0x16, 0x74, 0x5c, 0x7f, 0x2a, 0x46, 0x2a, 0x5f,
2703 0x62, 0x06, 0x51, 0x23, 0x58, 0x1f, 0x5a, 0x2d, 0x29, 0x21, 0x26, 0x5a, 0x5a, 0x13, 0x13, 0x46,
2704 0x26, 0x1c, 0x06, 0x2d, 0x08, 0x52, 0x5b, 0x6f, 0x2d, 0x4a, 0x00, 0x40, 0x68, 0x27, 0x00, 0x4a,
2705 0x3a, 0x22, 0x2d, 0x5b, 0x05, 0x26, 0x4e, 0x6f, 0x46, 0x4d, 0x14, 0x70, 0x51, 0x04, 0x66, 0x13,
2706 0x4c, 0x7c, 0x67, 0x23, 0x13, 0x55, 0x1b, 0x30, 0x7d, 0x04, 0x47, 0x78, 0x05, 0x09, 0x5a, 0x20,
2707 0x2e, 0x17, 0x11, 0x49, 0x6c, 0x5e, 0x34, 0x3e, 0x66, 0x60, 0x5d, 0x75, 0x48, 0x1d, 0x69, 0x67,
2708 0x40, 0x2d, 0x7b, 0x31, 0x13, 0x60, 0x19, 0x2f, 0x3e, 0x7d, 0x23, 0x6a, 0x0e, 0x16, 0x44, 0x34,
2709 0x5d, 0x5a, 0x2a, 0x0b, 0x64, 0x07, 0x22, 0x5b, 0x24, 0x22, 0x3b, 0x46, 0x23, 0x65, 0x5d, 0x34,
2710 }, .{
2711 0x4b, 0x36, 0x7a, 0x13, 0x5a, 0x4b, 0x69, 0x4b, 0x1d, 0x02, 0x1b, 0x3f, 0x61, 0x21, 0x45, 0x48,
2712 0x44, 0x61, 0x25, 0x42, 0x57, 0x7d, 0x7a, 0x45, 0x22, 0x2e, 0x44, 0x3f, 0x3a, 0x14, 0x07, 0x6e,
2713 0x68, 0x51, 0x03, 0x6b, 0x11, 0x32, 0x6d, 0x6f, 0x44, 0x5a, 0x61, 0x6d, 0x71, 0x66, 0x54, 0x14,
2714 0x5d, 0x56, 0x22, 0x5c, 0x3a, 0x72, 0x16, 0x39, 0x59, 0x3e, 0x27, 0x4d, 0x3d, 0x44, 0x72, 0x2c,
2715 0x71, 0x74, 0x3b, 0x6c, 0x70, 0x39, 0x0f, 0x5c, 0x71, 0x04, 0x67, 0x02, 0x2c, 0x18, 0x0f, 0x14,
2716 0x2d, 0x24, 0x51, 0x34, 0x6d, 0x0c, 0x19, 0x0f, 0x73, 0x79, 0x3d, 0x74, 0x20, 0x15, 0x22, 0x25,
2717 0x09, 0x14, 0x09, 0x71, 0x2d, 0x6f, 0x09, 0x2e, 0x27, 0x75, 0x57, 0x62, 0x4d, 0x07, 0x62, 0x01,
2718 0x41, 0x2d, 0x5d, 0x4c, 0x77, 0x10, 0x7f, 0x30, 0x0f, 0x50, 0x15, 0x39, 0x34, 0x7c, 0x33, 0x16,
2719 });
2720
2721 try testArgs(@Vector(1, i8), .{
2722 -0x54,
2723 }, .{
2724 0x0f,
2725 });
2726 try testArgs(@Vector(2, i8), .{
2727 -0x4d, 0x55,
2728 }, .{
2729 0x7d, -0x5d,
2730 });
2731 try testArgs(@Vector(4, i8), .{
2732 0x73, 0x6f, 0x6e, -0x49,
2733 }, .{
2734 -0x66, 0x23, 0x21, -0x56,
2735 });
2736 try testArgs(@Vector(8, i8), .{
2737 0x44, -0x37, 0x33, -0x2b, -0x1f, 0x3e, 0x50, -0x4d,
2738 }, .{
2739 0x6a, 0x1a, -0x0e, 0x4c, -0x46, 0x03, -0x17, 0x3e,
2740 });
2741 try testArgs(@Vector(16, i8), .{
2742 -0x52, 0x1a, -0x4b, 0x4e, -0x75, 0x33, -0x43, 0x30, 0x71, -0x30, -0x73, -0x53, 0x64, 0x1f, -0x27, 0x36,
2743 }, .{
2744 0x65, 0x77, -0x62, 0x0f, 0x15, 0x52, 0x5c, 0x12, -0x10, 0x36, 0x6d, 0x42, -0x24, -0x79, -0x32, -0x75,
2745 });
2746 try testArgs(@Vector(32, i8), .{
2747 -0x12, -0x1e, 0x18, 0x6e, 0x31, 0x53, -0x6a, -0x34, 0x13, 0x4d, 0x30, -0x7d, -0x31, 0x1e, -0x24, 0x32,
2748 -0x1e, -0x01, 0x55, 0x33, -0x75, -0x44, -0x57, 0x2b, -0x66, 0x19, 0x7f, -0x28, -0x3f, -0x7e, -0x5d, -0x06,
2749 }, .{
2750 0x05, -0x23, 0x43, -0x54, -0x41, 0x7f, -0x6a, -0x31, 0x04, 0x15, -0x7a, -0x37, 0x6d, 0x16, 0x01, 0x4a,
2751 0x15, 0x55, -0x4a, 0x16, -0x73, -0x0c, 0x1c, -0x26, -0x14, -0x01, 0x55, 0x7b, 0x16, -0x2e, -0x5f, -0x67,
2752 });
2753 try testArgs(@Vector(64, i8), .{
2754 -0x05, 0x76, 0x4e, -0x5c, 0x7b, -0x1a, -0x38, -0x2e, 0x3d, 0x36, 0x01, 0x30, -0x02, -0x71, -0x24, 0x24,
2755 -0x2e, -0x6e, -0x60, 0x74, -0x80, -0x1c, -0x34, -0x08, -0x33, 0x77, 0x1c, -0x0f, 0x45, -0x51, -0x1d, 0x35,
2756 -0x45, 0x44, 0x27, -0x3c, 0x6b, 0x58, -0x6a, -0x26, 0x06, -0x30, -0x21, -0x0a, 0x60, -0x11, -0x05, 0x75,
2757 0x38, 0x72, -0x6d, -0x1f, -0x7f, 0x74, -0x6b, -0x14, -0x80, 0x35, -0x0f, -0x1e, 0x6a, 0x17, -0x74, -0x6c,
2758 }, .{
2759 -0x5d, 0x2d, 0x55, 0x40, -0x7c, 0x67, 0x61, 0x5f, 0x14, 0x5b, -0x0c, -0x4d, -0x5f, 0x25, 0x36, 0x3c,
2760 -0x75, -0x48, -0x2b, 0x76, -0x57, -0x4a, 0x1d, 0x65, -0x32, 0x18, -0x2a, -0x0a, -0x6e, -0x3c, -0x62, 0x4e,
2761 -0x24, -0x3c, 0x7d, -0x79, -0x1a, -0x14, -0x03, -0x56, 0x7a, 0x5f, 0x64, -0x68, 0x5f, -0x10, -0x63, -0x07,
2762 0x79, -0x44, 0x47, 0x7d, 0x6e, 0x77, 0x03, -0x4e, 0x67, 0x38, 0x46, -0x44, -0x41, 0x66, -0x16, -0x0a,
2763 });
2764 try testArgs(@Vector(128, i8), .{
2765 0x30, 0x70, -0x2a, -0x29, -0x35, -0x69, -0x18, 0x2b, 0x4a, -0x17, -0x5f, -0x36, 0x34, -0x26, 0x03, -0x2d,
2766 -0x75, -0x27, -0x07, -0x49, -0x58, 0x00, -0x45, 0x5d, -0x11, -0x68, 0x34, 0x73, -0x4d, 0x7f, -0x25, -0x6a,
2767 0x46, -0x1d, -0x68, 0x04, 0x64, -0x0d, 0x30, 0x27, -0x24, 0x67, 0x3c, -0x7c, -0x2e, -0x24, 0x24, 0x3e,
2768 -0x2c, -0x05, 0x4e, -0x17, 0x6d, 0x57, 0x76, 0x35, -0x3d, 0x51, 0x71, -0x4e, 0x50, 0x26, 0x4a, -0x42,
2769 0x73, -0x36, -0x5d, 0x2a, 0x55, 0x33, -0x2b, -0x76, 0x08, 0x43, 0x77, -0x73, -0x0a, 0x5c, -0x03, -0x50,
2770 -0x0a, -0x1c, -0x20, 0x3c, -0x7e, 0x60, 0x11, -0x77, 0x25, -0x71, 0x31, 0x2d, -0x4b, -0x26, -0x2a, 0x7f,
2771 -0x1f, 0x23, -0x34, -0x1f, 0x35, 0x0d, 0x3e, 0x76, -0x08, 0x2c, 0x12, 0x3e, -0x09, -0x3e, 0x4b, -0x52,
2772 -0x1a, -0x44, -0x53, -0x41, -0x6d, -0x5e, -0x06, -0x04, 0x3f, -0x2e, 0x01, 0x54, 0x19, -0x5a, -0x62, -0x3a,
2773 }, .{
2774 0x42, -0x11, -0x08, -0x64, -0x55, 0x31, 0x27, -0x66, 0x38, 0x5a, 0x25, -0x68, 0x0b, -0x41, -0x0d, 0x60,
2775 -0x17, -0x6d, 0x62, -0x65, -0x5e, -0x1c, -0x35, 0x28, 0x1c, -0x74, -0x7f, -0x1c, 0x3a, 0x4e, 0x05, -0x08,
2776 0x30, -0x77, 0x03, 0x68, -0x2c, 0x5c, 0x74, 0x6a, -0x21, 0x0a, 0x36, -0x55, 0x21, 0x29, -0x05, 0x70,
2777 0x23, 0x3b, 0x0a, 0x7a, 0x19, 0x14, 0x65, -0x1d, 0x2b, 0x65, 0x33, 0x2a, 0x52, -0x63, 0x57, 0x10,
2778 -0x1b, 0x26, -0x46, -0x7e, -0x25, 0x79, -0x01, -0x0d, -0x49, -0x4d, 0x74, 0x03, 0x77, 0x16, 0x03, -0x3d,
2779 0x1c, 0x25, 0x5a, -0x2f, -0x16, -0x5f, -0x36, -0x55, -0x44, -0x0c, -0x0f, 0x7b, -0x15, -0x1d, 0x32, 0x31,
2780 0x6e, -0x44, -0x4a, -0x64, 0x67, 0x04, 0x47, -0x02, 0x3c, -0x0a, -0x79, 0x3d, 0x48, 0x5a, 0x61, -0x2c,
2781 0x6d, -0x68, -0x71, -0x6b, -0x11, 0x44, -0x75, -0x55, -0x67, -0x52, 0x64, -0x3d, -0x05, -0x76, -0x6d, -0x44,
2782 });
2783
2784 try testArgs(@Vector(1, u8), .{
2785 0x1f,
2786 }, .{
2787 0x06,
2788 });
2789 try testArgs(@Vector(2, u8), .{
2790 0x80, 0x63,
2791 }, .{
2792 0xe4, 0x28,
2793 });
2794 try testArgs(@Vector(4, u8), .{
2795 0x83, 0x9e, 0x1e, 0xc1,
2796 }, .{
2797 0xf0, 0x5c, 0x46, 0x85,
2798 });
2799 try testArgs(@Vector(8, u8), .{
2800 0x1e, 0x4d, 0x9d, 0x2a, 0x4c, 0x74, 0x0a, 0x83,
2801 }, .{
2802 0x28, 0x60, 0xa9, 0xb5, 0xd9, 0xa6, 0xf1, 0xb6,
2803 });
2804 try testArgs(@Vector(16, u8), .{
2805 0xea, 0x80, 0xbb, 0xe8, 0x74, 0x81, 0xc8, 0x66, 0x7b, 0x41, 0x90, 0xcb, 0x30, 0x70, 0x4b, 0x0f,
2806 }, .{
2807 0x61, 0x26, 0xbe, 0x47, 0x02, 0x9c, 0x55, 0xa5, 0x59, 0xf0, 0xb2, 0x20, 0x30, 0xaf, 0x82, 0x3e,
2808 });
2809 try testArgs(@Vector(32, u8), .{
2810 0xa1, 0x88, 0xc4, 0xf4, 0x77, 0x0b, 0xf5, 0xbb, 0x09, 0x03, 0xbf, 0xf5, 0xcc, 0x7f, 0x6b, 0x2a,
2811 0x4c, 0x05, 0x37, 0xc9, 0x8a, 0xcb, 0x91, 0x23, 0x09, 0x5f, 0xb8, 0x99, 0x4a, 0x75, 0x26, 0xe4,
2812 }, .{
2813 0xff, 0x0f, 0x99, 0x49, 0xa6, 0x25, 0xa7, 0xd4, 0xc9, 0x2f, 0x97, 0x6a, 0x01, 0xd6, 0x6e, 0x41,
2814 0xa4, 0xb5, 0x3c, 0x03, 0xea, 0x82, 0x9c, 0x5f, 0xac, 0x07, 0x16, 0x15, 0x1c, 0x64, 0x25, 0x2f,
2815 });
2816 try testArgs(@Vector(64, u8), .{
2817 0xaa, 0x08, 0xeb, 0xb2, 0xd7, 0x89, 0x0f, 0x98, 0xda, 0x9f, 0xa6, 0x4e, 0x3c, 0xce, 0x1b, 0x1b,
2818 0x9e, 0x5f, 0x2b, 0xd6, 0x59, 0x26, 0x47, 0x05, 0x2a, 0xb7, 0xd1, 0x10, 0xde, 0xd9, 0x84, 0x00,
2819 0x07, 0xc0, 0xaa, 0x6e, 0xfa, 0x3b, 0x97, 0x85, 0xa8, 0x42, 0xd7, 0xa5, 0x90, 0xe6, 0x10, 0x1a,
2820 0x47, 0x84, 0xe1, 0x3e, 0xb0, 0x70, 0x26, 0x3f, 0xea, 0x24, 0xb8, 0x5f, 0xe3, 0xe3, 0x4c, 0xed,
2821 }, .{
2822 0x3b, 0xc5, 0xe0, 0x3d, 0x4f, 0x2e, 0x1d, 0xa9, 0xf7, 0x7b, 0xc7, 0xc1, 0x48, 0xc6, 0xe5, 0x9e,
2823 0x4d, 0xa8, 0x21, 0x37, 0xa1, 0x1a, 0x95, 0x69, 0x89, 0x2f, 0x15, 0x07, 0x3d, 0x7b, 0x69, 0x89,
2824 0xea, 0x87, 0xf0, 0x94, 0x67, 0xf2, 0x3d, 0x04, 0x96, 0x8a, 0xd6, 0x70, 0x7c, 0x16, 0xe7, 0x62,
2825 0xf0, 0x8d, 0x96, 0x65, 0xd1, 0x4a, 0x35, 0x3e, 0x7a, 0x67, 0xa6, 0x1f, 0x37, 0x66, 0xe3, 0x45,
2826 });
2827 try testArgs(@Vector(128, u8), .{
2828 0xa1, 0xd0, 0x7b, 0xf9, 0x7b, 0x77, 0x7b, 0x3d, 0x2d, 0x68, 0xc2, 0x7b, 0xb0, 0xb8, 0xd4, 0x7c,
2829 0x1a, 0x1f, 0xd2, 0x92, 0x3e, 0xcb, 0xc1, 0x6b, 0xb9, 0x4d, 0xf1, 0x67, 0x58, 0x8e, 0x77, 0xa6,
2830 0xb9, 0xdf, 0x10, 0x6f, 0xbe, 0xe3, 0x33, 0xb6, 0x93, 0x77, 0x80, 0xef, 0x09, 0x9d, 0x61, 0x40,
2831 0xa2, 0xf4, 0x52, 0x18, 0x9d, 0xe4, 0xb0, 0xaf, 0x0a, 0xa7, 0x0b, 0x09, 0x67, 0x38, 0x71, 0x04,
2832 0x72, 0xa1, 0xd2, 0xfd, 0xf8, 0xf0, 0xa7, 0x23, 0x24, 0x5b, 0x7d, 0xfb, 0x43, 0xba, 0x6c, 0xc4,
2833 0x83, 0x46, 0x0e, 0x4d, 0x6c, 0x92, 0xab, 0x4f, 0xd2, 0x70, 0x9d, 0xfe, 0xce, 0xf8, 0x05, 0x9f,
2834 0x98, 0x36, 0x9c, 0x90, 0x9a, 0xd0, 0xb5, 0x76, 0x16, 0xe8, 0x25, 0xc2, 0xbd, 0x91, 0xab, 0xf9,
2835 0x6f, 0x6c, 0xc5, 0x60, 0xe5, 0x30, 0xf2, 0xb7, 0x59, 0xc4, 0x9c, 0xdd, 0xdf, 0x04, 0x65, 0xd9,
2836 }, .{
2837 0xed, 0xe1, 0x8a, 0xf6, 0xf3, 0x8b, 0xfd, 0x1d, 0x3c, 0x87, 0xbf, 0xfe, 0x04, 0x52, 0x15, 0x82,
2838 0x0b, 0xb0, 0xcf, 0xcf, 0xf8, 0x03, 0x9c, 0xef, 0xc1, 0x76, 0x7e, 0xe3, 0xe9, 0xa8, 0x18, 0x90,
2839 0xd4, 0xc4, 0x91, 0x15, 0x68, 0x7f, 0x65, 0xd8, 0xe1, 0xb3, 0x23, 0xc2, 0x7d, 0x84, 0x3b, 0xaf,
2840 0x74, 0x69, 0x07, 0x2a, 0x1b, 0x5f, 0x0e, 0x44, 0x0d, 0x2b, 0x9c, 0x82, 0x41, 0xf9, 0x7f, 0xb5,
2841 0xc4, 0xd9, 0xcb, 0xd3, 0xc5, 0x31, 0x8b, 0x5f, 0xda, 0x09, 0x9b, 0x29, 0xa3, 0xb7, 0x13, 0x0d,
2842 0x55, 0x9b, 0x59, 0x33, 0x2a, 0x59, 0x3a, 0x44, 0x1f, 0xd3, 0x40, 0x4e, 0xde, 0x2c, 0xe4, 0x16,
2843 0xfd, 0xc3, 0x02, 0x74, 0xaa, 0x65, 0xfd, 0xc8, 0x2a, 0x8a, 0xdb, 0xae, 0x44, 0x28, 0x62, 0xa4,
2844 0x56, 0x4f, 0xf1, 0xaa, 0x0a, 0x0f, 0xdb, 0x1b, 0xc8, 0x45, 0x9b, 0x12, 0xb4, 0x1a, 0xe4, 0xa3,
2845 });
2846
2847 try testArgs(@Vector(1, i9), .{
2848 0x002,
2849 }, .{
2850 0x0bd,
2851 });
2852 try testArgs(@Vector(2, i9), .{
2853 0x00c, 0x0b1,
2854 }, .{
2855 -0x00b, -0x009,
2856 });
2857 try testArgs(@Vector(4, i9), .{
2858 0x0b2, 0x02b, -0x09d, -0x03c,
2859 }, .{
2860 0x031, 0x078, 0x016, -0x08a,
2861 });
2862 try testArgs(@Vector(8, i9), .{
2863 0x066, -0x03b, 0x007, 0x054, 0x0a7, 0x0ee, 0x00f, -0x0f8,
2864 }, .{
2865 0x01e, 0x0af, 0x047, 0x0d8, 0x002, -0x030, -0x01d, 0x003,
2866 });
2867 try testArgs(@Vector(16, i9), .{
2868 0x0e7, -0x066, 0x079, -0x08d, -0x01a, -0x009, 0x0c8, 0x0c0, -0x070, 0x001, -0x00e, 0x014, -0x0f7, -0x07f, 0x0c8, -0x09a,
2869 }, .{
2870 0x0ea, -0x040, -0x045, -0x06d, 0x02c, -0x0b0, -0x0ba, -0x01a, 0x0af, 0x055, -0x015, -0x0fa, 0x0ca, 0x0f4, 0x007, -0x0a0,
2871 });
2872 try testArgs(@Vector(32, i9), .{
2873 -0x003, 0x01b, 0x0b6, -0x009, 0x090, 0x047, -0x00b, -0x0f2, 0x0f6, -0x09d, 0x0bf, 0x06a, -0x0e0, 0x03f, 0x007, 0x0a1,
2874 0x009, -0x0fb, 0x034, 0x0ba, 0x0cb, -0x0c9, -0x0ff, -0x0c1, 0x0d3, 0x029, -0x076, 0x044, 0x0d4, 0x083, -0x002, 0x04e,
2875 }, .{
2876 -0x0cb, 0x0e3, 0x014, 0x02f, -0x0da, -0x06a, 0x07f, 0x07d, -0x0ea, -0x014, 0x09a, 0x050, 0x017, -0x00d, 0x041, 0x03e,
2877 -0x096, -0x008, 0x075, -0x0bc, 0x0f9, -0x0fc, -0x0a7, 0x0ef, 0x0f9, 0x066, 0x02f, 0x0d3, -0x0f0, -0x04a, -0x100, -0x0c6,
2878 });
2879 try testArgs(@Vector(64, i9), .{
2880 -0x016, -0x0ae, 0x08b, -0x0eb, -0x0b2, 0x02f, 0x039, -0x0ba, -0x08d, -0x0a8, -0x0eb, -0x01a, 0x0eb, 0x0ca, -0x049, 0x04e,
2881 -0x019, -0x0d9, -0x0bd, 0x0ae, -0x07d, -0x092, -0x0fb, -0x06c, -0x0e6, 0x0d9, 0x02c, 0x0cc, 0x093, -0x022, 0x07a, -0x093,
2882 0x0e5, -0x011, -0x003, 0x070, -0x042, -0x0ad, 0x0be, -0x038, -0x0bf, 0x098, 0x090, -0x09e, -0x0a5, -0x0e1, -0x0e2, 0x039,
2883 -0x035, -0x0e5, -0x054, 0x04c, 0x04b, -0x09f, 0x091, -0x039, 0x09b, -0x029, 0x014, -0x0d3, 0x06b, 0x0ae, 0x091, 0x082,
2884 }, .{
2885 -0x0bb, -0x0ec, 0x0fa, 0x055, 0x06f, 0x011, -0x09d, 0x083, -0x066, 0x014, 0x007, 0x002, -0x0ee, -0x0d9, 0x0c3, -0x087,
2886 0x03c, -0x065, -0x0cf, -0x075, -0x0c7, -0x0c1, 0x06b, -0x0e3, -0x07a, 0x0b2, -0x0f8, -0x0fa, 0x001, -0x0ba, 0x0c4, 0x0bb,
2887 0x032, 0x01e, -0x074, -0x058, -0x040, 0x0aa, 0x077, 0x028, -0x061, 0x076, -0x04e, 0x01a, -0x05f, -0x073, 0x0ea, 0x06e,
2888 -0x069, -0x0a1, -0x041, 0x013, -0x01c, -0x0f8, 0x053, 0x0f8, -0x0c3, 0x058, -0x02d, 0x0f1, -0x045, 0x04b, -0x0b1, -0x0f3,
2889 });
2890 try testArgs(@Vector(128, i9), .{
2891 0x0d4, 0x036, 0x0bd, -0x046, -0x0a7, 0x09e, 0x0dd, 0x043, 0x098, -0x09a, -0x06f, 0x0bb, -0x0b7, 0x021, 0x0a3, 0x0f0,
2892 0x069, -0x08b, 0x0da, 0x016, -0x049, 0x0d0, 0x07b, 0x004, 0x0ad, -0x07c, -0x04e, -0x011, 0x01f, -0x035, 0x028, -0x0c9,
2893 -0x0eb, 0x077, 0x08b, -0x009, 0x024, -0x058, 0x04e, -0x0c0, -0x01d, -0x0a7, 0x088, 0x01b, -0x0f3, -0x0c5, -0x08e, 0x0dc,
2894 0x07d, 0x086, -0x032, 0x0a9, -0x00c, -0x06a, 0x06c, 0x032, 0x083, 0x0ec, 0x0ec, -0x0a6, 0x029, 0x044, -0x07f, 0x068,
2895 -0x038, 0x0f6, 0x0b5, -0x00d, -0x051, -0x0c6, -0x0af, -0x0eb, -0x0b6, 0x03c, -0x037, 0x0cc, -0x033, 0x08a, -0x0b4, -0x039,
2896 0x01e, 0x06c, 0x015, -0x081, -0x029, 0x017, -0x080, -0x01e, -0x081, 0x04f, -0x071, -0x073, 0x0c3, 0x079, 0x0ad, 0x087,
2897 -0x072, 0x067, -0x064, -0x0d4, 0x0b4, 0x003, 0x0b1, 0x0bb, 0x0cc, -0x0e9, 0x0e7, 0x015, 0x07b, 0x0e4, -0x0ee, -0x07f,
2898 -0x0bf, 0x0cd, -0x056, 0x0ea, 0x0e5, 0x0fa, 0x0e1, -0x087, 0x0fe, 0x017, 0x071, -0x0d1, -0x053, -0x088, -0x0ef, 0x01b,
2899 }, .{
2900 0x0ea, -0x018, 0x0ab, 0x039, 0x0ec, 0x0cc, -0x033, -0x0e6, -0x037, -0x075, -0x055, -0x09a, 0x0bc, 0x099, -0x03c, -0x0b4,
2901 -0x0fe, -0x0ce, 0x0d6, -0x084, 0x08f, 0x04b, 0x0cc, -0x023, 0x01e, -0x09c, 0x058, 0x0f4, -0x0a7, 0x085, -0x049, -0x050,
2902 0x0f3, -0x036, -0x0fe, 0x070, -0x0a2, -0x081, -0x066, 0x057, -0x017, -0x0c8, 0x070, 0x09b, -0x0e4, -0x03b, -0x0d9, 0x081,
2903 0x041, 0x0ec, -0x062, 0x0b9, -0x0d2, -0x02a, 0x0ab, 0x072, 0x001, -0x082, -0x0cd, 0x0c8, 0x017, -0x09d, 0x094, -0x027,
2904 0x09c, 0x024, -0x0ec, 0x02f, 0x066, -0x08e, 0x0ee, 0x099, 0x08e, -0x0e5, -0x094, 0x0bb, 0x02f, -0x0fe, -0x07e, -0x0ad,
2905 0x05c, 0x066, 0x07e, -0x0a9, 0x0fe, -0x0e3, -0x068, 0x058, -0x007, 0x0d6, -0x0e8, -0x0d6, 0x038, 0x0b8, -0x0b2, 0x0c1,
2906 0x09a, 0x02f, 0x0d9, 0x07d, 0x0fc, 0x0f7, -0x005, -0x01c, 0x0c2, 0x066, 0x064, -0x096, -0x040, 0x065, -0x00d, -0x063,
2907 0x031, -0x088, 0x090, -0x077, 0x0e2, 0x0a8, -0x0e0, -0x077, 0x0eb, 0x0c3, -0x0ad, 0x008, 0x04e, -0x095, -0x041, -0x0a6,
2908 });
2909
2910 try testArgs(@Vector(1, u9), .{
2911 0x09e,
2912 }, .{
2913 0x171,
2914 });
2915 try testArgs(@Vector(2, u9), .{
2916 0x0bf, 0x042,
2917 }, .{
2918 0x154, 0x14b,
2919 });
2920 try testArgs(@Vector(4, u9), .{
2921 0x0a5, 0x1ba, 0x1ef, 0x0b3,
2922 }, .{
2923 0x15d, 0x1d3, 0x00e, 0x13b,
2924 });
2925 try testArgs(@Vector(8, u9), .{
2926 0x068, 0x125, 0x1ac, 0x105, 0x0cb, 0x14b, 0x18b, 0x07f,
2927 }, .{
2928 0x04a, 0x011, 0x0ad, 0x1d7, 0x1b8, 0x083, 0x16d, 0x052,
2929 });
2930 try testArgs(@Vector(16, u9), .{
2931 0x00e, 0x0b4, 0x0d2, 0x149, 0x012, 0x17d, 0x13f, 0x1cb, 0x0f2, 0x145, 0x098, 0x005, 0x055, 0x141, 0x115, 0x01c,
2932 }, .{
2933 0x06c, 0x1da, 0x192, 0x0cf, 0x180, 0x0c2, 0x158, 0x0c6, 0x141, 0x105, 0x168, 0x165, 0x0aa, 0x0d5, 0x0a1, 0x03d,
2934 });
2935 try testArgs(@Vector(32, u9), .{
2936 0x1bd, 0x05b, 0x1e1, 0x03e, 0x18b, 0x1ad, 0x102, 0x1bc, 0x0cd, 0x09f, 0x028, 0x057, 0x0cd, 0x14f, 0x02b, 0x00f,
2937 0x140, 0x0b3, 0x155, 0x161, 0x1b6, 0x0ae, 0x13f, 0x1a7, 0x1b5, 0x0d4, 0x1f1, 0x1f5, 0x01c, 0x04b, 0x110, 0x0e2,
2938 }, .{
2939 0x027, 0x046, 0x00a, 0x035, 0x0ad, 0x10c, 0x010, 0x0ef, 0x096, 0x061, 0x016, 0x0cb, 0x17a, 0x0aa, 0x0d6, 0x1ad,
2940 0x108, 0x0e3, 0x078, 0x020, 0x145, 0x0fc, 0x109, 0x04e, 0x13b, 0x02b, 0x11c, 0x125, 0x0f0, 0x185, 0x06b, 0x0b2,
2941 });
2942 try testArgs(@Vector(64, u9), .{
2943 0x17b, 0x094, 0x1e8, 0x089, 0x0ec, 0x15d, 0x190, 0x0eb, 0x086, 0x091, 0x132, 0x074, 0x004, 0x142, 0x136, 0x066,
2944 0x0a1, 0x1dc, 0x1d2, 0x026, 0x11e, 0x1eb, 0x1d5, 0x055, 0x047, 0x116, 0x0b7, 0x14a, 0x1ea, 0x067, 0x1c1, 0x19e,
2945 0x13e, 0x11a, 0x16d, 0x0a6, 0x1b8, 0x0ef, 0x179, 0x076, 0x13e, 0x118, 0x0a3, 0x04e, 0x10a, 0x1bd, 0x186, 0x170,
2946 0x172, 0x14f, 0x15e, 0x0f2, 0x1bc, 0x016, 0x189, 0x199, 0x0ee, 0x1ac, 0x0d8, 0x094, 0x19f, 0x0c8, 0x0f2, 0x06a,
2947 }, .{
2948 0x096, 0x19f, 0x094, 0x03d, 0x060, 0x164, 0x171, 0x101, 0x1ab, 0x172, 0x14b, 0x177, 0x1d6, 0x10d, 0x193, 0x13e,
2949 0x1cf, 0x1be, 0x16a, 0x088, 0x0bb, 0x1bf, 0x052, 0x14c, 0x1fa, 0x060, 0x1c7, 0x073, 0x19d, 0x158, 0x1dc, 0x12d,
2950 0x1c1, 0x15c, 0x10e, 0x16e, 0x1d2, 0x155, 0x0d1, 0x0e1, 0x126, 0x0bd, 0x081, 0x17e, 0x1f9, 0x1aa, 0x1ad, 0x0fe,
2951 0x0f8, 0x158, 0x0ec, 0x00f, 0x033, 0x053, 0x033, 0x1e4, 0x05b, 0x072, 0x06b, 0x1a3, 0x157, 0x0ed, 0x1c8, 0x01b,
2952 });
2953 try testArgs(@Vector(128, u9), .{
2954 0x13e, 0x0ad, 0x121, 0x0b1, 0x186, 0x0af, 0x058, 0x1b6, 0x16c, 0x0b0, 0x1e4, 0x1a2, 0x1f7, 0x1e1, 0x12c, 0x098,
2955 0x0a5, 0x138, 0x1dd, 0x1d5, 0x0a0, 0x01e, 0x01e, 0x077, 0x0a9, 0x0f9, 0x12b, 0x153, 0x0bd, 0x0ac, 0x13e, 0x097,
2956 0x062, 0x064, 0x091, 0x100, 0x0be, 0x196, 0x096, 0x183, 0x18f, 0x006, 0x07f, 0x14c, 0x0ec, 0x028, 0x0cd, 0x09c,
2957 0x054, 0x0c7, 0x0cf, 0x019, 0x058, 0x0fa, 0x1ec, 0x1c4, 0x0d8, 0x0f7, 0x187, 0x1a5, 0x17f, 0x008, 0x087, 0x199,
2958 0x1cd, 0x094, 0x100, 0x011, 0x050, 0x09d, 0x05e, 0x1f8, 0x0a7, 0x0a7, 0x0f7, 0x06b, 0x05e, 0x14f, 0x03c, 0x08c,
2959 0x110, 0x16a, 0x08b, 0x1a3, 0x173, 0x1e0, 0x01a, 0x18a, 0x061, 0x0e8, 0x0d7, 0x0a6, 0x11b, 0x1fa, 0x004, 0x1fe,
2960 0x045, 0x117, 0x0ab, 0x11a, 0x079, 0x1f6, 0x1bb, 0x0b6, 0x04a, 0x01b, 0x0d5, 0x0a6, 0x15a, 0x088, 0x0fa, 0x180,
2961 0x0a4, 0x1fa, 0x17b, 0x117, 0x120, 0x110, 0x199, 0x109, 0x171, 0x1cb, 0x1cb, 0x0f3, 0x127, 0x1b2, 0x0e5, 0x152,
2962 }, .{
2963 0x137, 0x1c8, 0x1e2, 0x04a, 0x0f9, 0x0a7, 0x1d7, 0x1ba, 0x1a6, 0x035, 0x09b, 0x018, 0x1bd, 0x0fe, 0x08d, 0x029,
2964 0x0d8, 0x1cc, 0x06f, 0x174, 0x132, 0x02b, 0x188, 0x15f, 0x036, 0x15e, 0x0bc, 0x1bd, 0x1b2, 0x0f1, 0x193, 0x0b7,
2965 0x192, 0x03d, 0x0df, 0x1b7, 0x087, 0x14a, 0x137, 0x102, 0x117, 0x0de, 0x031, 0x03e, 0x1b0, 0x021, 0x0f4, 0x13e,
2966 0x148, 0x0a7, 0x19c, 0x11e, 0x0e6, 0x0f1, 0x043, 0x1b3, 0x0c6, 0x1b2, 0x162, 0x098, 0x1c1, 0x0e7, 0x142, 0x032,
2967 0x00d, 0x196, 0x124, 0x11e, 0x011, 0x19b, 0x023, 0x101, 0x0a1, 0x1ae, 0x03a, 0x0ec, 0x146, 0x020, 0x0c0, 0x0d7,
2968 0x135, 0x152, 0x0fe, 0x08b, 0x193, 0x147, 0x0bf, 0x1c3, 0x0a2, 0x0c2, 0x0f7, 0x1c5, 0x1fe, 0x0a2, 0x033, 0x1ec,
2969 0x043, 0x1a9, 0x1f5, 0x151, 0x04d, 0x176, 0x0df, 0x1f4, 0x09f, 0x054, 0x119, 0x0f8, 0x197, 0x0e9, 0x189, 0x196,
2970 0x083, 0x1bb, 0x19b, 0x1a9, 0x15b, 0x136, 0x192, 0x08f, 0x0ba, 0x166, 0x178, 0x0c2, 0x0d0, 0x1b7, 0x181, 0x1e2,
2971 });
2972
2973 try testArgs(@Vector(1, i15), .{
2974 0x1309,
2975 }, .{
2976 0x1422,
2977 });
2978 try testArgs(@Vector(2, i15), .{
2979 0x32e8, 0x3d81,
2980 }, .{
2981 0x195c, 0x13e8,
2982 });
2983 try testArgs(@Vector(4, i15), .{
2984 -0x3485, 0x2320, -0x1725, 0x1e6e,
2985 }, .{
2986 0x2910, 0x3293, 0x3144, -0x3bbc,
2987 });
2988 try testArgs(@Vector(8, i15), .{
2989 0x1c0d, 0x2f06, -0x0e9e, 0x230a, 0x0a7b, 0x19ae, -0x19b6, -0x2ace,
2990 }, .{
2991 -0x34a3, -0x342a, -0x0aaf, 0x1ece, 0x12fc, 0x0562, 0x0d22, -0x310f,
2992 });
2993 try testArgs(@Vector(16, i15), .{
2994 -0x0abb, -0x1bbc, -0x3112, -0x23bf, -0x08b5, -0x1517, 0x1586, 0x06b2,
2995 0x25ec, 0x3cf1, 0x07ea, 0x3972, 0x09d8, -0x18a6, 0x06dd, -0x1c34,
2996 }, .{
2997 -0x0ec7, 0x1144, -0x1a94, 0x255f, -0x1fbb, -0x1500, -0x0e4f, 0x0b67,
2998 0x1352, -0x0d6b, 0x2f3e, -0x086b, -0x19dc, -0x149b, -0x013e, 0x0ce6,
2999 });
3000 try testArgs(@Vector(32, i15), .{
3001 -0x330a, -0x0a40, -0x2533, -0x1e99, 0x1aa6, -0x2587, 0x2778, 0x394a,
3002 -0x0383, -0x2fb7, 0x04cf, 0x033a, 0x2bff, 0x3997, -0x112c, 0x3a1a,
3003 0x1adf, 0x270b, 0x182e, -0x23f6, 0x1a33, 0x2644, -0x0b41, -0x1c48,
3004 0x1c2d, -0x2a40, 0x007c, 0x1a62, 0x30d9, 0x0e4b, 0x32ee, 0x2b46,
3005 }, .{
3006 0x1af0, 0x286f, -0x14fe, 0x2318, 0x002a, -0x26b2, 0x350b, 0x0884,
3007 0x3011, 0x276a, 0x2b2a, 0x22d3, -0x1ece, 0x0143, 0x2f5b, -0x0fa2,
3008 0x2412, -0x3d86, -0x3774, -0x09a5, 0x0fbf, 0x32f7, -0x0a23, -0x3d5a,
3009 -0x1523, -0x27c5, 0x097f, 0x2923, 0x3060, 0x113e, -0x0643, -0x1287,
3010 });
3011 try testArgs(@Vector(64, i15), .{
3012 0x0419, 0x1803, -0x3897, 0x2b0c, 0x08a3, -0x39d0, 0x174e, -0x29c6,
3013 0x0152, -0x1078, 0x1113, 0x23bf, 0x0990, -0x2777, 0x2ba4, -0x058b,
3014 -0x2d4a, -0x23ba, 0x3875, -0x1720, -0x2625, -0x1c8f, 0x1f7c, 0x3f73,
3015 0x3780, -0x3043, -0x0d8d, 0x2ced, 0x091a, 0x3481, -0x1917, -0x352f,
3016 0x34c7, 0x322f, -0x20ae, -0x0653, 0x1c82, 0x09a8, -0x1a0b, -0x1dff,
3017 -0x24c2, -0x2592, -0x3ff7, 0x1515, -0x3d32, 0x1e9e, -0x334d, 0x352b,
3018 -0x2439, -0x3d0b, -0x2bcc, -0x2d29, 0x197c, -0x2bad, -0x2682, 0x32cf,
3019 0x31e4, -0x085c, -0x0c84, -0x2f11, 0x03ba, -0x0111, -0x2634, 0x344f,
3020 }, .{
3021 0x011a, 0x186c, -0x2d7e, 0x29b1, 0x2cfb, -0x077b, 0x3e8c, -0x3a62,
3022 0x3575, 0x35f0, -0x2529, -0x3040, 0x398e, -0x0c56, 0x2aa5, 0x0a72,
3023 -0x0c36, -0x2c53, 0x275b, -0x1155, 0x1a9d, -0x34af, -0x3d4f, 0x14a0,
3024 -0x0b88, 0x0b34, 0x2d60, 0x19ee, -0x0ac4, -0x2f1b, -0x1e20, -0x2d8b,
3025 -0x23f4, 0x0472, 0x1977, -0x33f2, -0x301d, -0x1931, -0x1abe, 0x307f,
3026 -0x2dcb, 0x2e99, 0x0dd1, 0x0377, -0x3f91, -0x3719, 0x0248, 0x3c40,
3027 -0x08d4, -0x2f12, -0x12ee, 0x3bc0, 0x3c4a, 0x1ff3, -0x1096, -0x37e0,
3028 -0x0879, -0x354f, -0x2277, 0x1ced, 0x0833, -0x0f7e, 0x2070, 0x0d81,
3029 });
3030
3031 try testArgs(@Vector(1, u15), .{
3032 0x18c0,
3033 }, .{
3034 0x0c85,
3035 });
3036 try testArgs(@Vector(2, u15), .{
3037 0x3697, 0x744b,
3038 }, .{
3039 0x60d5, 0x4172,
3040 });
3041 try testArgs(@Vector(4, u15), .{
3042 0x7c31, 0x62c3, 0x7fe9, 0x4a52,
3043 }, .{
3044 0x28bf, 0x58a9, 0x09d5, 0x111f,
3045 });
3046 try testArgs(@Vector(8, u15), .{
3047 0x3be1, 0x1928, 0x227e, 0x7ab4, 0x7e26, 0x4761, 0x586a, 0x4665,
3048 }, .{
3049 0x11b8, 0x4079, 0x39eb, 0x79d2, 0x7871, 0x5a40, 0x793c, 0x4a66,
3050 });
3051 try testArgs(@Vector(16, u15), .{
3052 0x30fe, 0x6781, 0x6db6, 0x16f7, 0x736f, 0x1dca, 0x122e, 0x4e43,
3053 0x41d8, 0x5b7a, 0x183b, 0x5036, 0x6a3a, 0x4301, 0x6c05, 0x5e7f,
3054 }, .{
3055 0x7dd5, 0x0897, 0x7f63, 0x0375, 0x5d05, 0x74c8, 0x0bc8, 0x6ac2,
3056 0x5063, 0x335a, 0x283c, 0x452d, 0x6274, 0x2531, 0x1f90, 0x05c3,
3057 });
3058 try testArgs(@Vector(32, u15), .{
3059 0x122d, 0x54a6, 0x7cf1, 0x5b48, 0x47e3, 0x6918, 0x0d81, 0x6074,
3060 0x06d3, 0x0951, 0x40d8, 0x52db, 0x6258, 0x13fa, 0x3fe0, 0x0cdc,
3061 0x6c69, 0x4fa8, 0x7bc7, 0x66e7, 0x1417, 0x368a, 0x46fc, 0x1850,
3062 0x2a1d, 0x2622, 0x3877, 0x524a, 0x64b0, 0x6391, 0x2f16, 0x5b7c,
3063 }, .{
3064 0x4c22, 0x7689, 0x57ba, 0x04b5, 0x2720, 0x081e, 0x25e4, 0x3f89,
3065 0x3065, 0x2d1e, 0x0386, 0x0f0c, 0x740a, 0x5fa5, 0x6b0a, 0x1fda,
3066 0x2b3c, 0x5e71, 0x77c5, 0x3e29, 0x6a2e, 0x147e, 0x79a1, 0x77f6,
3067 0x4bdd, 0x7fb1, 0x632c, 0x3898, 0x3dd3, 0x78b3, 0x75b9, 0x4960,
3068 });
3069 try testArgs(@Vector(64, u15), .{
3070 0x2bb1, 0x0225, 0x151a, 0x056c, 0x0655, 0x3f5b, 0x5fea, 0x000a,
3071 0x4f56, 0x7e08, 0x20b4, 0x4f64, 0x0da1, 0x74a0, 0x11b7, 0x38c7,
3072 0x7a25, 0x6608, 0x50a7, 0x79b8, 0x5444, 0x4cc4, 0x110d, 0x1cf0,
3073 0x5a2e, 0x4462, 0x03dc, 0x785a, 0x2d1c, 0x4592, 0x1855, 0x14c6,
3074 0x2c4d, 0x7ae3, 0x7b45, 0x6cb0, 0x197d, 0x6fcc, 0x269e, 0x6f98,
3075 0x7527, 0x7895, 0x0259, 0x2b3f, 0x181a, 0x5f50, 0x401d, 0x54d2,
3076 0x2acc, 0x0aa8, 0x6822, 0x5d64, 0x3459, 0x5823, 0x4e62, 0x395e,
3077 0x339f, 0x0b56, 0x25b8, 0x0c30, 0x5b3d, 0x7005, 0x0411, 0x074d,
3078 }, .{
3079 0x155c, 0x6c07, 0x5880, 0x1766, 0x661b, 0x5cfd, 0x1fb9, 0x67e1,
3080 0x617c, 0x2bb4, 0x251b, 0x7ace, 0x4940, 0x584b, 0x708c, 0x3849,
3081 0x0cdb, 0x3204, 0x4667, 0x7bee, 0x3279, 0x4c74, 0x7561, 0x2d6f,
3082 0x5676, 0x530e, 0x39a1, 0x7c05, 0x1b23, 0x7bd7, 0x25ce, 0x7e97,
3083 0x56c0, 0x0d59, 0x17f7, 0x6fed, 0x3b0e, 0x7470, 0x52a4, 0x5da3,
3084 0x17c8, 0x2a51, 0x031f, 0x5879, 0x22bb, 0x674e, 0x3a55, 0x13a2,
3085 0x1fef, 0x1cd8, 0x5067, 0x6602, 0x3d5b, 0x2f5e, 0x4b7f, 0x6cfc,
3086 0x197d, 0x5afc, 0x4254, 0x07de, 0x6b37, 0x07d5, 0x4435, 0x0b29,
3087 });
3088
3089 try testArgs(@Vector(1, i16), .{
3090 -0x7b9c,
3091 }, .{
3092 0x600a,
3093 });
3094 try testArgs(@Vector(2, i16), .{
3095 0x43cc, -0x1421,
3096 }, .{
3097 -0x2b0e, 0x4d99,
3098 });
3099 try testArgs(@Vector(4, i16), .{
3100 0x558f, 0x6d92, 0x488f, 0x0a04,
3101 }, .{
3102 -0x01a9,
3103 0x2ee4,
3104 0x24a9,
3105 -0x5fee,
3106 });
3107 try testArgs(@Vector(8, i16), .{
3108 -0x7e5d, -0x02e4, -0x3a72, -0x2e30, 0x7c87, 0x3ea0, 0x4f02, 0x06e4,
3109 }, .{
3110 -0x417f, 0x5a13, -0x117b, 0x4c28, -0x3769, -0x56a8, 0x1656, -0x4431,
3111 });
3112 try testArgs(@Vector(16, i16), .{
3113 0x04be, 0x774a, 0x7395, -0x6ca2, -0x21a0, 0x35be, 0x186c, 0x5991,
3114 -0x1a82, 0x4527, -0x2278, -0x3554, 0x42c1, 0x7f53, -0x670d, 0x1fad,
3115 }, .{
3116 0x7a7d, 0x47dd, 0x1975, 0x4028, 0x26ef, -0x24f5, -0x77c9, -0x19a5,
3117 -0x4b04, -0x6939, -0x1b8d, 0x3718, -0x78e6, 0x0941, -0x1208, -0x392d,
3118 });
3119 try testArgs(@Vector(32, i16), .{
3120 0x4cde, 0x3ab0, 0x354e, 0x0bc0, -0x5333, 0x4857, -0x7ccf, -0x69da,
3121 0x6ab8, 0x2bf3, 0x1c5a, 0x7b11, -0x5653, 0x7bc5, 0x497e, -0x0b55,
3122 0x7aa8, -0x5a8c, -0x6d05, 0x6210, 0x1b64, 0x3f6f, 0x1a02, 0x65e4,
3123 -0x6795, 0x5867, -0x6faf, -0x07cb, -0x762c, -0x7500, 0x1f1c, -0x4348,
3124 }, .{
3125 0x72f6, -0x5405, -0x3aac, 0x2857, 0x34cd, -0x1dce, -0x56d8, 0x7150,
3126 -0x6549, 0x61bd, -0x3a9f, -0x1e02, -0x5a5a, -0x7910, -0x166d, 0x7c8e,
3127 -0x5292, -0x6c6e, -0x37e3, 0x1514, 0x1787, 0x58cb, -0x4d99, -0x6c15,
3128 0x592e, -0x045f, 0x7682, -0x1eef, 0x1fb2, -0x7117, -0x2a17, -0x2d8e,
3129 });
3130 try testArgs(@Vector(64, i16), .{
3131 0x29c3, -0x1b1f, -0x17ce, -0x50d0, -0x5de3, 0x5ffd, 0x184a, -0x7769,
3132 0x445e, 0x0d8a, 0x7844, -0x757d, 0x2b32, 0x5374, -0x6ab2, -0x71c4,
3133 0x38f9, 0x347f, 0x2d4c, 0x69a4, -0x2f92, -0x4479, 0x427b, -0x0c5f,
3134 0x15ae, 0x2c86, 0x1864, -0x0095, 0x6803, -0x3484, 0x1001, -0x0560,
3135 -0x0824, 0x7bf6, 0x7a3c, -0x458a, -0x65cc, -0x54b1, -0x75c6, 0x782e,
3136 0x35a7, -0x3188, -0x58ba, 0x40d0, -0x4a9c, 0x6b79, 0x1ef5, 0x67a2,
3137 -0x3fb8, 0x1885, -0x093d, -0x4802, 0x0379, 0x2f52, 0x7f1f, 0x256c,
3138 0x1052, 0x1b3b, -0x6146, 0x7e0d, 0x79ca, -0x79ee, 0x3d58, 0x7482,
3139 }, .{
3140 -0x0017, -0x3fdd, -0x6f93, 0x6178, 0x5c2b, 0x4eb3, 0x685b, 0x12c8,
3141 0x0290, -0x34f4, -0x6572, 0x3ab6, -0x3ed1, -0x5e5f, 0x3a90, -0x4540,
3142 -0x2098, 0x6bde, 0x1246, 0x2212, -0x4d6a, -0x2a5a, 0x5cc4, -0x240f,
3143 0x51b2, 0x5ec0, -0x5b5f, -0x1b6e, -0x57a5, -0x06bd, -0x5132, 0x7889,
3144 0x2817, 0x6ada, -0x6b46, -0x6a37, -0x6475, -0x5ff4, 0x5a27, 0x1dfa,
3145 0x6bd6, -0x49da, -0x09bf, -0x7c53, 0x2cd3, -0x6be0, -0x2dca, 0x44bd,
3146 -0x1b95, 0x7680, -0x5bb0, 0x7ad7, -0x1988, 0x149f, 0x631e, -0x1d2d,
3147 0x632b, 0x55c7, -0x3433, 0x0dde, -0x27a7, 0x560e, -0x2063, 0x4570,
3148 });
3149
3150 try testArgs(@Vector(1, u16), .{
3151 0x9d6f,
3152 }, .{
3153 0x44b1,
3154 });
3155 try testArgs(@Vector(2, u16), .{
3156 0xa0fa, 0xc365,
3157 }, .{
3158 0xe736, 0xc394,
3159 });
3160 try testArgs(@Vector(4, u16), .{
3161 0x9608, 0xa558, 0x161b, 0x206f,
3162 }, .{
3163 0x3088, 0xf25c, 0x7837, 0x9b3f,
3164 });
3165 try testArgs(@Vector(8, u16), .{
3166 0xcf61, 0xb121, 0x3cf1, 0x3e9f, 0x43a7, 0x8d69, 0x96f5, 0xc11e,
3167 }, .{
3168 0xee30, 0x82f0, 0x270b, 0x1498, 0x4c60, 0x6e72, 0x0b64, 0x02d4,
3169 });
3170 try testArgs(@Vector(16, u16), .{
3171 0x9191, 0xd23e, 0xf844, 0xd84a, 0xe907, 0xf1e8, 0x712d, 0x90af,
3172 0x6541, 0x3fa6, 0x92eb, 0xe35a, 0xc0c9, 0xcb47, 0xb790, 0x4453,
3173 }, .{
3174 0x21c3, 0x4039, 0x9b71, 0x60bd, 0xcd7f, 0x2ec8, 0x50ba, 0xe810,
3175 0xebd4, 0x06e5, 0xed18, 0x2f66, 0x7e31, 0xe282, 0xad63, 0xb25e,
3176 });
3177 try testArgs(@Vector(32, u16), .{
3178 0x6b6a, 0x30a9, 0xc267, 0x2231, 0xbf4c, 0x00bc, 0x9c2c, 0x2928,
3179 0xecad, 0x82df, 0xcfb0, 0xa4e5, 0x909b, 0x1b05, 0xaf40, 0x1fd9,
3180 0xcec6, 0xd8dc, 0xd4b5, 0x6d59, 0x8e3f, 0x4d8a, 0xb83a, 0x808e,
3181 0x47e2, 0x5782, 0x59bf, 0xcefc, 0x5179, 0x3f48, 0x93dc, 0x66d2,
3182 }, .{
3183 0x1be8, 0xe98c, 0xf9b3, 0xb008, 0x2f8d, 0xf087, 0xc9b9, 0x75aa,
3184 0xbd16, 0x9540, 0xc5bd, 0x2b2c, 0xd43f, 0x9394, 0x3e1d, 0xf695,
3185 0x167d, 0xff7a, 0xf09d, 0xdff8, 0xdfa2, 0xc779, 0x70b7, 0x01bd,
3186 0x46b3, 0x995a, 0xb7bc, 0xa79d, 0x5542, 0x961e, 0x37cd, 0x9c2a,
3187 });
3188 try testArgs(@Vector(64, u16), .{
3189 0x6b87, 0xfd84, 0x436b, 0xe345, 0xfb82, 0x81fc, 0x0992, 0x45f9,
3190 0x5527, 0x1f6d, 0xda46, 0x6a16, 0xf6e1, 0x8fb7, 0x3619, 0xdfe3,
3191 0x64ce, 0x8ac6, 0x3ae8, 0x30e3, 0xec3b, 0x4ba7, 0x02a4, 0xa694,
3192 0x8e68, 0x8f0c, 0x5e30, 0x0e55, 0x6538, 0x9852, 0xea35, 0x7be2,
3193 0xdabd, 0x57e6, 0x5b38, 0x0fb2, 0x2604, 0x85e7, 0x6595, 0x8de9,
3194 0x49b1, 0xe9a2, 0x3758, 0xa4d9, 0x505b, 0xc9d3, 0xddc5, 0x9a43,
3195 0xfd44, 0x50f5, 0x379e, 0x03b6, 0x6375, 0x692f, 0x5586, 0xc717,
3196 0x94dd, 0xee06, 0xb32d, 0x0bb9, 0x0e35, 0x5f8f, 0x0ba4, 0x19a8,
3197 }, .{
3198 0xbeeb, 0x3e54, 0x6486, 0x5167, 0xe432, 0x57cf, 0x9cac, 0x922e,
3199 0xd2f8, 0x5614, 0x2e7f, 0x19cf, 0x9a07, 0x0524, 0x168f, 0x4464,
3200 0x4def, 0x83ce, 0x97b4, 0xf269, 0xda5f, 0x28c1, 0x9cc3, 0xfa7c,
3201 0x25a0, 0x912d, 0x25b2, 0xd60d, 0xcd82, 0x0e03, 0x40cc, 0xc9dc,
3202 0x18eb, 0xc609, 0xb06d, 0x29e0, 0xf3c7, 0x997b, 0x8ca2, 0xa750,
3203 0xc9bc, 0x8f0e, 0x3916, 0xd905, 0x94f8, 0x397f, 0x98b5, 0xc61d,
3204 0x05db, 0x3e7a, 0xf750, 0xe8de, 0x3225, 0x81d9, 0x612e, 0x0a7e,
3205 0x2c02, 0xff5b, 0x19ca, 0xbbf5, 0x870e, 0xc9ca, 0x47bb, 0xcfcc,
3206 });
3207
3208 try testArgs(@Vector(1, i17), .{
3209 0x0538f,
3210 }, .{
3211 0x01de0,
3212 });
3213 try testArgs(@Vector(2, i17), .{
3214 0x0cb5d, 0x00c0b,
3215 }, .{
3216 -0x0ef1d, -0x0797c,
3217 });
3218 try testArgs(@Vector(4, i17), .{
3219 -0x06cbb, 0x08fcd, 0x05d91, -0x05824,
3220 }, .{
3221 0x0714b, 0x09218, -0x0c0d8, 0x000dd,
3222 });
3223 try testArgs(@Vector(8, i17), .{
3224 0x0d8db, 0x0c58a, 0x09110, 0x0d637, -0x0a7e5, -0x00bc2, 0x08ffb, -0x0cf79,
3225 }, .{
3226 0x0a1ce, 0x0b491, 0x0aff1, -0x0b794, -0x085e7, 0x05c84, 0x040bc, 0x0f21f,
3227 });
3228 try testArgs(@Vector(16, i17), .{
3229 -0x0ccb0, -0x04d27, -0x0199e, -0x06dae, 0x0b1a1, 0x05324, -0x0edee, -0x0e52d,
3230 0x042d2, 0x06121, 0x0241f, 0x06833, 0x0a33b, 0x0f526, 0x0671a, 0x0c2a3,
3231 }, .{
3232 0x02be2, -0x08589, 0x0d95c, -0x001cc, -0x03183, 0x08c1a, -0x001db, 0x07604,
3233 0x08d92, 0x094ad, -0x08aa5, -0x0b495, -0x0d6cd, -0x0dff1, -0x027f1, -0x0214e,
3234 });
3235 try testArgs(@Vector(32, i17), .{
3236 0x01222, 0x022bc, 0x042df, 0x02205, -0x06de8, -0x0aaaf, 0x0fa4c, -0x0c708,
3237 -0x06edd, -0x0acbe, 0x0b01f, 0x003f5, -0x0b82a, 0x0a189, -0x04f4b, 0x02122,
3238 -0x0debd, -0x0b05f, 0x091b6, -0x074ff, 0x054e5, -0x03355, 0x08ab0, 0x0c3c8,
3239 -0x0f488, -0x04304, -0x0168e, -0x0224a, -0x0cbaa, 0x0ac99, -0x0f096, 0x0e064,
3240 }, .{
3241 0x0d1c0, 0x02f93, 0x0e28c, 0x0862d, -0x09e1e, -0x02247, -0x01b56, 0x06633,
3242 0x0fdcc, -0x0731f, 0x0e084, 0x0b865, 0x089ac, -0x09e31, 0x0c730, 0x0af1d,
3243 0x0c9b2, -0x0bbbd, -0x0f0a4, -0x0aba7, 0x0e593, -0x02c83, -0x04e28, 0x0f375,
3244 -0x0e805, 0x0390f, 0x042a3, -0x02aed, 0x03a5a, 0x070d3, -0x0ed6a, 0x02b14,
3245 });
3246 try testArgs(@Vector(64, i17), .{
3247 0x0be66, 0x0e4fb, -0x0b918, -0x029b8, 0x019e8, 0x00621, 0x0e380, 0x040f6,
3248 -0x0d095, 0x0b4d8, -0x0a3ad, -0x0eaf2, 0x03bd3, 0x0635c, 0x02444, -0x0830f,
3249 0x01239, -0x037ed, -0x071d1, 0x057e7, -0x02cdb, 0x0504c, 0x0612c, -0x005bf,
3250 -0x04793, 0x03909, 0x0061c, -0x06423, 0x040d6, 0x0bc6a, -0x09204, 0x0e890,
3251 0x04b98, 0x00257, 0x0dc85, -0x0af2b, -0x0a1e7, 0x04ff6, 0x0b680, -0x07c61,
3252 -0x0eaff, -0x0da01, -0x04b21, -0x0088d, 0x068a8, 0x06b52, -0x0d619, -0x09344,
3253 -0x09b96, 0x0b81e, 0x04df8, -0x012f6, -0x0c3bd, 0x067cc, -0x0fa47, -0x05e93,
3254 0x07d29, 0x00d87, 0x0de1f, 0x0d24f, -0x0aede, -0x03414, -0x09a6c, 0x094dc,
3255 }, .{
3256 0x03d8e, -0x0f297, -0x0d810, 0x05b8e, -0x0630e, -0x0656f, 0x02f56, 0x0190b,
3257 0x0a1e6, -0x0783a, -0x00bde, 0x01bb2, -0x093a5, -0x02b3f, 0x0198c, 0x0cc55,
3258 0x04ec1, -0x0ed31, -0x00a80, -0x0be6d, 0x0712b, 0x0451b, 0x067a4, 0x061cd,
3259 0x0e799, -0x06c74, -0x09b05, 0x0dc73, -0x0a87d, -0x0cf60, -0x00f07, 0x0b101,
3260 0x06d5b, 0x09d61, -0x01092, 0x002ee, 0x0f192, 0x0024b, 0x04778, 0x06d05,
3261 -0x0e460, 0x08524, -0x0ba27, -0x0611e, -0x0d944, -0x0a3de, -0x0c278, 0x015e5,
3262 0x071fe, 0x016d5, -0x076e2, -0x035d8, 0x02763, -0x0676f, -0x0a9aa, -0x0ab0b,
3263 0x012de, -0x00d05, 0x0f528, 0x07837, 0x0fc4e, -0x06304, 0x0616f, -0x0b10d,
3264 });
3265
3266 try testArgs(@Vector(1, u17), .{
3267 0x17ba6,
3268 }, .{
3269 0x1ac3a,
3270 });
3271 try testArgs(@Vector(2, u17), .{
3272 0x1d26d, 0x18548,
3273 }, .{
3274 0x0c0eb, 0x1bbc8,
3275 });
3276 try testArgs(@Vector(4, u17), .{
3277 0x1a01c, 0x12671, 0x175cc, 0x0ed36,
3278 }, .{
3279 0x141d6, 0x1b2bc, 0x1c2b9, 0x1eb18,
3280 });
3281 try testArgs(@Vector(8, u17), .{
3282 0x0cb1b, 0x0f5ce, 0x1eba1, 0x04fdc, 0x0510f, 0x02c4c, 0x09310, 0x132df,
3283 }, .{
3284 0x1b732, 0x0b446, 0x048a7, 0x04c58, 0x03a0b, 0x19346, 0x07688, 0x1d4d5,
3285 });
3286 try testArgs(@Vector(16, u17), .{
3287 0x1e6a3, 0x0eae5, 0x1065a, 0x18766, 0x1b70a, 0x1605b, 0x18256, 0x1e254,
3288 0x0d926, 0x0f023, 0x1d9de, 0x14549, 0x051dd, 0x1e89e, 0x0baba, 0x00f38,
3289 }, .{
3290 0x1e050, 0x0f727, 0x1dfef, 0x151a6, 0x05593, 0x04a79, 0x1c54c, 0x147b6,
3291 0x07173, 0x0480b, 0x094a6, 0x105ce, 0x0540c, 0x19d78, 0x15501, 0x1133a,
3292 });
3293 try testArgs(@Vector(32, u17), .{
3294 0x0d98a, 0x1c869, 0x12b2b, 0x1fc00, 0x00b1b, 0x1c7b9, 0x09dd0, 0x1b560,
3295 0x1f409, 0x18cdf, 0x04275, 0x07da6, 0x069e5, 0x12aa8, 0x0513a, 0x0dea5,
3296 0x00df4, 0x1f8da, 0x0df92, 0x07885, 0x1c4d7, 0x14e64, 0x09648, 0x040cb,
3297 0x04fc6, 0x122cb, 0x1022d, 0x1bbd5, 0x0fd59, 0x1978f, 0x17d5a, 0x06299,
3298 }, .{
3299 0x0086f, 0x023b6, 0x0d964, 0x0e90b, 0x1bd4b, 0x18f58, 0x09f26, 0x0a831,
3300 0x00c03, 0x03ad1, 0x01c05, 0x1aded, 0x1d300, 0x12529, 0x14124, 0x1e684,
3301 0x1b40d, 0x09328, 0x1a3b6, 0x1e492, 0x00f2a, 0x13b51, 0x1606e, 0x1d7f1,
3302 0x0a5e6, 0x04172, 0x1aaea, 0x1e96f, 0x1c3ae, 0x11494, 0x06aac, 0x01dee,
3303 });
3304 try testArgs(@Vector(64, u17), .{
3305 0x1b753, 0x10620, 0x0c1de, 0x1fa10, 0x118bf, 0x0a549, 0x06b32, 0x095dc,
3306 0x177a2, 0x0aee7, 0x0f2cf, 0x118e0, 0x0b694, 0x0f270, 0x00917, 0x0048c,
3307 0x1d903, 0x1de14, 0x10aa2, 0x06885, 0x1bba1, 0x0a5c5, 0x19373, 0x01355,
3308 0x153f9, 0x18b94, 0x0e8a3, 0x0cc07, 0x0a014, 0x0f9ed, 0x02d95, 0x18388,
3309 0x01de4, 0x0c8fa, 0x15858, 0x0ff57, 0x1fc97, 0x18d83, 0x11836, 0x0f136,
3310 0x0d4e3, 0x1742d, 0x09f22, 0x088cf, 0x134f8, 0x1b9a8, 0x11fd2, 0x18428,
3311 0x17411, 0x146e1, 0x0edea, 0x1d57d, 0x04059, 0x18b93, 0x10fc8, 0x01cd7,
3312 0x12d54, 0x0cb27, 0x04fc3, 0x0d479, 0x0202c, 0x0cfab, 0x11e82, 0x000e7,
3313 }, .{
3314 0x0122f, 0x06698, 0x0c704, 0x012de, 0x0e36c, 0x0d81b, 0x00d34, 0x10ad6,
3315 0x1f156, 0x00fca, 0x1f869, 0x1d14b, 0x13165, 0x1e11e, 0x1e60c, 0x00d18,
3316 0x164bf, 0x1881f, 0x18a59, 0x14f13, 0x04ef2, 0x0e2a7, 0x021b0, 0x15884,
3317 0x1ac75, 0x19969, 0x1353d, 0x073ec, 0x190ef, 0x1c777, 0x14b19, 0x12e43,
3318 0x1b93f, 0x06daf, 0x02a1f, 0x1a801, 0x0facc, 0x132db, 0x13fb2, 0x00791,
3319 0x11f11, 0x0ebc1, 0x0a376, 0x10e6d, 0x0321c, 0x154d7, 0x01180, 0x0cce1,
3320 0x1a449, 0x0383b, 0x0d5bb, 0x0e5dd, 0x07e94, 0x08f78, 0x1c681, 0x1a146,
3321 0x170db, 0x0da34, 0x1bd7f, 0x07a96, 0x0a017, 0x0b946, 0x0f98a, 0x0e9e5,
3322 });
3323
3324 try testArgs(@Vector(1, i31), .{
3325 0x2b94a60e,
3326 }, .{
3327 0x20451023,
3328 });
3329 try testArgs(@Vector(2, i31), .{
3330 0x21d4d18c, -0x1f73454a,
3331 }, .{
3332 -0x18dcc667, -0x2e81b7f1,
3333 });
3334 try testArgs(@Vector(4, i31), .{
3335 -0x1d8f56b6, -0x2beae9b1, 0x3d488b10, -0x14ce8669,
3336 }, .{
3337 -0x03a922a5, -0x0ea0c434, -0x029db0c1, -0x3b8d64f3,
3338 });
3339 try testArgs(@Vector(8, i31), .{
3340 0x0ffaa22c, 0x15914f94, -0x20cec195, -0x35e7b06a,
3341 -0x1d212622, -0x2bb576e4, -0x0dede257, 0x1cc1066e,
3342 }, .{
3343 -0x178ffdb4, -0x10934a93, 0x08c3b058, -0x1579a89f,
3344 0x2340c302, 0x00280e85, -0x38983c31, 0x0349891e,
3345 });
3346 try testArgs(@Vector(16, i31), .{
3347 -0x11bc6f72, 0x1ca1ca00, 0x0b49c711, -0x07fd7d21,
3348 0x20ab59d2, -0x07f45e94, -0x0d33151d, 0x065b8bff,
3349 0x2231354e, 0x21ff00a7, -0x35061bb0, -0x1135899e,
3350 0x2ed1c690, -0x1c1b598f, -0x19157726, -0x11c4d2c7,
3351 }, .{
3352 0x304dbbfb, -0x3e59fd39, 0x1029151a, -0x1e4d2063,
3353 -0x3e164c14, -0x35fb3d09, -0x22070b0d, 0x1b730749,
3354 0x380ae142, 0x357f1b30, -0x17ccaa0d, -0x32cd12b4,
3355 0x305256f7, -0x298ce473, 0x244faaf4, 0x23450241,
3356 });
3357 try testArgs(@Vector(32, i31), .{
3358 -0x2e3a0d66, -0x0df709be, 0x3bfd8b3f, 0x2a4f2d06,
3359 -0x2b7ea7af, -0x28016bef, -0x34a3b4f9, -0x2dfdded7,
3360 0x357e8c45, 0x0434b6b9, 0x28a3c5f9, 0x2d5b9944,
3361 0x316614a1, 0x0c12a228, 0x0422665d, 0x33c0dec9,
3362 0x0a7ede17, -0x02e88ae9, -0x39e76560, 0x1e4b90af,
3363 0x0a1527bb, 0x3a9f0405, 0x163b6eae, -0x3ff84429,
3364 0x1eb85fcc, 0x265f1f44, 0x2536ec34, -0x30c952a2,
3365 -0x1f7864e5, 0x033737cd, -0x20b5718a, -0x0aad3a2f,
3366 }, .{
3367 -0x2455af85, 0x210b1040, 0x39915c7d, 0x2d56c08e,
3368 0x1f318b8d, -0x1e125926, -0x3faaabbb, -0x254d4da5,
3369 -0x1b2ded0f, -0x27fa4874, 0x02c0d73b, 0x123e9344,
3370 0x0351c023, 0x14cca255, -0x2072b9d7, 0x1e624059,
3371 -0x07d014a1, 0x2eda3228, -0x300ff9b4, 0x333f25ad,
3372 -0x3c653e21, 0x04b4a50e, -0x20f17e80, 0x29063cd1,
3373 0x2d52f6ad, -0x0b2cdb6b, -0x2e4c9778, 0x303ded7c,
3374 0x397162ee, -0x2aa6708b, -0x0ef146b4, 0x04f36039,
3375 });
3376
3377 try testArgs(@Vector(1, u31), .{
3378 0x3ed1fb2d,
3379 }, .{
3380 0x1b75c3fd,
3381 });
3382 try testArgs(@Vector(2, u31), .{
3383 0x38754d45, 0x04a454d9,
3384 }, .{
3385 0x7d06646d, 0x228e6c44,
3386 });
3387 try testArgs(@Vector(4, u31), .{
3388 0x725a3790, 0x43680c3d, 0x058a6acf, 0x76172c1c,
3389 }, .{
3390 0x77fa9932, 0x7354fc00, 0x1756db7a, 0x559bf7c1,
3391 });
3392 try testArgs(@Vector(8, u31), .{
3393 0x375a41f8, 0x761db971, 0x1c633348, 0x556c2682,
3394 0x2478e967, 0x4fc61f7d, 0x0b0c0fbc, 0x3989659e,
3395 }, .{
3396 0x2cd6c7c1, 0x518c1da4, 0x2a52dd59, 0x0a9165dd,
3397 0x5f2a31fd, 0x04dd2dba, 0x6eb0e7f6, 0x078c7a78,
3398 });
3399 try testArgs(@Vector(16, u31), .{
3400 0x4d4ae18f, 0x3f131977, 0x337240bd, 0x4461dafc,
3401 0x36bf5c5f, 0x527cca5e, 0x788a765b, 0x51da84b2,
3402 0x58afe262, 0x289694c8, 0x7f3dc333, 0x05f123e9,
3403 0x49182e11, 0x05ec0bb8, 0x0a760c6a, 0x4e74999f,
3404 }, .{
3405 0x107f6e90, 0x38d44d8e, 0x4b3adb3c, 0x7d6c21c0,
3406 0x3ec0863b, 0x72422c85, 0x45e72de4, 0x07fc07d3,
3407 0x7e30044d, 0x3ee5687d, 0x34037d8f, 0x1f3e1e71,
3408 0x77aec6b0, 0x02db5151, 0x697fe49b, 0x49f9ad57,
3409 });
3410 try testArgs(@Vector(32, u31), .{
3411 0x3b815f8c, 0x01c443d3, 0x22f036bf, 0x3d86e477,
3412 0x3f631301, 0x51df4ff2, 0x7edd9a1c, 0x1b8d97fc,
3413 0x7758837d, 0x23944d5a, 0x6b6fe951, 0x1cea3c27,
3414 0x27033a47, 0x00b7643b, 0x407e47c9, 0x6004a994,
3415 0x2efac78c, 0x22720791, 0x4308438b, 0x7776b2be,
3416 0x139db08a, 0x4d9068a5, 0x4e26c811, 0x5e05d0a0,
3417 0x0a651f83, 0x7f7a1fcc, 0x6b0f3eb0, 0x3467ea73,
3418 0x4827410b, 0x3e48eece, 0x73a3abf5, 0x212b7737,
3419 }, .{
3420 0x13031751, 0x08fb38ec, 0x4aff2c4e, 0x25046a42,
3421 0x0e9e35bf, 0x27349249, 0x54067ba1, 0x5a229b53,
3422 0x6e68895f, 0x74f3d476, 0x6584d407, 0x0ef73f77,
3423 0x2473e0ce, 0x3b936b7c, 0x2cf9dd51, 0x7100aa6b,
3424 0x6dca745e, 0x739f6346, 0x32407063, 0x40de144d,
3425 0x3dc73803, 0x3afedeab, 0x56cbbfe7, 0x4273c6db,
3426 0x7b2eeb85, 0x6bf11881, 0x4e8148c7, 0x7b8daec4,
3427 0x75c63050, 0x0001d08d, 0x7f14dd77, 0x13f23338,
3428 });
3429
3430 try testArgs(@Vector(1, i32), .{
3431 0x7aef7b1e,
3432 }, .{
3433 0x60310858,
3434 });
3435 try testArgs(@Vector(2, i32), .{
3436 -0x21910ac9, 0x669f37ef,
3437 }, .{
3438 0x1a2a1681, 0x003b1fdf,
3439 });
3440 try testArgs(@Vector(4, i32), .{
3441 0x7906cf0d, 0x4818a45f, -0x0a2833b6, 0x51a018c9,
3442 }, .{
3443 -0x05a3e6a7, -0x47f4a500, 0x50d1141f, -0x264c85c2,
3444 });
3445 try testArgs(@Vector(8, i32), .{
3446 0x7566235a, -0x7720144f, -0x7d4f5489, 0x3cd736c8,
3447 -0x77388801, 0x4e7f955a, 0x4cdf52bc, 0x50b0b53f,
3448 }, .{
3449 0x00ed6fc5, 0x37320361, 0x70c563c2, -0x09acb495,
3450 0x0688e83f, 0x797295c4, -0x23bfbfdb, 0x38552096,
3451 });
3452 try testArgs(@Vector(16, i32), .{
3453 -0x0214589d, 0x74a7537f, 0x7a7dcb26, 0x3e2e4c44,
3454 -0x23bfc358, 0x60e8ef18, 0x5524a7bc, -0x3d88c153,
3455 -0x7dc8ff0f, 0x6e2698f6, 0x05641ab8, -0x45e9e405,
3456 -0x7c1a04d0, -0x4a8d1e91, 0x41d56723, 0x4ba924ab,
3457 }, .{
3458 -0x528dc756, -0x6bc217f4, 0x40789b06, 0x65f08d3a,
3459 -0x077140ea, -0x43bdaa79, 0x5d98f4e7, -0x2356a1ca,
3460 -0x36ef2b49, -0x7cd09b06, 0x71c8176e, 0x5b005860,
3461 0x6ce8cfab, -0x49fd7609, 0x6cbb4e33, 0x6c7c121d,
3462 });
3463 try testArgs(@Vector(32, i32), .{
3464 0x7d22905d, -0x354e4bbe, -0x68662618, -0x246e1858,
3465 -0x1c4285a9, -0x0338059c, -0x60f5bbf4, -0x04f06917,
3466 -0x55f837b6, -0x2fba5fe3, 0x092aabf4, -0x5f533b31,
3467 0x6e81a558, -0x7bcac358, 0x6c4d8d04, 0x3e2f9852,
3468 -0x78589b1a, -0x68a00fd4, -0x77d55e25, 0x7f79b51c,
3469 -0x66b88f45, 0x7f6dc8a5, -0x27299a82, -0x426c8e1c,
3470 0x0c288f16, 0x158f8c3f, 0x26708be1, -0x0b73626e,
3471 -0x32df1bee, 0x196330f4, -0x68bb9529, -0x26376ab6,
3472 }, .{
3473 0x63bd0bd4, 0x4e507611, -0x5e5222b8, -0x35d8e114,
3474 0x1feab77b, -0x20de7dfd, -0x0ed0b09f, -0x7fc3d585,
3475 -0x2d3018e9, -0x261d431b, 0x54451864, 0x1415288f,
3476 -0x3ab89593, -0x7060e4c1, -0x54fcd501, -0x26324630,
3477 0x53fc8294, 0x2d4aceef, -0x4ac8efd2, -0x2fec97b7,
3478 -0x4de3a2fc, 0x2269fe52, -0x58c8b473, -0x21026285,
3479 -0x23438776, 0x3d5c8c41, -0x1fc946b2, -0x161c7005,
3480 0x44913ff1, -0x76e2bfaa, -0x54636350, -0x6ec53870,
3481 });
3482
3483 try testArgs(@Vector(1, u32), .{
3484 0x1d0d9cc4,
3485 }, .{
3486 0xce2d0ab6,
3487 });
3488 try testArgs(@Vector(2, u32), .{
3489 0x5ab78c03, 0xd21bb513,
3490 }, .{
3491 0x8a6664eb, 0x79eac37d,
3492 });
3493 try testArgs(@Vector(4, u32), .{
3494 0x234d576e, 0x4151cc9c, 0x39f558e4, 0xba935a32,
3495 }, .{
3496 0x398f2a9d, 0x4540f093, 0x9225551c, 0x3bac865b,
3497 });
3498 try testArgs(@Vector(8, u32), .{
3499 0xb8336635, 0x2fc3182c, 0x27a00123, 0x71587fbe,
3500 0x9cbc65d2, 0x6f4bb0e6, 0x362594ce, 0x9971df38,
3501 }, .{
3502 0x5727e734, 0x972b0313, 0xff25f5dc, 0x924f8e55,
3503 0x04920a61, 0xa1c3b334, 0xf52df4b6, 0x5ef72ecc,
3504 });
3505 try testArgs(@Vector(16, u32), .{
3506 0xfb566f9e, 0x9ad4691a, 0x5b5f9ec0, 0x5a572d2a,
3507 0x8f2f226b, 0x2dfc7e33, 0x9fb07e32, 0x9d672a2e,
3508 0xbedc3cee, 0x6872428d, 0xbc73a9fd, 0xd4d5f055,
3509 0x69c1e9ee, 0x65038deb, 0x1449061a, 0x48412ec2,
3510 }, .{
3511 0x96cbe946, 0x3f24f60b, 0xaeacdc53, 0x7611a8b4,
3512 0x031a67a8, 0x52a26828, 0x75646f4b, 0xb75902c3,
3513 0x1f881f08, 0x834e02a4, 0x5e5b40eb, 0xc75c264d,
3514 0xa8251e09, 0x28e46bbd, 0x12cb1f31, 0x9a2af615,
3515 });
3516 try testArgs(@Vector(32, u32), .{
3517 0x131bbb7b, 0xa7311026, 0x9d5e59a0, 0x99b090d6,
3518 0xfe969e2e, 0x04547697, 0x357d3250, 0x43be6d7a,
3519 0x16ecf5c5, 0xf60febcc, 0x1d1e2602, 0x138a96d2,
3520 0x9117ba72, 0x9f185b32, 0xc10e23fd, 0x3e6b7fd8,
3521 0x4dc9be70, 0x2ee30047, 0xaffeab60, 0x7172d362,
3522 0x6154bfcf, 0x5388dc3e, 0xd6e5a76e, 0x8b782f2d,
3523 0xacbef4a2, 0x843aca71, 0x25d8ab5c, 0xe1a63a39,
3524 0xc26212e5, 0x0847b84b, 0xb53541e5, 0x0c8e44db,
3525 }, .{
3526 0x4ad92822, 0x715b623f, 0xa5bed8a7, 0x937447a9,
3527 0x7ecb38eb, 0x0a2f3dfc, 0x96f467a2, 0xec882793,
3528 0x41a8707f, 0xf7310656, 0x76217b80, 0x2058e5fc,
3529 0x26682154, 0x87313e31, 0x4bdc480a, 0x193572ff,
3530 0x60b03c75, 0x0fe45908, 0x56c73703, 0xdb86554c,
3531 0xdda2dd7d, 0x34371b27, 0xe4e6ad50, 0x422d1828,
3532 0x1de3801b, 0xdce268d3, 0x20af9ec8, 0x188a591f,
3533 0xf080e943, 0xc8718d14, 0x3f920382, 0x18d101b5,
3534 });
3535
3536 try testArgs(@Vector(1, i33), .{
3537 0x0a9a3088e,
3538 }, .{
3539 0x06c76b26e,
3540 });
3541 try testArgs(@Vector(2, i33), .{
3542 0x0a9bd1d56, 0x05b0b9015,
3543 }, .{
3544 -0x05af6217c, 0x0227b5d3a,
3545 });
3546 try testArgs(@Vector(4, i33), .{
3547 -0x0405ee2ea, -0x0ff2c72eb, 0x0817f6727, 0x09093b663,
3548 }, .{
3549 -0x0ffdf18ee, 0x0956db821, -0x01ed194af, 0x059e085e9,
3550 });
3551 try testArgs(@Vector(8, i33), .{
3552 0x09d4fea1c, 0x0cd4254ba, 0x008d5f732, 0x0566c6f55,
3553 -0x01c2e54c3, -0x0469292fe, -0x00ba9ba6f, -0x076670146,
3554 }, .{
3555 0x02c01d901, 0x04407fcae, -0x0e6a223a6, -0x0bd9499f8,
3556 0x0f9da76ed, -0x07483b289, -0x0bfc2d58e, -0x078b3055e,
3557 });
3558 try testArgs(@Vector(16, i33), .{
3559 -0x05a738cb0, -0x0be006f3e, 0x09271a365, 0x039d2f00d,
3560 -0x0d502b660, 0x0dd465278, 0x042a7e451, 0x03c1c3671,
3561 0x00eb6f4a9, 0x08982dbc4, 0x0421b8852, 0x015ee0e53,
3562 0x0e6924014, 0x0c6ddbc65, 0x00260ea59, 0x0d98aaedf,
3563 }, .{
3564 -0x0d285a53d, 0x0800f42de, -0x048e48809, -0x052d65f47,
3565 -0x0bda689e0, 0x0bc437a1b, -0x05cc595ba, 0x04b335861,
3566 -0x0f5ec6456, 0x0580ceda6, 0x06f0e76c9, 0x0b0064ff1,
3567 -0x0eae28371, 0x075c3c6b1, 0x07c8d26dd, -0x06af4f476,
3568 });
3569 try testArgs(@Vector(32, i33), .{
3570 0x07b887609, -0x004a23b00, 0x09b664a97, -0x0d4932ed0,
3571 -0x01a63850e, -0x0a4298efc, -0x01e409b55, 0x01452fb7a,
3572 0x03d12175b, -0x0463cd854, 0x0cf448f1d, 0x0d1d02e2e,
3573 -0x0da681c00, 0x0d1173267, 0x08faa4e2c, 0x0634c9df5,
3574 0x037e682e2, 0x0db055022, -0x0641f3daa, 0x053852c9b,
3575 0x035822a2b, -0x0b12bfe53, 0x084f704c9, 0x018cfacee,
3576 -0x07130725b, -0x0b301dece, 0x00e1765b3, -0x0e0f0c97c,
3577 0x0ccd5e7fd, -0x0ee60c481, -0x0c918345b, 0x04b2c6ec3,
3578 }, .{
3579 0x0df3d6e88, 0x00b4748ff, -0x0d0381c05, -0x093d68cb5,
3580 -0x027834cc7, 0x05aa9ca20, -0x04bc88f40, 0x080f0d937,
3581 0x06699a6b8, -0x0fed64f1d, 0x0a79fe089, -0x016a9c385,
3582 0x0186e6b5b, -0x0a3c83fe6, 0x09a4f87ec, 0x011ce03bf,
3583 -0x0f742cb8c, 0x066be2e66, -0x03b0beb52, 0x059bfda10,
3584 0x04bc221c0, 0x07d8b0344, -0x0c6e34f34, -0x0de0338ce,
3585 -0x09571f80c, 0x0d36e8ea7, -0x052c44147, 0x0072ce503,
3586 -0x0ef8dec64, 0x0b5956cb3, -0x02b72b4b1, 0x0f2585167,
3587 });
3588
3589 try testArgs(@Vector(1, u33), .{
3590 0x197ead992,
3591 }, .{
3592 0x0be595917,
3593 });
3594 try testArgs(@Vector(2, u33), .{
3595 0x1485499a5, 0x1e12b23e3,
3596 }, .{
3597 0x1431cd300, 0x0762a7b51,
3598 });
3599 try testArgs(@Vector(4, u33), .{
3600 0x00d6f907d, 0x19a2c1e5e, 0x18a597564, 0x0bea832ed,
3601 }, .{
3602 0x004f8c83b, 0x18fd5422c, 0x1b02cb79b, 0x092af8ba2,
3603 });
3604 try testArgs(@Vector(8, u33), .{
3605 0x100a8bdce, 0x182aa3624, 0x0a0523393, 0x0cc8b944f,
3606 0x0797fe181, 0x19c2ef2f6, 0x1b43977a0, 0x1513a878a,
3607 }, .{
3608 0x10da86327, 0x16e25c8c1, 0x036e09027, 0x1d85d870c,
3609 0x0ff720340, 0x07d3901ec, 0x03df35db0, 0x0b3e4a05e,
3610 });
3611 try testArgs(@Vector(16, u33), .{
3612 0x1c323b838, 0x03e15bdff, 0x0d11e109b, 0x152199f53,
3613 0x1f3fc1542, 0x0e7b471e0, 0x0d291cc97, 0x1f5576bf6,
3614 0x1c64d5f2e, 0x1468c9947, 0x18f1bb596, 0x0250829ac,
3615 0x08d1b66a0, 0x1102178a6, 0x03eaf21e6, 0x1d0012275,
3616 }, .{
3617 0x11bcb3f84, 0x13150388c, 0x0e41a521a, 0x1c6c23e22,
3618 0x130ac516c, 0x02d3a49c2, 0x1dd028aca, 0x1b83e56ef,
3619 0x161d93875, 0x0a0fcb218, 0x1d27943a8, 0x09c919906,
3620 0x182582997, 0x1c2acc0c7, 0x1cb8a9324, 0x0f456f948,
3621 });
3622 try testArgs(@Vector(32, u33), .{
3623 0x1819f161e, 0x11b0c6f8b, 0x10e54ef82, 0x0f56ffe99,
3624 0x1c128ddba, 0x0c70e8d84, 0x15e26011b, 0x1ed2f16e4,
3625 0x1c498769a, 0x1b3a95b06, 0x0580ebb27, 0x16ef0aa01,
3626 0x00a5a7986, 0x011a5fbf1, 0x092059f35, 0x065d9a218,
3627 0x18b3c3508, 0x1f8a52f0b, 0x12a0c771c, 0x15c566333,
3628 0x0882ec701, 0x0856047ee, 0x06974b33a, 0x049a97da9,
3629 0x103730040, 0x0fabaaafc, 0x08e6b9887, 0x12e97722d,
3630 0x00a2e302f, 0x144df5d90, 0x1dcc2f7d4, 0x1b6a6c079,
3631 }, .{
3632 0x13e4aa8fb, 0x1ff2fa13d, 0x0fd3d4549, 0x10837c43c,
3633 0x1db62d7c2, 0x0e92f9f8b, 0x10c7ee602, 0x0e010e5f6,
3634 0x1b216ca4f, 0x15808c554, 0x1ff8df1f7, 0x0c30cb60b,
3635 0x191d83ae9, 0x17dc4326a, 0x1ff1e287e, 0x12e08bb58,
3636 0x17787d83b, 0x074306807, 0x0ad4d40f7, 0x157b2e8a1,
3637 0x1830cc0d0, 0x18e688eec, 0x1f87405f3, 0x19443ff22,
3638 0x16ebfdd93, 0x07bb98b57, 0x01cd6f301, 0x08adbcc33,
3639 0x1ffbcb919, 0x007455180, 0x1edbabfcb, 0x0b5519b97,
3640 });
3641
3642 try testArgs(@Vector(1, i63), .{
3643 -0x2d99033c3223ad4f,
3644 }, .{
3645 0x023c8c6807737a0e,
3646 });
3647 try testArgs(@Vector(2, i63), .{
3648 -0x08fe3255607ce099, -0x3bf678cfa16a59d2,
3649 }, .{
3650 -0x1b8733d130c49d54, 0x39deb4fe6c836b3f,
3651 });
3652 try testArgs(@Vector(4, i63), .{
3653 0x1e81cf3e0f9eae80, -0x0886f09bd1723b08,
3654 0x16e84b8d985e5b82, 0x0fa327538c09a281,
3655 }, .{
3656 -0x2594908bb49f963f, -0x29639632db767665,
3657 0x012d5330f966e1be, -0x1143fddd48bf9752,
3658 });
3659 try testArgs(@Vector(8, i63), .{
3660 -0x08e352cf330c1852, -0x17bc1f760120ff85,
3661 -0x0f180e5c748c0e20, 0x07ee9290e2d53335,
3662 -0x33945ea070fbb445, 0x104802af8984525d,
3663 0x36d27ad0f35fcfd8, 0x292141a0133227a0,
3664 }, .{
3665 0x2adad30092da2886, -0x1694bcdda9b82c45,
3666 0x1f5a019d638ba22c, -0x2e7853134888b613,
3667 -0x2bb77a420f280a6d, -0x377771e94e493751,
3668 0x1dd5373311160f2f, -0x02bb5248b7e0c55e,
3669 });
3670 try testArgs(@Vector(16, i63), .{
3671 0x2d930d47aa078416, 0x1edf9abe8d562bd5,
3672 0x3ef3a5266f822396, -0x102f82f23c5608e1,
3673 -0x38755dccf6c87ae1, 0x09f11b107d033f85,
3674 0x079829e968213db8, 0x17248ef600ddb53d,
3675 0x19e16a7a4e6aa0cc, 0x11e21ddfb7b5b946,
3676 0x26ad3768e80b1258, 0x3672a14b31cb7f1a,
3677 0x3235b83f829966b4, 0x3b4009ac38f728b8,
3678 -0x205d4b6cd8a164ad, -0x2fc581f11fa0eb42,
3679 }, .{
3680 -0x1428b8c4947715ea, -0x0a5626024843736e,
3681 0x075a1a0d0d47f0af, 0x0ea460d282e8dcc0,
3682 -0x124b2a6e2957dc53, -0x0d2602075af449d5,
3683 -0x0db76b825400293c, -0x17c13cd693d2db13,
3684 0x0ad907bb94e64687, -0x05fd33e10be897ad,
3685 -0x3210cf60aa544f0b, -0x10f80c3ee6d7c510,
3686 0x0106683b57f2cf9e, 0x353bea8a4c199155,
3687 0x3942af4e40b65cb0, 0x3da0254a739aa17a,
3688 });
3689
3690 try testArgs(@Vector(1, u63), .{
3691 0x17beef25621255fb,
3692 }, .{
3693 0x79bc7e82d16c5e15,
3694 });
3695 try testArgs(@Vector(2, u63), .{
3696 0x58aeb180f136af8b, 0x0ed5f2cdb8ffe659,
3697 }, .{
3698 0x5df7aae04a4a1126, 0x53568966decbd14f,
3699 });
3700 try testArgs(@Vector(4, u63), .{
3701 0x3d50a0f4755d87e3, 0x722e93c0b1355665,
3702 0x3c8325a3e3640be1, 0x34eef2706884b9ab,
3703 }, .{
3704 0x2671797fd253520d, 0x22f81938e525536e,
3705 0x08ca256b0b348d57, 0x1cdbe1867f422280,
3706 });
3707 try testArgs(@Vector(8, u63), .{
3708 0x49ab492d75830041, 0x28f4065197f361cf,
3709 0x3fcebb5fe8968a08, 0x0ab4e3fd7b158803,
3710 0x7f517fcfc0451068, 0x05eaa5d2f93407b2,
3711 0x0fe06447fdbec4d6, 0x34862504232f73d8,
3712 }, .{
3713 0x64a1796fe76dcc4d, 0x159bd1a9228a8c41,
3714 0x093a4794b5759276, 0x40a740fa4d288585,
3715 0x5d2d1aede616f40e, 0x7e7af17ddce8e03e,
3716 0x7555fb4a1c18d5ff, 0x11b45e151e8724d0,
3717 });
3718 try testArgs(@Vector(16, u63), .{
3719 0x456de088589c1035, 0x23239ed26d0e198f,
3720 0x4f3c4ae380a12430, 0x1cb11ef73131a6f4,
3721 0x6e51a370969ec7ae, 0x38bed7b267bb163d,
3722 0x2fcfab012fb79669, 0x45e203406a43fe95,
3723 0x38468cff64a44f74, 0x3cc86f1d717e8c60,
3724 0x2ae5f2a7c73c6c2c, 0x0c8856138b43dff8,
3725 0x1a7493c9bb7b265c, 0x6e8536e5f32317d8,
3726 0x634701c32688fd34, 0x7a4e4a7f35ef9651,
3727 }, .{
3728 0x3da82f0beb7a091d, 0x040c9bbf428787fa,
3729 0x795418c55742e8d2, 0x700f9b62c01cdf30,
3730 0x78d567c18e7ce16d, 0x300da37dc14b6705,
3731 0x68bf0e06ec9054ca, 0x2e45a80bcd5dd30d,
3732 0x00e8c13b3acf4557, 0x19adb837145a0267,
3733 0x594889dd8e1ff4c2, 0x561da6bd7e2ba593,
3734 0x6a8ed2f67f586604, 0x2ce6d9d2663cb1fc,
3735 0x68ec40831cb6b863, 0x2862d922ed7a78eb,
3736 });
3737
3738 try testArgs(@Vector(1, i64), .{
3739 0x4a31679b316d8b59,
3740 }, .{
3741 0x34a583368386afde,
3742 });
3743 try testArgs(@Vector(2, i64), .{
3744 0x3bae373f9cb990b3, -0x7e8c6c876e8fd34a,
3745 }, .{
3746 0x09dbef6f7cb9c726, 0x48dfeca879b0df51,
3747 });
3748 try testArgs(@Vector(4, i64), .{
3749 -0x2bd24dd5f5da94bf, -0x144113bae33082c2,
3750 0x51e8cb7027ba4b12, -0x47b02168e2e22f13,
3751 }, .{
3752 0x769f113245641b91, -0x414d0e24ea97bc53,
3753 -0x0d2a570e7ef9e923, -0x070513d46d3b5a4c,
3754 });
3755 try testArgs(@Vector(8, i64), .{
3756 0x10bb6779b6a55ca9, 0x5f6ffd567a187af4,
3757 -0x6ba191b1168486b4, -0x441b92ce455870a1,
3758 0x2b6fdefbec9386ad, -0x6fdd3938d79217e4,
3759 0x6aa8fe1fb891501f, 0x20802f5bbdf6dc50,
3760 }, .{
3761 -0x7500319df437b479, 0x00ceb712d4fa62d4,
3762 0x67e715b9e99e660d, -0x17ae00e1f0009ec2,
3763 -0x5b700b948503acdf, -0x3ff61fb5cce5a530,
3764 0x55a3efac2e3694a4, 0x7f951a8d842f1670,
3765 });
3766 try testArgs(@Vector(16, i64), .{
3767 0x37a205109a685810, -0x50ff5d13134ccaa6,
3768 0x26813391c5505d5d, -0x502cdc01603a2f21,
3769 -0x6b1b44b1c850c7ea, 0x1f6db974ace9dd70,
3770 -0x47d15da8b519e328, 0x3ac0763abbf79d8d,
3771 0x5f12e0dc1aed4a4f, -0x46a973e16061e928,
3772 -0x3f59a3fa9699b4d5, -0x2f5012d390c78315,
3773 -0x40e510dea2c47e9c, 0x221c51defe0acc9a,
3774 -0x385fd6f1d390b84b, 0x35932fe2783fa6b9,
3775 }, .{
3776 0x0ba5202b71ad73dd, 0x65c8d2d5e2a14fe5,
3777 0x2e4d97cd66c41a3d, 0x14babbb47da51193,
3778 0x59d1d12b42ade3aa, -0x3c3617e556dfa8fb,
3779 -0x5a36602ba43279c4, -0x61f1ddda13665d9f,
3780 -0x50cd6128589ddd04, 0x135ae0dcc85674ae,
3781 -0x25e80592affc038d, 0x07e184c44fbe9b12,
3782 -0x70ede1b90964bbaa, 0x3ec48b32e8efd98e,
3783 -0x5267d41d85a29f46, 0x53099805f9116b60,
3784 });
3785
3786 try testArgs(@Vector(1, u64), .{
3787 0x333f593bf9d08546,
3788 }, .{
3789 0x6918bd767e730778,
3790 });
3791 try testArgs(@Vector(2, u64), .{
3792 0x4cd89a317b03d430, 0x28998f61842f63a9,
3793 }, .{
3794 0x6c34db64af0e217e, 0x57aa5d02cd45dceb,
3795 });
3796 try testArgs(@Vector(4, u64), .{
3797 0x946cf7e7484691c9, 0xf4fc5be2a762fcbf,
3798 0x71cc83bc25abaf14, 0xc69cef44c6f833a1,
3799 }, .{
3800 0x9f90cbd6c3ce1d4e, 0x182f65295dff4e84,
3801 0x4dfe62c59fed0040, 0x18402347c1db1999,
3802 });
3803 try testArgs(@Vector(8, u64), .{
3804 0x92c6281333943e2c, 0xa97750504668efb5,
3805 0x234be51057c0181f, 0xefbc1f407f3df4fb,
3806 0x8da6cc7c39cebb94, 0xb408f7e56feee497,
3807 0x2363f1f8821592ed, 0x01716e800c0619e1,
3808 }, .{
3809 0xa617426684147e7e, 0x7542da7ebe093a7b,
3810 0x3f21d99ac57606b7, 0x65cd36d697d22de4,
3811 0xed23d6bdf176c844, 0x2d4573f100ff7b58,
3812 0x4968f4d21b49f8ab, 0xf5d9a205d453e933,
3813 });
3814 try testArgs(@Vector(16, u64), .{
3815 0x2f61a4ee66177b4a, 0xf13b286b279f6a93,
3816 0x36b46beb63665318, 0x74294dbde0da98d2,
3817 0x3aa872ba60b936eb, 0xe8f698b36e62600b,
3818 0x9e8930c21a6a1a76, 0x876998b09b8eb03c,
3819 0xa0244771a2ec0adb, 0xb4c72bff3d3ac1a2,
3820 0xd70677210830eced, 0x6622abc1734dd72d,
3821 0x157e2bb0d57d6596, 0x2aac8192fb7ef973,
3822 0xc4a0ca92f34d7b13, 0x04300f8ad1845246,
3823 }, .{
3824 0xeaf71dcf0eb76f5d, 0x0e84b1b63dc97139,
3825 0x0f64cc38d23c94a1, 0x12775cf0816349b7,
3826 0xfdcf13387ba48d54, 0xf8d3c672cacd8779,
3827 0xe728c1f5eb56ab1e, 0x05931a34877f7a69,
3828 0x1861a763c8dafd1f, 0x4ac97573ecd5739f,
3829 0x3384414c9bf77b8c, 0x32c15bbd04a5ddc4,
3830 0xbfd88aee1d82ed32, 0x20e91c15b701059a,
3831 0xed533d18f8657f3f, 0x1ddd7cd7f6bab957,
3832 });
3833
3834 try testArgs(@Vector(1, i65), .{
3835 0x0ca0853f57c0686c8,
3836 }, .{
3837 -0x05c79d7369ef879fd,
3838 });
3839 try testArgs(@Vector(2, i65), .{
3840 0x0c65f685f4839bc8d, -0x079057ad04859d897,
3841 }, .{
3842 -0x0dbb1951a67a71fc6, -0x0d4763ead1d5f66aa,
3843 });
3844 try testArgs(@Vector(4, i65), .{
3845 0x0d6a03163f101695e, -0x0ebe991e54e61156d,
3846 -0x0715adf48176985dc, 0x01e57dbe6ea50b22f,
3847 }, .{
3848 -0x0b308d8311a45a38d, 0x07c292cc15044b1f5,
3849 0x0e69e3eae81046bc8, 0x053b75d6a544ca0db,
3850 });
3851 try testArgs(@Vector(8, i65), .{
3852 0x0066315a88896ba00, 0x026c8109f087eb4e3,
3853 -0x0b9928ad2e41d98ef, 0x0fc5ab9c89a8ee6ff,
3854 0x0dcdd248c4575dbb1, -0x09db7d03c38a83255,
3855 -0x097bc9d5397c57594, 0x0e6af866eed43b462,
3856 }, .{
3857 -0x06ac0448a06876866, 0x0f89dbafcbbb065d7,
3858 -0x02b88b31ed9fc24dd, -0x005c56246687ed4f0,
3859 -0x085a4a7b09dcec260, -0x0068e92e14823a98a,
3860 -0x0ac4a04dd6de87eb9, 0x0716ed52ef9704b71,
3861 });
3862 try testArgs(@Vector(16, i65), .{
3863 -0x09fd6493584cf3a50, 0x0e6dc4b5655cb9d36,
3864 -0x03b55c156ac2bdcf1, 0x002cfefc233d5bcb8,
3865 0x0dbebb830228d2945, -0x02133deab2ebd8699,
3866 -0x0ff9bc10c14c58c6c, -0x09170272ba214dabc,
3867 -0x06ed685bdc535a55e, 0x0c12e1ca45cf7be9a,
3868 -0x04e1094b79391df4a, 0x03b3fbc230416592d,
3869 0x08799db1379e6b1ba, -0x0fa7c7aed60863358,
3870 -0x0c44dd44a770610bd, -0x0349cdc54719b2e37,
3871 }, .{
3872 0x03146cdf203a80cfd, 0x0e22a03fe80f3e2ed,
3873 0x07fa7a66dbe252222, 0x000a3bc923a32648a,
3874 -0x078bac9e36d66da71, -0x03055804cd3b73168,
3875 0x0d9280808858f006d, -0x09415dfb2fd33fe5a,
3876 -0x01bb25a93961b763c, -0x0d7b9f64e9b0c5c82,
3877 -0x096d7b6ee9a0b1e11, -0x0358047a2c33fc157,
3878 0x0ac0128bbf7a5200e, -0x009e0b2ab770e711b,
3879 0x05473b5629f372ee9, -0x02eda67313ff7fa47,
3880 });
3881
3882 try testArgs(@Vector(1, u65), .{
3883 0x1879059aca94dd383,
3884 }, .{
3885 0x0051da1f25078e919,
3886 });
3887 try testArgs(@Vector(2, u65), .{
3888 0x18f39bb41f03223f5, 0x16a59f6838a63e737,
3889 }, .{
3890 0x105aa15beae036a1a, 0x1b47ef7ef744b70fe,
3891 });
3892 try testArgs(@Vector(4, u65), .{
3893 0x18c685254b3c7170c, 0x0de8048a66902ebfd,
3894 0x02bc97f62163e7e31, 0x152b6eba67c1e76db,
3895 }, .{
3896 0x1f45ab5e13037f07b, 0x1a6ac8ec084a115ee,
3897 0x1db62793f956492ba, 0x0e4262599ec54c2a4,
3898 });
3899 try testArgs(@Vector(8, u65), .{
3900 0x07c1dbda5d0ddd69a, 0x18f5741ef462a799b,
3901 0x1fd2f93384860df65, 0x01827fcdb6c715d64,
3902 0x03869c173a922b018, 0x0addd48a4671a2f6b,
3903 0x1eee0f78995f9f118, 0x1e1d0d6b2396bcf38,
3904 }, .{
3905 0x159e9494fc84ed452, 0x0834f6aaa7666a22b,
3906 0x066765389e84150b4, 0x1e722ae23908c7e96,
3907 0x0d64ec725397e6ee0, 0x19f3a147a355baa22,
3908 0x02f1b100538b6dbc3, 0x175885a34aefca91b,
3909 });
3910 try testArgs(@Vector(16, u65), .{
3911 0x105647e12b2b76daa, 0x04dcca29537263f6a,
3912 0x16c112620be731a4e, 0x0d6c088da3c158fa0,
3913 0x02ff8ce4fc8331ec4, 0x127a7d10ab851980c,
3914 0x05703068045915d95, 0x07cc42e0bb216b310,
3915 0x08a15a16e4247ad98, 0x1c17b2292e34aa369,
3916 0x14c9808748fa615c3, 0x187449666c2f5375b,
3917 0x133fcb93a31d2f369, 0x047729af594c8c1c1,
3918 0x1ce798ff51a064ad2, 0x0800a3c18b944f0e4,
3919 }, .{
3920 0x0d65b8b643703ef96, 0x1c55c2e0816c5d056,
3921 0x0390a06d3ec60e632, 0x0d543d346db055847,
3922 0x017e27c7d663d7005, 0x112f7b98a78014ea3,
3923 0x030136142f19042d7, 0x059f9b6e576f79ef7,
3924 0x1dd78fb3577c5ed37, 0x1a4594314b3f1adde,
3925 0x1e26cd964c656292a, 0x0579c10261478da1d,
3926 0x0406f2849ab5ad15c, 0x024b15c729f2211b7,
3927 0x10f0505cc2f7f110c, 0x133cfa11f995e0afc,
3928 });
3929
3930 try testArgs(@Vector(1, i127), .{
3931 0x226b8faf65414a9a0ffcd438c7fa9eea,
3932 }, .{
3933 0x2c582610b08531ca208fef1c2b839bdc,
3934 });
3935 try testArgs(@Vector(2, i127), .{
3936 0x35e8caffc9fc8e1b3b6d3667cb6a128c,
3937 -0x070d99d51807ae2314ea61e4f0166145,
3938 }, .{
3939 -0x3a59d011c2a385a6dcf00a40efd85b77,
3940 0x3b5f506c3fa0c8552fba624d1b5debec,
3941 });
3942 try testArgs(@Vector(4, i127), .{
3943 0x191594cc2356ffeac739f1841b06adcf,
3944 0x1f45176996076de7c3891f14f831e192,
3945 0x1c9047002e0a4f00656556fffeb50349,
3946 -0x38049f47bcc36ab26600bc475295389f,
3947 }, .{
3948 -0x2f8c1618324c60c40f65d216943d59d2,
3949 -0x21429f90bd9dff7b5d49c9d7f2655928,
3950 0x3baeef72d0d168fb50564c9f6eb5d778,
3951 0x3affe6f2eddfc6a69206c357633d0eeb,
3952 });
3953 try testArgs(@Vector(8, i127), .{
3954 -0x00c48629a415129f66e74a1a215d683a,
3955 0x3920a425cbec4c9af649a00d5747136a,
3956 0x11f53b9db15a12814c948c6a809b96f8,
3957 -0x1f7e272db97efc88762dedf54978e795,
3958 0x13e56ca8ed41f64d04ef01019703f402,
3959 0x294014109f4313454d9994f1003b4572,
3960 0x0f3d6fe7adde96149ffcc5c0808b708f,
3961 0x2d9bcd407da37ff3d43cc5f6b64fd385,
3962 }, .{
3963 0x3f95f21d3bc39fe8e3fcc184d150a984,
3964 0x2a8c36a5986d8c245bbdd302737b7e29,
3965 0x37c61446e10efe6a94f797da05a28fae,
3966 -0x096b2f4e16aef099d623066e941d13d1,
3967 0x3df11d4af3229ed59c52628cac02f506,
3968 0x326f78cbf454566daa3bc235a1fb3fb8,
3969 -0x2cf6b4872dffea018c77892e433b6784,
3970 0x345dfdd52635c224c70949913255ab68,
3971 });
3972
3973 try testArgs(@Vector(1, u127), .{
3974 0x49a0cd1849f9adbed215770c6f97a584,
3975 }, .{
3976 0x5e10826a03aeb57d4a9a9ef2a8f02faa,
3977 });
3978 try testArgs(@Vector(2, u127), .{
3979 0x1c2544fbb76890de5c00f42c9a516846,
3980 0x324f292d72694d409152a311b5a0441c,
3981 }, .{
3982 0x01cc87106db8e357e85f875d46feac96,
3983 0x49e775cc0db88cf9725af13113d7d457,
3984 });
3985 try testArgs(@Vector(4, u127), .{
3986 0x3e82ddcd074646a0a489a4fd300c32c9,
3987 0x2a511ac041c17a68c5a71bc6d3cb3ba9,
3988 0x2dace4189083411634b753ae476579a8,
3989 0x4e1d5cb04d9681d806312d72d6dc5262,
3990 }, .{
3991 0x5f489e689ff15fcf38aad995b1796af2,
3992 0x49ee549bd8e20092c8ccebb992cde8b8,
3993 0x4e52d33281cba3fda6ae8d1f463c7a1f,
3994 0x0de0279b2dec3fffe44c1c7decc430f8,
3995 });
3996 try testArgs(@Vector(8, u127), .{
3997 0x636de193fbadb1984a0ed9969f88d38d,
3998 0x64426b7e468cb323b1d75656879fb9b2,
3999 0x48afb4cc5a11f2ca4b8609b057758312,
4000 0x176157ce93422bb4463d6f0dda275b94,
4001 0x746015d0e8cb5e36af43840a6df11aab,
4002 0x279b665776118bc2759134c19cbf1bb0,
4003 0x52cb4dc56d3935090fb7db710c8f9660,
4004 0x591884d8d8e2fe2f77b7f8508dddeaaa,
4005 }, .{
4006 0x42e00bc05d50ea63d546085642b8831b,
4007 0x4241ff07ce99ee055b48ed2939b8d6b7,
4008 0x45a5f53a5c5cb13f1a9e6621fec8cf4a,
4009 0x68d6938c1b348dc6cc98d4b6ab3a1c22,
4010 0x1f9448fc11e38500ec7ecf57a33a278b,
4011 0x7b331526d6fcfb958f3c88fc4656e123,
4012 0x4f1e8ddf41a7105cc1a1c815040a2693,
4013 0x31ac7bd68686d531d53ecca75e6d8b81,
4014 });
4015
4016 try testArgs(@Vector(1, i128), .{
4017 -0x3bb56309fcad13fc1011dc671cf57bdc,
4018 }, .{
4019 -0x05338bb517db516ee08c45d1408e5836,
4020 });
4021 try testArgs(@Vector(2, i128), .{
4022 0x295f2901e3837e5592b9435f8c4df8a7,
4023 -0x1f246b0ff2d02a6bf30a63392fc63371,
4024 }, .{
4025 -0x31060c09e29b545670c4cbc721a4e26b,
4026 -0x631eb286321325d51c617aa798195392,
4027 });
4028 try testArgs(@Vector(4, i128), .{
4029 0x47110102c74f620f08e5b7c5dbe193c2,
4030 -0x61d12d2650413ad3ffeeeab3ba57e1f0,
4031 0x449781e64b29dc8a17a88f4b7a5b0717,
4032 0x0d2170e9238d12a585dc5377566e1938,
4033 }, .{
4034 0x0bf948e19bd01823dcb3887937d97079,
4035 -0x16f933ab12bfba3560d0d39ffe69b64a,
4036 0x3d0bfce3907a5cd157348f0329e2548e,
4037 -0x3c2d182e2e238a4bebd7defbd7f9699a,
4038 });
4039 try testArgs(@Vector(8, i128), .{
4040 -0x775678727c721662f02480619acbfc82,
4041 -0x6f504fcbff673cb91e4706af4373665f,
4042 -0x670f888d4186387c3106d125b856c294,
4043 0x0641e7efdfdd924d126b446d874154f8,
4044 0x57d7aef0f82d3351917f43c8f677392b,
4045 -0x4077e745dede8367d145c94f20ab8810,
4046 -0x0344a74fb60e1f1f72ba8ec288b05939,
4047 -0x0be3ce9be461aca1d25ad8e74dcc36e1,
4048 }, .{
4049 -0x4a873d91e5a2331def0d34c008d33d83,
4050 0x2744cecfd4c683bdd12f3cfc11d7f520,
4051 -0x0cb8e468fc1de93a7c5ad2a5a61e8f50,
4052 -0x1a3be9e58e918d6586cc4948a54515d3,
4053 -0x512ec6f88c3a34950a8aaee47130120b,
4054 -0x2e772e4a8812e553bcf9b2754a493709,
4055 0x0c7b137937dc25f9f9cbaf4d7a88ee6b,
4056 -0x2ecdd5eb81eb0e98ed8d0aa9516c1617,
4057 });
4058
4059 try testArgs(@Vector(1, u128), .{
4060 0x5f11e16b0ca3392f907a857881455d2e,
4061 }, .{
4062 0xf9142d73b408fd6955922f9fc147f7d7,
4063 });
4064 try testArgs(@Vector(2, u128), .{
4065 0xee0fb41fabd805923fb21b5c658e3a87,
4066 0x2352e74aad6c58b3255ff0bba5aa6552,
4067 }, .{
4068 0x8d822f9fdd9cb9a5b43513b14419b224,
4069 0x1aef2a02704379e38ead4d53d69e4cc4,
4070 });
4071 try testArgs(@Vector(4, u128), .{
4072 0xc74437a4ea3bbbb193dbf0ea2f0c5281,
4073 0x039e4b1640868248780db1834a0027eb,
4074 0xb9e8bb34155b2b238da20331d08ff85b,
4075 0x863802d34a54c2e6aa71dd0f067c4904,
4076 }, .{
4077 0x7471bae24ff7b84ab107f86ba2b7d1e7,
4078 0x8f34c449d0576e682c20bda74aa6b6c9,
4079 0x1f34c3efa167b61c48c9d5ec01a1a93f,
4080 0x71c8318fcf3ddc7be058c73a52dce9e3,
4081 });
4082 try testArgs(@Vector(8, u128), .{
4083 0xbf2db71463037f55ee338431f902a906,
4084 0xb7ad317626655f38ab25ae30d8a1aa67,
4085 0x7d3c5a3ffaa607b5560d69ae3fcf7863,
4086 0x009a39a8badf8b628c686dc176aa1273,
4087 0x49dba3744c91304cc7bbbdab61b6c969,
4088 0x6ec664b624f7acf79ce69d80ed7bc85c,
4089 0xe02d7a303c0f00c39010f3b815547f1c,
4090 0xb13e1ee914616f58cffe6acd33d9b5c8,
4091 }, .{
4092 0x2f2d355a071942a7384f82ba72a945b8,
4093 0x61f151b3afec8cb7664f813cecf581d1,
4094 0x5bfbf5484f3a07f0eacc4739ff48af80,
4095 0x59c0abbf8d829cf525a87d5c9c41a38a,
4096 0xdad8b18eb680f0520ca49ebfb5842e22,
4097 0xa05adcaedd9057480b3ba0413d003cec,
4098 0x8b0b4a27fc94a0e90652d19bc755b63d,
4099 0xa858bce5ad0e48c13588a4e170e8667c,
4100 });
4101
4102 try testArgs(@Vector(1, i129), .{
4103 -0x09c126c4e31389b174cb2b45e76c086dd,
4104 }, .{
4105 0x0d023f2566c56400f4b7edb9c4f364ecb,
4106 });
4107 try testArgs(@Vector(2, i129), .{
4108 -0x072be32e116741732f9422d9b20777db5,
4109 -0x010829386cc3d93283a83591bd994ca58,
4110 }, .{
4111 0x004671167d0681d46945832d16f70cfba,
4112 0x098550137341cbadfe8378987e3a83265,
4113 });
4114 try testArgs(@Vector(4, i129), .{
4115 0x04167620c7f5e094208fb204f06b9792c,
4116 0x07a6690c0b5f9de6c8955873f19b98f23,
4117 -0x06505997d01e5a971f820742210c7adc6,
4118 -0x07013921eab8d92559f17ad9e3712bc61,
4119 }, .{
4120 -0x0bdbf7ce4079fa628feb05f5814402e15,
4121 -0x0e6ee5464de547ce92ee5a6037f175e52,
4122 -0x009d079b88cdc765ab72758854b753d98,
4123 -0x085af31dd5243f61b46e6dc950728ff49,
4124 });
4125 try testArgs(@Vector(8, i129), .{
4126 0x0d85f471bdc56611e9187113f1489bd38,
4127 0x06e1e9cae044bb17b63c380fd6f2652b5,
4128 0x0921d649288a16481f2ec69747f443e5e,
4129 0x0e8db24d1aefd91cfab20bac61f560274,
4130 0x0187abef7578e5e02a396e4ebd5859c23,
4131 0x0d2dec5a6bd72afe18288ca428ec2b94d,
4132 0x0c52c111a077bffb1fa4483523cd044c3,
4133 -0x0b6a90c79d6230f271bf625c9a6c0dfc5,
4134 }, .{
4135 0x0d47c566bdedae2e9485f7aa381a98d30,
4136 -0x0e5d9573c01a9e56361b202c47f0e51f8,
4137 -0x0bdcafb1f08db4920121521b2d2679931,
4138 0x08de42eec43f2a5175f928f8a1812575d,
4139 0x0c3f57e712a7f8494e51b62d11573d9a0,
4140 -0x09287910d439c9bafd56bc8a6faf50cb3,
4141 0x07b494af9634c8f95bed2f50fcaf08dda,
4142 -0x0a150693d83af2e823dcc0765e4e331e2,
4143 });
4144
4145 try testArgs(@Vector(1, u129), .{
4146 0x1e51bd13747df8fae52f0471e9f1ad3f2,
4147 }, .{
4148 0x00aba9f2c80c71b1ed07201486ea44d00,
4149 });
4150 try testArgs(@Vector(2, u129), .{
4151 0x0c7967a19d13d4bd3f6ebfa0f8fdeab92,
4152 0x01614ee2c32757cc92e2efd97e94321a7,
4153 }, .{
4154 0x175803a2c0bf888bd01e2a5bae28e4523,
4155 0x07d05a98ec8f4e7e72aac2712bc09a23a,
4156 });
4157 try testArgs(@Vector(4, u129), .{
4158 0x1b18b768c5852bb1f0a7b34ceaeac4a0c,
4159 0x038fc1f995d9378fcf1043598810d7a56,
4160 0x06eebd77f9920e79932decf0f29ef658d,
4161 0x1f31a766145022050d0b16a4f5d06f1e3,
4162 }, .{
4163 0x033b20a528a722b6704bf5c8aea497e68,
4164 0x0ea05276fb8de4e77e4a8d4ef55f64bba,
4165 0x1c632cf252683b00faae6dcb7d73d8b90,
4166 0x11a7e1e98bb34fc7f5ed36c327476b122,
4167 });
4168 try testArgs(@Vector(8, u129), .{
4169 0x1b85991584b26492938854a6f6953b766,
4170 0x119472b0f4b7199f1267639f601833e3d,
4171 0x130d19e6ccfebce09c61c8c8fb526fec0,
4172 0x1379f4fa9d25e18ef5138c193b7ec9ef3,
4173 0x15fc62d9e21c2c0c63f9cab5ab0a8cf36,
4174 0x123ceb2a65f200a0b3e559c801bdbfa58,
4175 0x0e740ae3c7ab0cd24c5ff94d9367e3ebb,
4176 0x008c7dd67796949390355d866e4f171ef,
4177 }, .{
4178 0x0ffdda009048cf61476610425d5e55560,
4179 0x061bcb9d024d015891b5666e7b317cc84,
4180 0x060c013386fb8c129a3bd65b7909f2bc5,
4181 0x01c8efdd7ea806b1dc984c6183da53d8f,
4182 0x02fae7cee43d7f97448e82b907335bd45,
4183 0x0365e7cadcbd0a64decc1377339967c53,
4184 0x1a52793ba8a9689e1d7f5036e8cb613e1,
4185 0x1257d7cdd8f04058d285a5bce173b5262,
4186 });
4187
4188 try testArgs(@Vector(1, i191), .{
4189 -0x23ce1d6b12e301d243024c60aef14b6d068e1d4b1c4f442d,
4190 }, .{
4191 0x1a7b04f33aa590b99c1162bb32e7681ec267b7826e162512,
4192 });
4193 try testArgs(@Vector(2, i191), .{
4194 -0x25ed7b5b9a9cd517f7f1e2e796f8c5a28ae04af6c1e7bfb3,
4195 0x3f298efedf4269276db60344c2bed556ee25d24c5f887000,
4196 }, .{
4197 0x3c92b38c6c6eb449c25011a4248df259b8452293390d8ad7,
4198 -0x35743fe2fa86686c496ffd16f93f2fca1ed742b67b8722a7,
4199 });
4200 try testArgs(@Vector(4, i191), .{
4201 -0x1743b70ad78994b68b5f7ad6066447ce8aefaba4852af2c7,
4202 -0x10974462633ebb5631bf83d65ffde3239ff4029c9f62b7ef,
4203 0x1783dc9f0afa815051e6d338ef35da013e807da475815af5,
4204 0x3f32dd0689a9437b7acc4290920370205825a3f6a4453916,
4205 }, .{
4206 0x2ef1b4f92da40e0c33a1611f48f25d8f1c4208b5396e51dd,
4207 0x0d1e8846fd1a2055386c4d74aa55914ef085196399964a29,
4208 0x272c9065c4395186cf7c164fc5d43aeee7fdd08bfd98ad86,
4209 0x25438380cc92dba5c9f3d57ef311fad8e14e3a3c18910546,
4210 });
4211 try testArgs(@Vector(8, i191), .{
4212 -0x36d4fd6afdc4bae957b5caed3360891ac4c44383f77e0225,
4213 0x2bd89636510607345813f74ee303d3b22435b37a7d09c7ed,
4214 -0x3cc372c1659789b967ed7000bfae20f73829a093e9ac9232,
4215 -0x2e27691dc3d8ea12093136cf859ef8e0c686ae66e56e073d,
4216 -0x24150a1f8bb0097625000af9b186a8927f70993e76702c17,
4217 -0x3adebb65a71f180fbf21117bc38fa3aeddebe1e216ae5a70,
4218 -0x257688d6ef63e2046bb8bfa11ba84b665e4e12522d56d085,
4219 0x173a71a3792e72cbd31f2f10142cf568ff0987e8dfd4ed35,
4220 }, .{
4221 0x056e3bbfe91bd5adf441278fccaeabbe86cba8ae545dee95,
4222 -0x02705836e891812aba265ee3e12d17f6fcdbc69320e52ee9,
4223 -0x276a852ba9a4163fe636cf31007b5e3cb087bc44c0948a02,
4224 -0x14053135d82f772dd82e7a472315b6b9fa836a27bebcf980,
4225 -0x153f064d28f4fb27c827bb5fe2a44c95e3b54d21eba40a1c,
4226 -0x30ac5165fa3f132f294a5241d3201973a0671aa3b536e3ae,
4227 -0x2ce2be59f487892c58bf667a55724b117e3e8ba3b00c1c31,
4228 0x138bb8e5b837ffd06d296ea0af9f533ffe3a36073fafc2d3,
4229 });
4230
4231 try testArgs(@Vector(1, u191), .{
4232 0x24f26e4c0b4b20639550564263b0be7083e112cdef6c2d83,
4233 }, .{
4234 0x020334928f4583d332043b7aef15e832047dfd01b2933038,
4235 });
4236 try testArgs(@Vector(2, u191), .{
4237 0x67074e5315030f5c1a4d035100736de691b5589f6d349162,
4238 0x0e655397f96e3fd66b317294a37975d36478242fd6392259,
4239 }, .{
4240 0x56bb6bd23999b9af6230833f3c661fd54fa2f012673f88bf,
4241 0x005c4fd0feb22f04ae76cd1479b6f0d6e62b76b249073cfd,
4242 });
4243 try testArgs(@Vector(4, u191), .{
4244 0x793af4124df65a0815c1f1603d309d0094e1ee29a571ec57,
4245 0x32163b39813a85f3c4ca626d14130258782eae8704f2ceb1,
4246 0x64a0ac41f560153b3d1f3193faa818db7be2c66f0dbc2457,
4247 0x195e210a66b88674fcb13b0bf26190442b71bd53b2df52fc,
4248 }, .{
4249 0x2668ee718a179e0fa57a1b72aa6a5dea00b60d8fe69a019c,
4250 0x447df595f31d0bac74b0dd7a379fbaecb92b2aba1b8615f7,
4251 0x0c794ae8369677209d714dd97092b5e4d0c6b9e794e6d9b9,
4252 0x2c7a81900b3eef44190b5d0264f9bf072588720247f69693,
4253 });
4254 try testArgs(@Vector(8, u191), .{
4255 0x1afd856825f4458371e2adcbdd7c1b1dbb935b8a6f4a6dca,
4256 0x738efc41846cf88223553ed8b4c1b45366088bece1fe8052,
4257 0x7841b17a1c38e4066376e5ae204959c02c524635740a9013,
4258 0x4ea41d7c910dca17242c74dfb1aedbaf05c9b93fee1e5b77,
4259 0x5c6ba91cfae1f4d49cb2b5cedfc090f0ffbde9afa6794788,
4260 0x4582bfd463bdf1f5ff4da91fc65bc2a38823f45c05bc485e,
4261 0x7cbac126c09224be8017d7d1c9a84014d2af0a3afb14a5b3,
4262 0x3068064c244d43736c5454d45b576f4c62324dd5aec39e8a,
4263 }, .{
4264 0x49907c71f5e8fb9626727be7a949ae8ee47bfc3658b09614,
4265 0x5a8f50d921fcdf9d0a20ff050ecbd2447cd3ab7ea3c4d9fc,
4266 0x11bfcb2033ef38914dd35cf384f22d5ece33c1685616ba90,
4267 0x1996b77370fef92a696ccd5e316eed50b2bc33ae10b245d7,
4268 0x1aeacf955748c195f4ead3b032cafce35db2cf253f4065c1,
4269 0x6661ba1be480a8ca7cb1ed35c01ec591c34ed15524412434,
4270 0x0d357b77a9e3b924156e18bcf41a83620246ad419a9ce9c2,
4271 0x467f70d48dfc54fa6cc3ba3f98e66cd1410283f1ec0ae934,
4272 });
4273
4274 try testArgs(@Vector(1, i192), .{
4275 0x5348bc83a6f352c931d06b9817458273408470e8ce312bef,
4276 }, .{
4277 -0x1e9beca133a9c8cde4b5dae26e198968806ca966c6b8c07d,
4278 });
4279 try testArgs(@Vector(2, i192), .{
4280 0x468c1d585cd2e9549f9ead72889e80fedd3eb95a2ee8d869,
4281 -0x1c0276cb4b61b673492f493520098742edfa913d455c4f5b,
4282 }, .{
4283 0x4a503063a094c7e29c2ca37b6c686e16da8d921aa89c05be,
4284 0x4c2141b98f3736551e6e08f1d24eb864842753a8c7112ef2,
4285 });
4286 try testArgs(@Vector(4, i192), .{
4287 -0x62a9e282152d85abe46e802c276f18b0542871984cd7bacf,
4288 -0x3f01fc751a8bdef2e7a884d7984d6189b36c46048de3035f,
4289 0x2eb5379125d8169909e66f4b6bc903c5f6c92952872bf2fc,
4290 0x308053e7f5da3a2906cf5b48ab3752a5820cb90ab56d58ce,
4291 }, .{
4292 0x6bcb4f6375a8ee60b73240550c89edbe0976acd548588d06,
4293 0x1b63863c7a8871c34b2eed238ac4747508150578f60fd993,
4294 -0x2bc4a2065ebda452635e3c9cd420f9c01f869bf7abe75255,
4295 0x6093a6f058b4da28e5f64ebe7684a5d34e2ed48c98bef114,
4296 });
4297 try testArgs(@Vector(8, i192), .{
4298 -0x41d1d3675490a69b9455f1dd57f0c6a7c5e88e734adee8d9,
4299 0x03c5f5e58058b7a4a9038ac6717a1b70caf3851d017ed2e7,
4300 0x1829fef2dd242cca51c638d69b51e00a6e7847e79df6117c,
4301 -0x4622b84d4b52f94d9c933ef3ac435968b1c0b1b3ac1d07a3,
4302 -0x1bb5b63f2ad4dbc0c0090131116680074a83f51f79d1af32,
4303 -0x6b75cf9bc97f9b012305b718bbc0672f86543a245c363297,
4304 -0x43eb0ec7a8995f1340977273858be8f3d620b503a5931574,
4305 -0x1dcfa8f4475abd395fb4e8f696cb25625de768b2d5cb0464,
4306 }, .{
4307 -0x685420e7656ef93e813658d4eef9d44cb0acab0560894da6,
4308 -0x191a07e070edaa52554347726d2c0e1d701b52dd462b716a,
4309 -0x6a336f271fb3fa7cc33a441e6a0d9bba741d56bc5f83b113,
4310 -0x6313298dfc0492db682940661b6ae1a2f56159663f4ba525,
4311 0x35b1588853218d6e00c358bff9d9bf86e399a8b5e3db2b67,
4312 -0x6bb7cfcd5f78cc6437544a271922eba4fc64c25d4a8a0732,
4313 -0x1a40ab85aabcabc56a4e5523c38f5e184aa5c81d9cdc93f5,
4314 0x74438ae4acd2fa943409ad7b87feb48a467a845041aa8d21,
4315 });
4316
4317 try testArgs(@Vector(1, u192), .{
4318 0x2058bb0137e3c0cf5c4afb9a17d6ca0646594ceadb5a041d,
4319 }, .{
4320 0xc1a1bff0426a68458ea170fba78d09a9fe172a5a3609e8eb,
4321 });
4322 try testArgs(@Vector(2, u192), .{
4323 0x693ffb174c224e1139c22e38405ad42e96d229c3fd7a8af2,
4324 0xce93932e25a8f26d8f3314dd0a56868ee899eeddb321da8d,
4325 }, .{
4326 0x69b7060f45d65d5d71ffd171aeebb3aaab8a3b313426f9b0,
4327 0xd2953b80f910619b3e0af7d65fe8f840b055f8690b3b7a5e,
4328 });
4329 try testArgs(@Vector(4, u192), .{
4330 0x4770c1f64c87afde65aec11764deed53f9a2d533875eb2be,
4331 0x40b75e355dc0b2962e5ce23a5b990642371d9f6a80b133bd,
4332 0x99c6d4c37fe86bd4d207fc56822f7ff6e8dfbda5f9d71256,
4333 0x43d7f6d2a18f88224c447e88848ae335cb58f3122d36de74,
4334 }, .{
4335 0xaa5d91b484e03b2dc31fc09b69192c265155f978e1ec2294,
4336 0xe474f9f62162317d3115396d50a33753b6b709cd3a06f5e5,
4337 0xeab9e1fc9c5da4e6e676ebf7cb0d871e9633d738928b8134,
4338 0xe493f9557f2e1eda644ee3a5055c912db265c302d588e2ec,
4339 });
4340 try testArgs(@Vector(8, u192), .{
4341 0x3a38fe23afa76c5ac5f8e0c0b27c70d0ca17c8e184033066,
4342 0x28104df9a858c83c6301788c0058fd6c58f7e62f0b735099,
4343 0x040f1bad46838cfd6bd5d269415512f7fd129b8322e944c4,
4344 0x5cc3d6202e8efb4d769535a20db0876c5142ce975cc175e3,
4345 0x24211e6d3db188ef22afa6ab4a382bfebb0520b76562bcf7,
4346 0x41c2ba9d1d085d99ffd58fd992c9508ed6cd975441710d0a,
4347 0x09e6ae22e1869faba24973fc0f686f4310b06c8da2b8b9cb,
4348 0x8ae0677c9dcdbe674d252a0c985a81bf9bf32001e2e8cc7e,
4349 }, .{
4350 0xe10819f5757f84ae79f934711e8cdcd6aac2848c9af0744d,
4351 0xf0264ebb8882377dff3f82dcdb9dadfa2350d058be09933e,
4352 0xa47708aedbc8100ef25a6de5eb01d7cd5f98074f69e1227b,
4353 0xd0145ba1e2d64d053034e2beed2f47179bbafb8b90b5e5f9,
4354 0xde348762a0ce1397ad611e84921a7f6f7e0683fd733b9a09,
4355 0x4de07b2982883977940773c44ea2a2e2cbf1e1db94fc832d,
4356 0x5af700739769e9ce05217e76638edf92a169bc4c3ee7542c,
4357 0xa58a80368b056aa1987f504ff1261cff3f5ffc4474ab48a1,
4358 });
4359
4360 try testArgs(@Vector(1, i193), .{
4361 -0x0ccbf216d85fdae8d3a7ee2e7746bc6cc3aca87f3f8067f66,
4362 }, .{
4363 0x0906ac1fd6d47d6c762db9fcc02fa2987ee0c4d66312b79d5,
4364 });
4365 try testArgs(@Vector(2, i193), .{
4366 0x0f3a3fe06faf1140bbe4eb5e0d0268edb529918745ef3ec9f,
4367 -0x0609f53b7f095f629a4b358fb0b77332a89dc203ac0cf28b6,
4368 }, .{
4369 -0x0188251925a3542ea0d568901a19d67796b17339e9b73f88a,
4370 0x00f9037c3dab02483b14195ab2ef737090f187b90ebee13e9,
4371 });
4372 try testArgs(@Vector(4, i193), .{
4373 -0x072798ac04a8ca26a36f587412c9bad03e855fd2049ba72ac,
4374 -0x01a8dd5d7cc5ae4f3342ea2af61c4349bb777e9d14108eeda,
4375 0x0516fc9ec2e14cd7a5e27c0ea83826082c1097fe35f9f006a,
4376 -0x06bd00e1b3a8aff93618d16bcec743ad577e379a15eee0a72,
4377 }, .{
4378 0x0bdf3724329572c17cf6b82f7011daf08bf56bc28acfe650d,
4379 0x08049ade287c9661565a18c5bf57d487cdfb5c111033ba199,
4380 -0x0917208e354d2765f0944bc9f50836d4bfcdafabfe8e2442a,
4381 -0x0a354ea6608f71254d97e615dc45495e0bcccf05466a2db2f,
4382 });
4383 try testArgs(@Vector(8, i193), .{
4384 -0x027bd975ae44664a34f52fd844ada5c23e4b0fa5586a274ec,
4385 -0x077e3522a9cb0c6aa10beeb1430e0ac356a48e90f6466c233,
4386 -0x0d0d02b7ab7876460c3d4d3118bef476e2c5ddae50af453d5,
4387 -0x065c502be097b15379af566a20c4ee93893718330c9a258ce,
4388 0x08b5e11e5ff7422f25c99ab70c216eb77e35f269b5fb739a9,
4389 0x0d827f83698f1365a5140e1d38072571dac4169c2124ee1d6,
4390 0x062e1435b91faafeecadee5551c61dd01f0f132f56e849973,
4391 -0x0dbcd14bffb526c9f3286428e5eb273785128417f05336ce0,
4392 }, .{
4393 0x0a99c2d8d15184fcdaa5b68180f4e10b0c9fcde51d213c257,
4394 0x02065bf7e8d093371795f7f376e2fb3ac857a05a3e1f6befb,
4395 -0x060f3874a6f65b46738d0117db38b749aff45725000c06213,
4396 0x06019cbc9b1466b7669690ae9c6f095257d1c8874e5e27353,
4397 0x0bde8419e795cbad708c76ca90de50c00b585c44d78b2ad68,
4398 -0x02e271e95d11dbe0cb77c8b829c739bc00e6c9b2f7b532a29,
4399 0x0318a691ab34dabf1804facf1b773a9fb6f9e9fd9e63d985e,
4400 -0x04d151cd85a0bc49683bbdba28e2410292dc5648335819fae,
4401 });
4402
4403 try testArgs(@Vector(1, u193), .{
4404 0x16d3f2329dafe80b17fdff6bfa688636ae9b5ba311b276f3a,
4405 }, .{
4406 0x15f95cc088cd4d4cabf9de25cad565d1880515c869da2866e,
4407 });
4408 try testArgs(@Vector(2, u193), .{
4409 0x1a40ffb1b6f0762c975581a45d9b6811b96eda8cdd6eb497c,
4410 0x1b010ecf0ba30ca695c39cce25d82142f4c67aa1f8ae39947,
4411 }, .{
4412 0x0851339a84dee70faac763dbd9cbf884c09f011f093846f20,
4413 0x16be7f51577c5cfcd423ecdac1bd0edd1fbce6755d7b20cac,
4414 });
4415 try testArgs(@Vector(4, u193), .{
4416 0x10e099200fef4497ed4be9e11269a254ee4f7fea53ae1e360,
4417 0x16cef44c285c1d6364cefe22db70934fba8d31dcbcefe2699,
4418 0x074c07744bd683a1a5ec77bcb1ac4cda8b840d5b6e5da9852,
4419 0x063c5565fbb29b63de719fb574657d50af454f33fb79f59fa,
4420 }, .{
4421 0x09cd6adfaaf1b9ed0fd6370049a2227088d9b834b74412a3c,
4422 0x0162bc69f5c0da662e3862ea235ea46819b737de31d258a45,
4423 0x111191f24663c0a425bd31ead4496b4693a089d6bd6082a11,
4424 0x127c9d184e79d0b80a87d9acd7fb79d93fd9b08ff480acef9,
4425 });
4426 try testArgs(@Vector(8, u193), .{
4427 0x171ea804993233dcf14ec91b9185a1520416bebdbb2f0f4b3,
4428 0x0f74e7e8f4b4759d22de5120dfb4db57205990a899ab3698b,
4429 0x094e8a7bf8cf2a802d3a79f77d3932e8a65d11378fb6f8ece,
4430 0x06d07aea60256fcb65c306b32ace35809b45baf5fca21efd1,
4431 0x17df00d2223a949f6119a3c8cf0cd87165ed48f93ad0eb921,
4432 0x173b7201aa391de8d236ff30ed8ae82b7be2ff5de51285361,
4433 0x02a95d9fae7d18739a93e174d9ea1b2f108bd2f5997dfa42f,
4434 0x0bffa67d4ac0f4bb56cd4fec9ea53d47896f05fd4efc0f6e0,
4435 }, .{
4436 0x08485a8df517ac7bf9d02ec8d0c34c246dad221f1ea51596b,
4437 0x0986d1fda1bca4b83da2cace25768e4d91d89028889443cfa,
4438 0x1faa463b7389740db0cf14b3274f1f955536c6a929c89df82,
4439 0x072b004463fc7c58f3ae51d7d5d44ca208205ad3396fa6c8b,
4440 0x1ee3603ef444b40e5ef74b6d79f3433648fdbfb918d50e4b7,
4441 0x1612fe2493d3e02b2fd38ef7664aa9fb079db6843bb201100,
4442 0x0d1a4e0c9596afd18e6f06c04ec3fb1bfb660133fc0c7f7aa,
4443 0x0de0220f630f0ac5a699cb36d7ced9da11b272dd2eb66e96e,
4444 });
4445
4446 try testArgs(@Vector(1, i255), .{
4447 -0x228071e5036248a576fc6f30bda6553bc4f08505cd4fd272e681ddd1a551db11,
4448 }, .{
4449 -0x14c82347566b6d8eb19064009a7ef16e2d08cd6e40b4bf34f1e6723ad9b0d625,
4450 });
4451 try testArgs(@Vector(2, i255), .{
4452 -0x39313c0014d4850a7957418b2fdfc83a0c29c5f04d90ccd634d7b4e52ee6aef2,
4453 -0x096abeb3fdc6451052a96557657d917e9128765c256f83403f788992dd0cd486,
4454 }, .{
4455 0x2765779b4ffc6c405173fe64f621af1c7d63a91ab3fe5809d066fc428f630c47,
4456 0x206df1159f268d4fd99dc8d2228718189161d7095f0af64c7dee86a34a7b875f,
4457 });
4458 try testArgs(@Vector(4, i255), .{
4459 -0x2c31b98911222faeed03f6625c8a75e0ce5fa53be49e79a26695dde5610e28e4,
4460 0x38506947b5f5e5ed4cf3f0738140bb988af9e7cf514862861ec7259a8426b4c1,
4461 0x01ba20e69c07a1e8845b1cc837d8d588480a2a52b15f0a5532c763f91f3dad9a,
4462 0x1877f8233a0a96c33ea2aed47e3388f8961d4a81dd6c8c1a48c77aefe1b7ed6d,
4463 }, .{
4464 0x021a3c326f7841068338bbc9ee73fba9b36050156f2a6d3b44ecfdf2273496dd,
4465 0x0865f2eb5a35c85c480880b26a9a03f51e0f4cd9bbc2b8ab2755f2aadf1cf0e6,
4466 0x0d41a6c3956465b187286d95a42d42033f593be4bd681e757f1154a0735b894a,
4467 -0x0b87a6b415579cd9889321b01ad8d2b722dc6c932cf7aa97a0c8c807be5f6d68,
4468 });
4469
4470 try testArgs(@Vector(1, u255), .{
4471 0x49ee4da820d884bb3693fb576d5b2f16c9f064ba1da5a81838911813a6445dc9,
4472 }, .{
4473 0x0afbdec22d512f0d88a95d179e6fc901c7f682be0746ce9acfca17b748543381,
4474 });
4475 try testArgs(@Vector(2, u255), .{
4476 0x293f83519c238a446748193388e0ab75567a03a458b4873f4c2b16b9250f15ff,
4477 0x1f0f33f7c2d6fc271ae497b6e3b7a7c6fdff096a321843aebd6d07d7f3050bef,
4478 }, .{
4479 0x788c4bf8d34d23eb8147a7f36ab2d09a96be0f4bcaa6be6816447e9e6e39d0f8,
4480 0x2fec35d0092202f654993429949fd5c121554c3cf6072239fcf35aa44d45dd1b,
4481 });
4482 try testArgs(@Vector(4, u255), .{
4483 0x5477956be73c0d9af22c5214b47a39761bf0e88c92dc08ad1955b12f60575982,
4484 0x4fd80abb62788804ff3edac72d91096e3747a8fe5a53e5f63b0cb4c1ec85a626,
4485 0x411f513c4e4dffd0a699f99b3d9aa50c315fccee34d183086b8209f42d965cd4,
4486 0x2561cd45d8e7fb3ddd810396823997354e7c2c4c5529d66b30f5a6ef095d92ce,
4487 }, .{
4488 0x4bb37f557ba14ab84ebc762ec943d39f5250ecb6005935f3269ba60d8df20d61,
4489 0x38358daa8c05bc317383942e3a9189d2f205ba705a76f9285acf9f223d954b36,
4490 0x3616b6288a23c31fb4412739d002df3d50b19d23995585a43dfcacc547f1eb49,
4491 0x00b4ecb3ddfce395458e448c299f74d8f5c37e36a14d9ba5b6bf8dd3917522d7,
4492 });
4493
4494 try testArgs(@Vector(1, i256), .{
4495 0x1fe30aed39db1accf4d1b43845aec28c1094b500492555fdf59b4f2f85c6a1ce,
4496 }, .{
4497 0x6932f4faf261c45ecd701a4fe3015d4255e486b04c4ab448fe162980cead63fb,
4498 });
4499 try testArgs(@Vector(2, i256), .{
4500 -0x23daa9bab59dc1e685f4220c189930c3420a55784f0dec1028c2778d907ccfe2,
4501 0x521c992e4f46d61709d39e076ed94d5d884585f85ccbf71ca4d593da34f61bf5,
4502 }, .{
4503 0x2d880cb5aa793218a32411389db31e935932029645573a9625dd174099c9e5b2,
4504 0x2394a6cde7e8b2dc2995f07f22f815baa6c223d99c0b1ec4b2d8abd0094db853,
4505 });
4506 try testArgs(@Vector(4, i256), .{
4507 0x244e66ed932a4d970fd8735c10bfbd5f59bd4452c20fa0fcf873823b8c9e6321,
4508 -0x31577b747614b1ab83fd0178293cd80b3cb92e739459b2d038688a2471f6d659,
4509 -0x0dbdfc3d8bbd7cab6a33598cef29125aab7571fb0db9a528e42966963d6ce0e7,
4510 -0x72c58cce172d8a34019a44407a4baf1f8f8a4a611711bd5bb4daa2a2739dd67b,
4511 }, .{
4512 -0x2e88bc68893fc2d61af0e5ccb541f31fa6169504e8cfcbeab0b74a03b9e86c33,
4513 -0x7eba0783f3382b59a17ffbea57ba1dd8fa30e2d4f7eba7ed68d336d3c37b4561,
4514 -0x66d1463efd38e9e994e126d09b5c65c8efc932ffea9ec6cdf6042561ba05f801,
4515 0x2024bbacefbabbfd5b32a09be631451764a1f889a77918f9094382dc6d02aef2,
4516 });
4517
4518 try testArgs(@Vector(1, u256), .{
4519 0x28df37e1f57a56133ba3f5b5b2164ce24eb6c29a8973a597fd91fbee8ab4bafb,
4520 }, .{
4521 0x63f725028cab082b5b1e6cb474428c8c3655cf438f3bb05c7a87f8270198f357,
4522 });
4523 try testArgs(@Vector(2, u256), .{
4524 0xcc79740b85597ef411e6d7e92049dfaa2328781ea4911540a3dcb512b71c7f3c,
4525 0x51ae46d2f93cbecff1578481f6ddc633dacee94ecaf81597c752c5c5db0ae766,
4526 }, .{
4527 0x257f0107305cb71cef582a9a58612a019f335e390d7998f51f5898f245874a6e,
4528 0x0a95a17323a4d16a715720f122b752785e9877e3dd3d3f9b72cdac3d1139a81f,
4529 });
4530 try testArgs(@Vector(4, u256), .{
4531 0x19667a6e269342cba437a8904c7ba42a762358d32723723ae2637b01124e63c5,
4532 0x14f7d3599a7edc7bcc46874f68d4291793e6ef72bd1f3763bc5e923f54f2f781,
4533 0x1c939de0ae980b80de773a04088ba45813441336cdfdc281ee356c98d71f653b,
4534 0x39f5d755965382fe13d1b1d6690b8e3827f153f8166768c4ad8a28a963b781f2,
4535 }, .{
4536 0xbe03de37cdcb8126083b4e86cd8a9803121d31b186fd5ce555ad77ce624dd6c7,
4537 0xa0c0730f0d7f141cc959849d09730b049f00693361539f1bc4758270554a60c1,
4538 0x2664bdba8de4eaa36ecee72f6bfec5b4daa6b4e00272d8116f2cc532c29490cc,
4539 0xe47a122bd45d5e7d69722d864a6b795ddee965a0993094f8791dd309d692de8b,
4540 });
4541
4542 try testArgs(@Vector(1, i257), .{
4543 -0x037f102b7ce87d2f4c704b7dd9c77c79d5ef99cbaa890cdf5be7f1c991b377f12,
4544 }, .{
4545 0x0e6613140253b86eb76f9cf0da699c734f1073559d4d59b876727531aa1566a3a,
4546 });
4547 try testArgs(@Vector(2, i257), .{
4548 -0x0516f834d832f5b33a8b766b5830ae9b6ed2a8be3347d7cce6a0d536c0ccdcda3,
4549 -0x04148b4556c411a3db079163f1aba615971677b03abf31a34abe73cf054957e01,
4550 }, .{
4551 0x01de4743d129cde4400547974ca9e9cfe234fe8fa67ec3c00f70b52f16a683ac9,
4552 -0x010dfb09c7a42112f07962065751b8bcabe282143d79aaad484080f2c15ac41a1,
4553 });
4554 try testArgs(@Vector(4, i257), .{
4555 -0x097f0ce2c2a4de17cd779503e3e86de1fa9153ca69674546367166703b79658aa,
4556 0x0d6414d92755101344039202da1d6ea15e7054817dbcf4f30c16f85eaf48f3a85,
4557 0x01e73273f475e7fb3111f8a4212eba3f736c536006f1f1a0fa0656fd3fc34fc66,
4558 -0x0277808e445419c1f814213ef86dec08f7a0192ac985dd22043a8161e0f291c42,
4559 }, .{
4560 0x0a3a6678ee5f9458ea259d8434c1604cbfab67b294525a7b2e6ee5dee752db0d8,
4561 0x009f39291d0f97269ce694958d6252a666b928737e645865e38fc70995307290a,
4562 -0x0beed4ee766fb1a04a66a0cbad3da0f471b5c0e32c252279b23feddad2877d35c,
4563 -0x02ad0e2fa1940ad0d2ba67f8f27b486ec781bf5da1f580a9bba0ba8bb0d11aff5,
4564 });
4565
4566 try testArgs(@Vector(1, u257), .{
4567 0x1bb62cd7dbcbbbf2e708871d12f647840997f16f6d322eae96393b3b46ad0ae11,
4568 }, .{
4569 0x1d4361c83425068c40a7a142019b4004a496cf16649773aa04431225b189fbd68,
4570 });
4571 try testArgs(@Vector(2, u257), .{
4572 0x08459d63d1124e6bf747a2dba45df79ba9813451189f4e9bd8fcae37d92646ef9,
4573 0x1336f89e29d7da4d741e10a8a8016e007ad3f475c7b302a03271f0edcb2dbaa98,
4574 }, .{
4575 0x0fd91b46af0a41227ae191250a1d49b7e44e4435f371eac7e8355b8f3ccff1ccb,
4576 0x03914f3814478e96cf3efb4169aa36747aa4bc33daa56ca41134dd71a3af85de6,
4577 });
4578 try testArgs(@Vector(4, u257), .{
4579 0x0aa2d811711d70ec5dd639ecb979dda726c157bdc18dc34447c3026fac49d3909,
4580 0x00652c96fa6a34772a424e4b9c7c3613558c79f4144349e0d700c15ff9ec2f974,
4581 0x11b10abfe69b4f75c11e0a0ee128526ec9f3fb7b32502d1005984b0c0652ff7c4,
4582 0x053ea83a9caded41dd751a742b49b062fe1fd62af3d3025486bc1af7921225ab0,
4583 }, .{
4584 0x018c2110a0432d0acd462886f559f826bdfb05e91e61e2928a3a43b98d1e6bfab,
4585 0x1b212dde794f97203018963e51b025b21a5dd47f04a007fee80aaaadb87e30140,
4586 0x1394a84c2431e46862d33dbf0dd0cf23f7ff7f85c0107c04cdeca1c168df5c556,
4587 0x060c9e2ba327cde7650bbe329345b4184223d77adda253c5f425531676e863c8b,
4588 });
4589
4590 try testArgs(@Vector(1, i511), .{
4591 0x25c69b25440d3059c5c38ba2771252430152afcbcb988d8c5de0832f49f1d8649a17a4e0dd508d8cd7349adc4ba228902099092726af175a8f04f29a19ded5ed,
4592 }, .{
4593 0x0c28729ed05abb52e888bb7fefe58f783ed5c7ef3c8a4cdd7349fe47edca26db746de0308e642b64b659a52e17405dac9932ec43499e6f17b6cbebcab597e577,
4594 });
4595 try testArgs(@Vector(2, i511), .{
4596 0x2b6235f2d231f63ebc67ac71893fa5ad6f2125b6d50a5f9eedaf8bb4de3e116939ab5b2c0e9b7cbc0a2308c3a5dd4a99049f4538cffd4155b24721e3c77bc268,
4597 0x10cac70f8d1dbb88f1dfd913823e8fa53ad58f54929222c1c7bedb591dd3c90ecc5c1239fccc80515b5bbf4c4d47669f267b3880dd8f465f6c7e9fc6e63faac4,
4598 }, .{
4599 -0x3dc3af786e95767befb16c51f5602029a5fdbc76dafafeab2c409168332f8c5c038a0e7f3d0021acaf6eb6f6ff9a232a9dd19e5b33c7c4158f8f1798150448f1,
4600 -0x0eeaa2dc65820153224f26847a99a3626d6ee9991ecba613e721bbd169e69371dd5bcadc8983ae9b82d77376b0e8179997e400fce64c74c9efd2b4a5f174b854,
4601 });
4602
4603 try testArgs(@Vector(1, u511), .{
4604 0x207381c6b742f50bf76d0d220943d9354d96f4cf27e979bac6c8f47d70d64d44153dd6c2ed62cc7b5a4fce98600382fbece15ee4e4b3d1c0d4277a553ac01c10,
4605 }, .{
4606 0x35ad1698d693b3b7618d1243163f1ce2beb5f6c3c7b6e33a24ce9639e5a3a30f78350f4c3c818512377bf89851388e1d444a50b20a10a2ce66c60d0af1bebc84,
4607 });
4608 try testArgs(@Vector(2, u511), .{
4609 0x039131b98944347f35fe54337902bba6b975a1b6bd9e36a20e236f3149b53156b5bfa0b468a56dfb1c09684a8f24b5d548c6e216c20dde01813c044cf031a3eb,
4610 0x43ac7c9afa88f5169405ff4963557bb7e78ed15eda5bfa91335f7d9117ee13d969d6cdd2f0910f8865cb57687fd2e0f4e6cb188bb34759609724a7ce128c0db1,
4611 }, .{
4612 0x43dc8c03e26c12e96d69076a68afd3e0515ffd67fd2b2aeb8457c92e7e2ec6c503a362866ddd99d4a4f21e7bece901e3df76a9496e978d11f4c4cc50d1e52601,
4613 0x4f97c33b53b3c4b5a59c257b575149524e7e4ec4fcfe1574a9a3111b066959d39affe87e6e99656a80d64ae95d60ef4f90c2544559d22abbf26d6ab34e5b3074,
4614 });
4615
4616 try testArgs(@Vector(1, i512), .{
4617 -0x439ba81b44584e0c4d7abc80d18ab9d679a4e921884e877b28d04eb15b2d3e7be8d670b0aba2c4cc25c12655e1899ab514d0a6e50a221bcf076d506e6411d5c2,
4618 }, .{
4619 0x18b1d3be5a03310d82859a4ab72f056a33d1a4b554522bcc062fb33eda3b8111045ee79e045dd1a665d250b897f6f2e12003a03313c2547698f8c1eab452eae1,
4620 });
4621 try testArgs(@Vector(2, i512), .{
4622 0x28e2ab84d87d5fb12be65d8650de67b992dd162fe563ca74b62f51f2f32e1084e03e32c8370930816445ac5052b4d345059c8ace582e3ef44377b160e265ec9b,
4623 -0x3a96548c707219326c42063997e71bc7a17b3067d402063843f84c86e747b71e09338079c28943d20601c0cde018bad57f5615fc89784bcb6232e45c54dff1db,
4624 }, .{
4625 0x64beecc90609b7156653b75a861e174c58fb42d5c7bf8d793efbb1cbe785c6b8cd52ce5f9aa859f174123c387820d40a2f93122b81396d739eb85c3ea33fcd37,
4626 -0x3632e347bc6d794940424ca0945dafa04328a924ec6b0ccdedcda6d296e09aa2dd5dca83b934cac752993238aa4fe826be8d62991c9347bae6f01bc0b1b4223d,
4627 });
4628
4629 try testArgs(@Vector(1, u512), .{
4630 0x651058c1d89a8f34cfc5e66b6d25294eecfcc4a7e1e4a356eb51ee7d7b2db25378e4afee51b7d18d16e520772a60c50a02d7966f40ced1870b32c658e5821397,
4631 }, .{
4632 0xd726e265ec80cb99510ba4f480ca64e959de5c528a7f54c386ecad22eeeefa845f0fd44b1bd64258a5f868197ee2d8fed59df9c9f0b72e74051a7ff20230880e,
4633 });
4634 try testArgs(@Vector(2, u512), .{
4635 0x22c8183c95cca8b09fdf541e431b73e9e4a1a5a00dff12381937fab52681d09d38ea25727d7025a2be08942cfa01535759e1644792e347c7901ec94b343c6337,
4636 0x292fdf644e75927e1aea9465ae2f60fb27550cd095f1afdea2cf7855286d26fbeed1c0b9c0474b73cb6b75621f7eadaa2f94ec358179ce2aaa0766df20da1ef3,
4637 }, .{
4638 0xe1cd8c0ca244c6626d4415e10b4ac43fa69e454c529c24fec4b13e6b945684d4ea833709c16c636ca78cffa5c5bf0fe945cd714a9ad695184a6bdad31dec9e31,
4639 0x8fa3d86099e9e2789d72f8e792290356d659ab20ac0414ff94745984c6ae7d986082197bb849889f912e896670aa2c1a11bd7e66e3f650710b0f0a18a1533f90,
4640 });
4641
4642 try testArgs(@Vector(1, i513), .{
4643 0x0dd56664962c44dbd9941a8e45102e1e050ef164752b954c4029ce6a28752c97b76ce3b0ae50dd09076fc16c89c628bf82ea7d3250101c3ee1316e8c51a746a4b,
4644 }, .{
4645 -0x0c4f50a700f8d91c3944c66e6932ea9cf0433a309dd41fd8ec1ab6e7c7f031de17c7fa7bde7a162fd653c1911aeddd176271f5bd76cca68eeab79ffde88835808,
4646 });
4647 try testArgs(@Vector(2, i513), .{
4648 0x0099b42682a76cfc1d6a0b680cd44c907387e78ca92d4c30c555dd6b05f136ad7e136f892641f1b256ef2aa10b1497d1e5a25c9e29260bd861b4fdc1ccc821a4c,
4649 -0x03aafdfa35c0b27515ee422ee71afcb157c6b578a77b514a6134e759bd80100f41344d6016a4dc252034667cb7a9b5165c058c5af0a632ed4b9a49d345b54d711,
4650 }, .{
4651 -0x07c699f50cc1592587bae58fa52742130df1dcd12da8ab1a15d48cbb3c8adeccacd16da37b91ba8a4ffe02669a089e3a1aadf325f161b99a010e76275a11f8dd0,
4652 0x0cec94f5064e3d4736016908cee5bd5469c2c60ed22c560a68b5bbc3a912b984195d7a2aa499db9b67779eadf0158ac9e9c166d58d42720834c5cde96d9a22c33,
4653 });
4654
4655 try testArgs(@Vector(1, u513), .{
4656 0x167f9eb1095f756f462ceb2a48b7a5230a92f9ca6c572f394d741475cfa791e9666852b7696944f624f938f9474fe64e2189c1a584bdadc70d0f6db5c94355c78,
4657 }, .{
4658 0x06566ddffb298aee609074e06fbd881774623431f401410416645844a6c95f65cb08e1765f9c80bdf8f6d0d4c8ec9113d96b6e94cf97909d7da8c6165773162d8,
4659 });
4660 try testArgs(@Vector(2, u513), .{
4661 0x0e58f2fad85c025548e8c011faf78307d5237f25c41a319b0ea826704fba3db56f5e1074e6c76c8ecb83004058ff7dc5157d397d93d6725ac604efe0a48e27b8e,
4662 0x1635d3b34a3186f0e3c8d6ecdea25c84be4ef1f1bbc503dba90e9a260ffd8ec781b857c28e30fcc108ea93c3afa6acb91de3ad3fdb8e68cacdf412bcd31121c5e,
4663 }, .{
4664 0x043c3969668c05c0bec64d7be9741790a17588b8fd35ab88b8708c32658acc6e92dfc1691ee41da1278f7abbfc3f92aea885cabc17c556688f0971ca40b2acdef,
4665 0x198d4fc313ec8bafc85712c426223460c465a976aade6ca2b21ccb216257519675dda21f0707134920d23479c983e0d8fc75bb5e113f19fa3b4f63a69329cf723,
4666 });
4667
4668 try testArgs(@Vector(1, i1023), .{
4669 -0x18ad357e523014b4b2b02d7802e8d6687e0b37e0e20bc992d9a1d3498cdccc3683c62628505026725ccab8e2d7da378de5e3dd539f168530e83b8add890851977a58c640102ebeb7d15f56b024a54636008af9232f73ac4a83f9e502ed1f6cf0647e4d6c2cc6c6e8fc4a49abcb2e34fa927cc114692905d73ffed1aed664eab4,
4670 }, .{
4671 0x29757ede90f3fd7a77d970667941eee2f7f7df5dc1100562c8e3bd45dcf1cbbbffface90f0b4f2aef49642e1cdeaa19045cc6dcf9f81750bee8e9d84d951da233d16878ae1473d42146660bc454a78a4bc22ebf2916b7f535c4b88302ea0108b458bd38660e95b0ae703d268cff78b39be828918cf6bd9ad16a90d407d3ee5b1,
4672 });
4673
4674 try testArgs(@Vector(1, u1023), .{
4675 0x7e22aa4f394329943e1f265df8327c44032b28baea5ce81dfdf9781ed2c9ad337964b57c1ad4cb03cb920035c85e8c6e475ad33742874226beeba62e3e130ff6fbd21e902e49f7f95c7c3b1c6d7ce34a1ed85ba8028b41d19ab9547e05da56e6c8fba7c9c4f949412808ac3fb8709e490a859bebe22a77e704c04ea44a4579a0,
4676 }, .{
4677 0x4d2ec73e1a38a7373514259ed749a9895a5c45e53498ad3e75690116ec167321c0bcaa4fe86301b486eba831e7c15c3872676afe677d01ad5d088b51d64248d1bce2e191dcb87d6c9f9b944554b5c5a74bb64c7eea50a0badc2f292251b640c97d5b8e9010eb2f034d77b3a7f14aafb76c104b196a4b76073503acb085055209,
4678 });
4679
4680 try testArgs(@Vector(1, i1024), .{
4681 -0x4fe568569c0531c9bfbbda1516e93a6c61a3d035c98e13fdc85225165a3bea84d5dc6b610ced008f9321453af42ea50bbf6881d40d2759b73b9b6186c0d6d243f367e292cbbf6b5c5c30d7f4e8de19701c7b0fc9e67cdf31228daa1675a4887f6c4f1588b48855d6f4730a21f27dec8a756c568727709b65cd531020d53ff394,
4682 }, .{
4683 -0x7cab2a053dfbf944cd342460350c989fd1b4469a6c7b54ddcacd54e605d29c03651b5c463495610d82269c9ac5b51bfd07816a0f7b1ab50cb598989ed64607b3faff79a190702eb285b0fedc050ec1a71537abc47ec590eb671d4f76b19567049ba4789d1a4348385607a0320fbff9b78260536a9b6030bddb0b09da689d1687,
4684 });
4685
4686 try testArgs(@Vector(1, u1024), .{
4687 0x0ca1a0dfaf8bb1da714b457d23c71aef948e66c7cd45c0aa941498a796fb18502ec32f34e885d0a107d44ae81595f8b52c2f0fb38e584b7139903a0e8a823ae20d01ca0662722dd474e7efc40f32d74cc065d97d8a09d0447f1ab6107fa0a57f3f8c866ae872506627ce82f18add79cee8dc69837f4ead3ca770c4d622d7e544,
4688 }, .{
4689 0xf1e3bbe031d59351770a7a501b6e969b2c00d144f17648db3f944b69dfeb7be72e5ff933a061eba4eaa422f8ca09e5a97d0b0dd740fd4076eba8c72d7a278523f399202dc2d043c4e0eb58a2bcd4066e2146e321810b1ee4d3afdddb4f026bcc7905ce17e033a7727b4e08f33b53c63d8c9f763fc6c31d0523eb38c30d5e40bc,
4690 });
4691
4692 try testArgs(@Vector(1, i1025), .{
4693 -0x0aac7daecbe81ad0f5b3582238ce842a9e57f580af344429c55785eb8ce32d28658417792d10e5263c6c7d0ab7d8ab6198d78bd024ce9c23de9470b20aa6eaf9dd301034cfee6b22025be5df4e91708d7cc9e980959a449b0cb893355392d1c94c4a4ed67d91108df655383f5f8fcde66f22dbd6453d838c1d160fb80ee07ab18,
4694 }, .{
4695 -0x0be0a1d4693d8969af6e26aa98ddb82f44124aa292fb336dd90cb5f28d708a33ef2d055db58e32578c5c20bb436a613b8ca214914db5066d458599600ced96129f4894b80293a3975e2bf7fd1a1f396d128ef89fd0609d2e518534e66c5e46c90b0a73e4a807c8a6decba204ac6e11859a492df1c81beec8b04961afa8544e081,
4696 });
4697
4698 try testArgs(@Vector(1, u1025), .{
4699 0x129e165d8601a1ef41658e3ab9a7d0993124c46a37a672395a1314d5f8984de3c73e4569f1bd91f28aa8bf3e940d2121ef8bb557023abd80deb6761a7b0e2597763e5b895a52fc32308cc39b34a31f17fd8fe04bd1817e5b4a1046bbc1ee2bd360274e667be4392874a7dd8de7c8c054e3e6919302cb2ad46743798591ad0accb,
4700 }, .{
4701 0x07ff746b3d7ed091996cb20d21d6e85397c7daa127063a9f30cdb91483b145f2af3aa0bcf58188bc171e97a7b07800ee007af0305fb40e086ed2289dc7c303961d325bb799920a47de27bb16f6a868d80e93769982d81aa56cc3d1dbc87f1138179f0af4f6def885ade090d2725a044b500ef56fe39794906d45330fab9a4f81f,
4702 });
4703 }
4704 fn testFloatVectors() !void {
4705 @setEvalBranchQuota(21_700);
4706
4707 try testArgs(@Vector(1, f16), .{
4708 -tmin(f16),
4709 }, .{
4710 fmax(f16),
4711 });
4712 try testArgs(@Vector(2, f16), .{
4713 1e-1, 1e0,
4714 }, .{
4715 -nan(f16), -fmin(f16),
4716 });
4717 try testArgs(@Vector(4, f16), .{
4718 1e-1, -fmax(f16), 0.0, 1e-1,
4719 }, .{
4720 -fmin(f16), -1e1, 1e0, -tmin(f16),
4721 });
4722 try testArgs(@Vector(8, f16), .{
4723 -fmax(f16), -fmin(f16), -nan(f16), -0.0, tmin(f16), -0.0, 0.0, 1e-1,
4724 }, .{
4725 -1e0, tmin(f16), nan(f16), nan(f16), -fmax(f16), -1e1, -nan(f16), 1e1,
4726 });
4727 try testArgs(@Vector(16, f16), .{
4728 1e-1, fmax(f16), -1e1, fmax(f16), -1e1, 1e-1, -tmin(f16), -inf(f16), -tmin(f16), -1e0, -fmin(f16), tmin(f16), 1e1, -fmax(f16), 0.0, -fmin(f16),
4729 }, .{
4730 inf(f16), -1e1, -fmax(f16), fmax(f16), -tmin(f16), 0.0, -1e0, -1e0, 1e-1, -nan(f16), -tmin(f16), 1e0, 1e-1, fmax(f16), -0.0, inf(f16),
4731 });
4732 try testArgs(@Vector(32, f16), .{
4733 -inf(f16), tmin(f16), fmin(f16), -nan(f16), nan(f16), 1e-1, 0.0, 1e1, -tmin(f16), inf(f16), 1e0, -1e1, fmin(f16), -0.0, 1e0, -fmax(f16),
4734 1e1, -0.0, -1e1, -tmin(f16), fmax(f16), nan(f16), -fmin(f16), -1e0, 0.0, -1e1, -nan(f16), 1e0, -tmin(f16), -0.0, nan(f16), 1e1,
4735 }, .{
4736 0.0, 1e1, -nan(f16), -0.0, tmin(f16), fmax(f16), nan(f16), tmin(f16), -1e1, 1e-1, 1e1, fmin(f16), -fmax(f16), inf(f16), inf(f16), -tmin(f16),
4737 inf(f16), -0.0, 1e-1, 0.0, -fmin(f16), -0.0, -nan(f16), -inf(f16), -fmin(f16), fmax(f16), 1e0, fmin(f16), -0.0, -tmin(f16), -fmax(f16), -1e1,
4738 });
4739 try testArgs(@Vector(64, f16), .{
4740 -nan(f16), fmin(f16), -inf(f16), inf(f16), -tmin(f16), inf(f16), 1e-1, -1e0, -inf(f16), nan(f16), -fmin(f16), 1e-1, -tmin(f16), -fmax(f16), -1e1, inf(f16),
4741 0.0, -fmin(f16), -fmax(f16), 1e1, -fmax(f16), fmax(f16), 1e1, fmin(f16), -inf(f16), -nan(f16), -tmin(f16), nan(f16), -0.0, 0.0, 1e-1, -fmin(f16),
4742 0.0, nan(f16), inf(f16), fmax(f16), nan(f16), tmin(f16), 1e0, tmin(f16), fmin(f16), -1e1, 0.0, 1e-1, inf(f16), -1e1, inf(f16), 1e0,
4743 1e-1, -inf(f16), 1e1, -0.0, -1e0, -tmin(f16), -nan(f16), 1e-1, 1e-1, -nan(f16), -0.0, -1e1, -0.0, -nan(f16), 1e-1, fmin(f16),
4744 }, .{
4745 1e1, 0.0, fmax(f16), -inf(f16), -fmax(f16), -fmax(f16), tmin(f16), -1e0, -tmin(f16), -1e1, nan(f16), -nan(f16), tmin(f16), -fmin(f16), nan(f16), -1e1,
4746 1e1, fmax(f16), 1e-1, 0.0, 1e-1, -fmax(f16), -0.0, -fmin(f16), inf(f16), -1e0, inf(f16), fmin(f16), -inf(f16), -tmin(f16), 1e1, 1e1,
4747 1e-1, 1e-1, 1e-1, 1e1, -fmin(f16), inf(f16), 1e-1, fmax(f16), inf(f16), -0.0, -1e1, tmin(f16), -fmin(f16), 0.0, 1e1, 0.0,
4748 -tmin(f16), -inf(f16), 1e0, -fmax(f16), inf(f16), 1e1, fmax(f16), -1e0, 0.0, 1e-1, -1e0, -inf(f16), 1e-1, 0.0, -1e1, fmax(f16),
4749 });
4750 try testArgs(@Vector(128, f16), .{
4751 -fmin(f16), 1e0, 0.0, 1e-1, nan(f16), 1e-1, 1e-1, -inf(f16), -tmin(f16), 1e0, -fmin(f16), -fmax(f16), -1e0, -fmin(f16), 1e1, -nan(f16),
4752 inf(f16), -inf(f16), tmin(f16), -1e1, -1e0, -0.0, -0.0, 1e0, nan(f16), -1e1, fmin(f16), -tmin(f16), tmin(f16), 1e-1, -fmax(f16), fmax(f16),
4753 tmin(f16), -fmin(f16), nan(f16), 1e1, 1e0, -fmin(f16), 1e-1, 1e1, fmax(f16), fmax(f16), fmax(f16), -1e0, -nan(f16), 1e1, tmin(f16), -nan(f16),
4754 -nan(f16), -inf(f16), -0.0, -inf(f16), nan(f16), -1e0, 1e-1, -fmax(f16), -1e1, nan(f16), 1e0, -1e1, tmin(f16), 1e0, 1e-1, 1e0,
4755 1e1, 1e-1, tmin(f16), nan(f16), -inf(f16), -1e0, -1e0, -fmax(f16), -inf(f16), 1e-1, 1e-1, -0.0, 1e1, fmin(f16), -1e0, inf(f16),
4756 1e-1, -1e1, inf(f16), -0.0, 1e-1, 0.0, inf(f16), 1e0, tmin(f16), -tmin(f16), 1e-1, inf(f16), tmin(f16), -inf(f16), 1e1, 1e0,
4757 -inf(f16), 1e-1, 1e0, fmax(f16), -fmin(f16), nan(f16), -nan(f16), fmin(f16), -1e0, -fmax(f16), inf(f16), -fmax(f16), 0.0, -1e1, fmin(f16), -fmax(f16),
4758 -0.0, -1e0, 1e-1, 1e1, inf(f16), fmax(f16), inf(f16), 1e1, fmax(f16), -0.0, -tmin(f16), fmin(f16), inf(f16), nan(f16), -fmin(f16), -1e0,
4759 }, .{
4760 -fmax(f16), fmax(f16), inf(f16), 1e0, nan(f16), 1e-1, -fmax(f16), 1e1, -fmin(f16), 1e-1, fmin(f16), -0.0, 1e-1, -0.0, -nan(f16), -nan(f16),
4761 inf(f16), 1e0, -1e0, 1e-1, 1e-1, 1e-1, 0.0, -tmin(f16), -1e0, -1e1, -tmin(f16), 1e0, -1e1, fmin(f16), -fmax(f16), -nan(f16),
4762 -tmin(f16), -inf(f16), inf(f16), -fmin(f16), -nan(f16), 0.0, -inf(f16), -fmax(f16), 1e-1, -inf(f16), tmin(f16), nan(f16), tmin(f16), fmin(f16), -0.0, 1e-1,
4763 fmin(f16), fmin(f16), 1e0, tmin(f16), 0.0, 1e1, 1e-1, inf(f16), 1e1, -tmin(f16), tmin(f16), -1e0, -fmin(f16), 1e0, nan(f16), -fmax(f16),
4764 nan(f16), -fmin(f16), 1e-1, 1e1, -1e1, 1e0, -0.0, tmin(f16), nan(f16), inf(f16), -fmax(f16), tmin(f16), -tmin(f16), 1e1, fmin(f16), -tmin(f16),
4765 -0.0, 1e0, tmin(f16), fmax(f16), 1e0, -inf(f16), -nan(f16), -0.0, 1e-1, -inf(f16), 1e-1, fmax(f16), -inf(f16), -nan(f16), -1e0, -inf(f16),
4766 1e-1, fmin(f16), -1e1, -tmin(f16), 1e0, -nan(f16), -fmax(f16), -1e1, -tmin(f16), 1e1, nan(f16), fmin(f16), fmax(f16), tmin(f16), -inf(f16), 1e0,
4767 -fmin(f16), tmin(f16), -1e0, 1e-1, 0.0, nan(f16), 1e0, fmax(f16), -1e0, 1e1, nan(f16), 1e0, fmin(f16), 1e0, -1e1, -1e1,
4768 });
4769 try testArgs(@Vector(69, f16), .{
4770 -nan(f16), -1e0, -fmin(f16), fmin(f16), inf(f16), 1e-1, 0.0, fmax(f16), tmin(f16), 1e-1, 0.0, -tmin(f16), 0.0, 0.0, 1e0, -inf(f16),
4771 tmin(f16), -inf(f16), -tmin(f16), fmin(f16), -inf(f16), -nan(f16), tmin(f16), -tmin(f16), 1e-1, -1e0, -tmin(f16), fmax(f16), nan(f16), -fmin(f16), fmin(f16), 1e1,
4772 fmin(f16), -1e1, 0.0, fmin(f16), fmax(f16), -nan(f16), fmax(f16), -fmax(f16), nan(f16), -nan(f16), fmin(f16), -1e1, -fmin(f16), fmin(f16), -fmin(f16), -nan(f16),
4773 0.0, -1e0, fmax(f16), 1e-1, inf(f16), 1e0, -1e0, -0.0, 1e1, 1e-1, -fmax(f16), tmin(f16), -inf(f16), tmin(f16), -fmax(f16), 1e-1,
4774 -1e1, -0.0, -fmax(f16), nan(f16), fmax(f16),
4775 }, .{
4776 inf(f16), -fmin(f16), 1e-1, 1e-1, -0.0, fmax(f16), 1e-1, -0.0, 0.0, -0.0, 0.0, -tmin(f16), tmin(f16), -1e0, nan(f16), -fmin(f16),
4777 fmin(f16), 1e-1, 1e-1, nan(f16), -fmax(f16), -inf(f16), -nan(f16), -nan(f16), 1e-1, -fmax(f16), fmin(f16), 1e-1, 1e-1, 1e-1, -0.0, 1e1,
4778 tmin(f16), -nan(f16), fmin(f16), -1e0, 1e0, -tmin(f16), 0.0, nan(f16), fmax(f16), -1e1, fmin(f16), -fmin(f16), -1e0, 1e-1, -fmin(f16), -fmin(f16),
4779 -fmax(f16), 0.0, fmin(f16), -1e1, -1e0, -1e0, fmax(f16), -nan(f16), -inf(f16), -inf(f16), 0.0, tmin(f16), -0.0, nan(f16), -inf(f16), nan(f16),
4780 inf(f16), fmin(f16), -nan(f16), -inf(f16), inf(f16),
4781 });
4782
4783 try testArgs(@Vector(1, f32), .{
4784 fmin(f32),
4785 }, .{
4786 -tmin(f32),
4787 });
4788 try testArgs(@Vector(2, f32), .{
4789 nan(f32), -1e1,
4790 }, .{
4791 -tmin(f32), fmin(f32),
4792 });
4793 try testArgs(@Vector(4, f32), .{
4794 fmax(f32), -fmax(f32), -1e1, 0.0,
4795 }, .{
4796 inf(f32), inf(f32), -1e1, inf(f32),
4797 });
4798 try testArgs(@Vector(8, f32), .{
4799 -1e1, fmax(f32), inf(f32), -0.0, -tmin(f32), -tmin(f32), 1e1, 1e-1,
4800 }, .{
4801 1e1, -1e0, -1e0, inf(f32), 1e0, -tmin(f32), nan(f32), 1e1,
4802 });
4803 try testArgs(@Vector(16, f32), .{
4804 1e-1, 1e-1, -nan(f32), -1e1, -nan(f32), 0.0, fmin(f32), fmin(f32), -1e1, 1e0, -fmax(f32), -0.0, inf(f32), -0.0, fmax(f32), -fmin(f32),
4805 }, .{
4806 nan(f32), 0.0, tmin(f32), -1e0, -1e1, -tmin(f32), fmin(f32), -fmax(f32), 1e-1, 1e-1, -inf(f32), tmin(f32), -0.0, 1e1, -0.0, -inf(f32),
4807 });
4808 try testArgs(@Vector(32, f32), .{
4809 1e-1, tmin(f32), -1e0, 1e0, tmin(f32), -1e1, fmax(f32), 0.0, tmin(f32), 1e-1, -1e0, fmax(f32), -nan(f32), -0.0, fmin(f32), 0.0,
4810 -fmax(f32), fmax(f32), -fmin(f32), -inf(f32), tmin(f32), -nan(f32), -1e0, tmin(f32), -fmin(f32), -inf(f32), nan(f32), -tmin(f32), inf(f32), -inf(f32), -nan(f32), 1e-1,
4811 }, .{
4812 -fmin(f32), -1e0, fmax(f32), inf(f32), -fmin(f32), fmax(f32), 0.0, -1e1, 0.0, 1e-1, fmin(f32), -inf(f32), 1e0, -nan(f32), -nan(f32),
4813 -inf(f32), -0.0, nan(f32), -fmax(f32), 1e1, -tmin(f32), fmax(f32), -1e1, 1e-1, tmin(f32), 1e-1, -fmax(f32), 0.0, 1e-1, -nan(f32),
4814 -fmin(f32), fmax(f32),
4815 });
4816 try testArgs(@Vector(64, f32), .{
4817 fmin(f32), 0.0, -inf(f32), 1e-1, -1e1, -fmin(f32), 1e1, nan(f32), 1e-1, 1e0, -1e0, 1e1, 1e1, 1e-1, -fmax(f32), -1e0,
4818 -fmin(f32), 1e-1, -inf(f32), -inf(f32), 1e-1, 1e-1, 0.0, -1e0, nan(f32), -0.0, -0.0, -fmin(f32), -inf(f32), inf(f32), tmin(f32), -nan(f32),
4819 1e-1, 0.0, 1e0, tmin(f32), 1e1, fmin(f32), -fmin(f32), fmax(f32), nan(f32), 1e0, -nan(f32), -nan(f32), 1e0, nan(f32), 1e0, fmax(f32),
4820 -0.0, 0.0, inf(f32), nan(f32), tmin(f32), 0.0, fmin(f32), -0.0, -fmin(f32), tmin(f32), -1e0, -1e1, 1e-1, -tmin(f32), -inf(f32), -1e0,
4821 }, .{
4822 nan(f32), -nan(f32), -tmin(f32), inf(f32), -inf(f32), 1e-1, 1e-1, 1e-1, -1e0, -inf(f32), -0.0, fmax(f32), tmin(f32), -nan(f32), -fmax(f32), -1e0,
4823 -fmin(f32), -0.0, fmax(f32), -fmax(f32), 1e0, -0.0, 0.0, 1e1, -1e0, -fmin(f32), 0.0, fmax(f32), 1e-1, 1e0, 1e1, 1e-1,
4824 1e-1, fmin(f32), -nan(f32), -inf(f32), -0.0, -inf(f32), 1e-1, -fmax(f32), -1e1, -1e1, nan(f32), 1e1, -1e0, -fmin(f32), 1e1, fmin(f32),
4825 1e0, -fmax(f32), nan(f32), inf(f32), fmax(f32), fmax(f32), -fmin(f32), -inf(f32), -tmin(f32), -nan(f32), nan(f32), nan(f32), 1e-1, 1e-1, -1e0, inf(f32),
4826 });
4827 try testArgs(@Vector(128, f32), .{
4828 -1e1, -nan(f32), inf(f32), inf(f32), -tmin(f32), -0.0, 0.0, 1e-1, -0.0, fmin(f32), nan(f32), -1e0, nan(f32), -fmax(f32), nan(f32), 0.0,
4829 1e0, -tmin(f32), 0.0, -nan(f32), 1e-1, 1e-1, -1e0, 1e1, -fmax(f32), -fmin(f32), 1e-1, nan(f32), 1e-1, -fmax(f32), -tmin(f32), -inf(f32),
4830 inf(f32), tmin(f32), -tmin(f32), nan(f32), -inf(f32), -1e1, 1e0, -nan(f32), 1e-1, nan(f32), -1e0, tmin(f32), -fmin(f32), -0.0, -0.0, 1e0,
4831 fmin(f32), -fmin(f32), 1e-1, 1e-1, 1e-1, -1e1, -1e1, -tmin(f32), 1e0, -0.0, 1e1, -fmax(f32), 1e1, -fmax(f32), inf(f32), -1e0,
4832 -fmax(f32), fmin(f32), fmin(f32), fmin(f32), -1e0, -nan(f32), fmax(f32), -nan(f32), 1e-1, -1e0, -fmax(f32), -tmin(f32), -0.0, fmax(f32), -1e1, inf(f32),
4833 1e1, -inf(f32), 1e-1, fmin(f32), nan(f32), -fmax(f32), -tmin(f32), inf(f32), tmin(f32), -fmin(f32), fmax(f32), 1e0, fmin(f32), -0.0, 1e-1, fmin(f32),
4834 1e-1, inf(f32), -1e1, inf(f32), 1e1, tmin(f32), 0.0, 1e0, inf(f32), -1e1, -fmin(f32), tmin(f32), 1e0, 1e-1, 1e-1, -fmin(f32),
4835 1e1, 1e-1, fmax(f32), fmin(f32), 1e0, -1e1, -inf(f32), -1e1, 0.0, -fmax(f32), -inf(f32), -1e0, fmax(f32), -tmin(f32), inf(f32), nan(f32),
4836 }, .{
4837 -tmin(f32), -fmax(f32), -fmax(f32), 1e1, inf(f32), 1e-1, 1e0, fmin(f32), 1e-1, 1e1, fmin(f32), -fmax(f32), 1e0, fmax(f32), 1e-1, -fmin(f32),
4838 0.0, -0.0, -0.0, -1e0, -nan(f32), nan(f32), -tmin(f32), 1e1, -tmin(f32), -1e1, inf(f32), 0.0, tmin(f32), 0.0, -fmax(f32), inf(f32),
4839 fmin(f32), 1e-1, -1e1, tmin(f32), tmin(f32), 1e-1, fmin(f32), -tmin(f32), fmin(f32), nan(f32), 1e-1, -fmax(f32), -1e0, -0.0, fmin(f32), -0.0,
4840 -1e0, -0.0, -inf(f32), fmax(f32), -1e1, 1e0, inf(f32), -1e0, -tmin(f32), -tmin(f32), 1e-1, -1e1, -fmin(f32), 1e1, -1e1, -inf(f32),
4841 -1e0, inf(f32), 1e-1, 1e0, -nan(f32), 1e-1, -1e1, -nan(f32), -tmin(f32), 0.0, fmin(f32), -nan(f32), fmax(f32), -tmin(f32), 0.0, 0.0,
4842 -fmax(f32), -inf(f32), -1e0, -0.0, 1e1, nan(f32), 1e-1, tmin(f32), -1e1, 1e1, tmin(f32), -fmax(f32), 1e-1, -1e1, -tmin(f32), fmax(f32),
4843 -fmax(f32), 1e-1, -nan(f32), -fmin(f32), inf(f32), inf(f32), tmin(f32), tmin(f32), -tmin(f32), tmin(f32), 0.0, -0.0, 1e0, 1e1, -1e1, inf(f32),
4844 0.0, -fmin(f32), fmax(f32), -1e1, fmax(f32), -0.0, 0.0, -fmin(f32), 1e1, -fmin(f32), -fmin(f32), -fmin(f32), 1e1, fmin(f32), -inf(f32), fmax(f32),
4845 });
4846 try testArgs(@Vector(69, f32), .{
4847 nan(f32), 1e-1, -tmin(f32), fmax(f32), nan(f32), -fmax(f32), 1e-1, fmax(f32), 1e1, inf(f32), -fmin(f32), -fmax(f32), inf(f32), -nan(f32), 1e-1, 1e0,
4848 fmax(f32), 1e-1, 1e1, 0.0, -1e1, fmax(f32), 1e1, 0.0, 1e0, 1e1, -fmax(f32), 0.0, -tmin(f32), -fmin(f32), 1e-1, 1e0,
4849 fmin(f32), tmin(f32), -fmin(f32), -tmin(f32), tmin(f32), -inf(f32), -fmax(f32), -0.0, -1e0, -0.0, -fmax(f32), fmax(f32), fmin(f32), -0.0, 0.0, -inf(f32),
4850 -tmin(f32), inf(f32), -nan(f32), tmin(f32), -1e0, -tmin(f32), 1e1, -inf(f32), -fmin(f32), 1e-1, -inf(f32), -1e0, nan(f32), -inf(f32), -tmin(f32), 1e1,
4851 1e1, -nan(f32), -nan(f32), tmin(f32), -nan(f32),
4852 }, .{
4853 -nan(f32), 1e0, fmax(f32), 1e-1, -0.0, 1e0, -inf(f32), -fmin(f32), -nan(f32), inf(f32), 1e0, -nan(f32), -nan(f32), -inf(f32), tmin(f32), -fmin(f32),
4854 -nan(f32), 1e-1, fmin(f32), -1e0, -fmax(f32), 1e-1, -1e0, 1e-1, 1e-1, -tmin(f32), 1e-1, 1e-1, 1e1, fmin(f32), 0.0, nan(f32),
4855 tmin(f32), 1e0, nan(f32), -fmin(f32), tmin(f32), nan(f32), 1e-1, nan(f32), 1e0, -fmax(f32), tmin(f32), 1e0, 0.0, -1e0, nan(f32), fmin(f32),
4856 -inf(f32), fmax(f32), -0.0, nan(f32), tmin(f32), tmin(f32), -inf(f32), -1e1, -nan(f32), -fmax(f32), -0.0, 1e-1, -inf(f32), 1e0, nan(f32), 1e0,
4857 -1e1, fmin(f32), inf(f32), fmin(f32), 0.0,
4858 });
4859
4860 try testArgs(@Vector(1, f64), .{
4861 -0.0,
4862 }, .{
4863 1e0,
4864 });
4865 try testArgs(@Vector(2, f64), .{
4866 -1e0, 0.0,
4867 }, .{
4868 -inf(f64), -fmax(f64),
4869 });
4870 try testArgs(@Vector(4, f64), .{
4871 -inf(f64), inf(f64), 1e1, 0.0,
4872 }, .{
4873 -tmin(f64), 1e0, nan(f64), 0.0,
4874 });
4875 try testArgs(@Vector(8, f64), .{
4876 1e-1, -tmin(f64), -fmax(f64), 1e0, inf(f64), -1e1, -tmin(f64), -1e1,
4877 }, .{
4878 tmin(f64), fmin(f64), 1e-1, 1e1, -0.0, -0.0, fmax(f64), -1e0,
4879 });
4880 try testArgs(@Vector(16, f64), .{
4881 1e-1, -nan(f64), 1e0, tmin(f64), fmax(f64), -fmax(f64), -tmin(f64), -0.0, -fmin(f64), -1e0, -fmax(f64), -nan(f64), -fmax(f64), nan(f64), -0.0, 1e-1,
4882 }, .{
4883 -1e0, -tmin(f64), -fmin(f64), 1e-1, 1e-1, -0.0, -nan(f64), -inf(f64), -inf(f64), -0.0, nan(f64), tmin(f64), 1e0, 1e-1, tmin(f64), fmin(f64),
4884 });
4885 try testArgs(@Vector(32, f64), .{
4886 -fmax(f64), fmin(f64), 1e-1, 1e-1, 0.0, 1e0, -0.0, -tmin(f64), tmin(f64), inf(f64), -tmin(f64), -tmin(f64), -tmin(f64), -fmax(f64), fmin(f64), 1e0,
4887 -fmin(f64), -nan(f64), 1e0, -inf(f64), -nan(f64), -1e0, 0.0, 0.0, nan(f64), -nan(f64), -fmin(f64), fmin(f64), 1e-1, nan(f64), tmin(f64), -fmax(f64),
4888 }, .{
4889 -tmin(f64), -fmax(f64), -inf(f64), -nan(f64), fmin(f64), -inf(f64), 1e-1, -fmax(f64), -inf(f64), fmin(f64), inf(f64), -1e0, -tmin(f64), inf(f64), 1e-1, nan(f64),
4890 fmin(f64), 1e1, -tmin(f64), -nan(f64), -inf(f64), 1e0, nan(f64), -fmin(f64), -1e0, nan(f64), -1e0, 0.0, 1e0, nan(f64), -1e0, -fmin(f64),
4891 });
4892 try testArgs(@Vector(64, f64), .{
4893 -1e1, fmax(f64), -nan(f64), tmin(f64), 1e-1, -1e0, 1e0, -0.0, -fmin(f64), 1e-1, -fmin(f64), -0.0, -0.0, tmin(f64), -1e1, 1e-1,
4894 -1e1, -fmax(f64), -1e1, -fmin(f64), 0.0, -1e1, nan(f64), 1e0, inf(f64), inf(f64), -inf(f64), tmin(f64), tmin(f64), 1e-1, -0.0, 1e-1,
4895 -0.0, 1e-1, -1e1, 1e1, fmax(f64), -fmin(f64), 1e0, fmax(f64), 1e0, -1e1, fmin(f64), fmax(f64), -1e0, -0.0, -0.0, fmax(f64),
4896 -inf(f64), -inf(f64), -tmin(f64), -fmax(f64), -nan(f64), tmin(f64), -1e0, 0.0, -inf(f64), fmax(f64), nan(f64), -inf(f64), fmin(f64), -nan(f64), -nan(f64), -1e1,
4897 }, .{
4898 nan(f64), -1e0, 0.0, -1e1, -fmax(f64), -fmin(f64), -nan(f64), -tmin(f64), 1e-1, -1e0, -nan(f64), -fmax(f64), 0.0, 0.0, 1e1, inf(f64),
4899 fmin(f64), 0.0, -1e1, 1e0, -tmin(f64), -inf(f64), -fmax(f64), 0.0, -fmin(f64), -1e0, -fmin(f64), tmin(f64), 1e0, -1e1, fmin(f64), 1e-1,
4900 inf(f64), -0.0, tmin(f64), -fmax(f64), -tmin(f64), -fmax(f64), fmin(f64), -fmax(f64), 1e-1, 1e0, 1e0, 0.0, fmin(f64), nan(f64), -1e1, tmin(f64),
4901 inf(f64), 1e-1, 1e0, -nan(f64), 1e0, -fmin(f64), fmax(f64), inf(f64), fmin(f64), -inf(f64), -0.0, 0.0, -1e0, -0.0, 1e-1, 1e-1,
4902 });
4903 try testArgs(@Vector(128, f64), .{
4904 nan(f64), -fmin(f64), fmax(f64), fmin(f64), -1e1, nan(f64), tmin(f64), fmax(f64), inf(f64), -nan(f64), tmin(f64), -nan(f64), -0.0, fmin(f64), fmax(f64),
4905 -inf(f64), inf(f64), -1e0, 0.0, 1e-1, fmin(f64), 0.0, 1e-1, -1e0, -inf(f64), 1e-1, fmax(f64), fmin(f64), fmax(f64), -fmax(f64),
4906 fmin(f64), inf(f64), -fmin(f64), -1e1, -0.0, 1e-1, nan(f64), -fmax(f64), -fmax(f64), -1e0, 1e1, 1e1, -1e0, -inf(f64), inf(f64),
4907 -fmin(f64), 1e0, -inf(f64), -1e1, 1e-1, 1e0, 1e1, 1e1, tmin(f64), nan(f64), inf(f64), 0.0, -1e0, -1e1, 1e0,
4908 -tmin(f64), -fmax(f64), -nan(f64), 1e1, 1e-1, tmin(f64), 0.0, 1e1, 1e-1, -tmin(f64), -tmin(f64), 1e0, -fmax(f64), nan(f64), -fmin(f64),
4909 nan(f64), 1e1, -1e0, -0.0, -tmin(f64), nan(f64), 1e1, 1e1, -inf(f64), 1e-1, -nan(f64), -1e1, -tmin(f64), -fmax(f64), -fmax(f64),
4910 inf(f64), -inf(f64), tmin(f64), 1e0, -inf(f64), -1e1, inf(f64), 1e-1, -nan(f64), -inf(f64), fmax(f64), 1e-1, -inf(f64), 1e-1, 1e0,
4911 1e-1, 1e-1, 1e-1, inf(f64), -inf(f64), 1e0, 1e1, 1e1, nan(f64), 1e1, -tmin(f64), 1e0, -fmin(f64), -1e0, -fmax(f64),
4912 -fmin(f64), -fmin(f64), -1e0, inf(f64), nan(f64), tmin(f64), 1e-1, -1e0,
4913 }, .{
4914 0.0, 0.0, inf(f64), -0.0, 1e-1, -nan(f64), 1e1, -nan(f64), tmin(f64), -1e1, -0.0, inf(f64), -fmin(f64), 1e-1, fmax(f64),
4915 nan(f64), -tmin(f64), tmin(f64), 1e0, 1e-1, -1e1, -nan(f64), 1e0, inf(f64), -1e1, fmin(f64), 1e-1, 1e1, -1e1, 1e1,
4916 -nan(f64), -nan(f64), 1e-1, 0.0, 1e1, -fmax(f64), -tmin(f64), tmin(f64), -1e0, -tmin(f64), -1e1, 1e-1, -fmax(f64), 1e1, nan(f64),
4917 fmax(f64), -1e0, -1e0, -tmin(f64), fmax(f64), -1e1, 1e-1, 1e0, fmin(f64), inf(f64), 1e-1, tmin(f64), 1e-1, -fmax(f64), fmax(f64),
4918 -1e1, -fmax(f64), fmax(f64), tmin(f64), -fmin(f64), inf(f64), 1e-1, -0.0, fmax(f64), tmin(f64), 1e-1, 1e0, -inf(f64), 1e0, 1e1,
4919 1e-1, 0.0, -1e1, -nan(f64), 1e1, -fmin(f64), -tmin(f64), 1e1, 1e0, -tmin(f64), -1e0, -fmin(f64), -0.0, -1e1, 1e-1,
4920 inf(f64), -fmax(f64), 1e-1, tmin(f64), -0.0, fmax(f64), 0.0, -nan(f64), -fmin(f64), fmax(f64), -0.0, nan(f64), -inf(f64), tmin(f64), 1e-1,
4921 inf(f64), 0.0, 1e1, -fmax(f64), tmin(f64), -0.0, fmin(f64), -nan(f64), -1e1, -inf(f64), nan(f64), inf(f64), -0.0, 1e1, fmax(f64),
4922 tmin(f64), -1e1, -nan(f64), 1e1, -inf(f64), -fmax(f64), -inf(f64), -1e0,
4923 });
4924 try testArgs(@Vector(69, f64), .{
4925 inf(f64), -0.0, -fmax(f64), fmax(f64), fmax(f64), 0.0, fmin(f64), -nan(f64), 1e-1, 1e-1, 1e-1, -fmin(f64), inf(f64), 1e-1, fmax(f64), nan(f64),
4926 tmin(f64), -1e1, 1e1, -tmin(f64), -0.0, nan(f64), -1e1, fmin(f64), 0.0, -0.0, 1e-1, inf(f64), -tmin(f64), -nan(f64), inf(f64), -nan(f64),
4927 -inf(f64), fmax(f64), 1e-1, -fmin(f64), 1e-1, -1e0, fmin(f64), fmin(f64), fmin(f64), 1e1, -fmin(f64), nan(f64), 0.0, 0.0, 1e1, nan(f64),
4928 -tmin(f64), tmin(f64), tmin(f64), fmin(f64), -0.0, -1e0, 1e-1, 1e0, fmax(f64), tmin(f64), fmin(f64), 0.0, -fmin(f64), fmin(f64), -tmin(f64), 0.0,
4929 -nan(f64), 1e1, -1e0, 1e-1, 0.0,
4930 }, .{
4931 -1e1, -0.0, fmin(f64), -fmin(f64), nan(f64), 1e1, -tmin(f64), -fmax(f64), 1e1, 1e-1, -fmin(f64), inf(f64), -inf(f64), -tmin(f64), 1e0, tmin(f64),
4932 -tmin(f64), -nan(f64), fmax(f64), 0.0, -1e0, 1e1, inf(f64), fmin(f64), fmax(f64), 1e-1, 1e-1, fmax(f64), -inf(f64), 1e-1, 1e-1, fmin(f64),
4933 1e-1, fmin(f64), -1e1, nan(f64), 0.0, 0.0, fmax(f64), -inf(f64), tmin(f64), inf(f64), -tmin(f64), fmax(f64), -inf(f64), -1e1, -1e0, fmin(f64),
4934 1e-1, -nan(f64), fmax(f64), -fmin(f64), fmax(f64), nan(f64), -0.0, -fmax(f64), 1e1, nan(f64), inf(f64), -1e0, -fmin(f64), nan(f64), -fmin(f64), -0.0,
4935 -nan(f64), -fmin(f64), 1e-1, nan(f64), 1e-1,
4936 });
4937
4938 try testArgs(@Vector(1, f80), .{
4939 -nan(f80),
4940 }, .{
4941 -1e0,
4942 });
4943 try testArgs(@Vector(2, f80), .{
4944 -fmax(f80), -inf(f80),
4945 }, .{
4946 1e-1, 1e1,
4947 });
4948 try testArgs(@Vector(4, f80), .{
4949 -0.0, -inf(f80), 1e-1, 1e1,
4950 }, .{
4951 -1e0, 0.0, 1e-1, -1e1,
4952 });
4953 try testArgs(@Vector(8, f80), .{
4954 1e0, -0.0, -inf(f80), 1e-1, -inf(f80), fmin(f80), 0.0, 1e1,
4955 }, .{
4956 -0.0, -fmin(f80), fmin(f80), -nan(f80), nan(f80), inf(f80), fmin(f80), 1e1,
4957 });
4958 try testArgs(@Vector(16, f80), .{
4959 1e1, inf(f80), -fmin(f80), 1e-1, -tmin(f80), -0.0, -inf(f80), -1e0, -fmax(f80), -nan(f80), -tmin(f80), 1e1, 1e1, -inf(f80), -fmax(f80), fmax(f80),
4960 }, .{
4961 -inf(f80), nan(f80), -fmax(f80), fmin(f80), 1e0, 1e-1, -inf(f80), nan(f80), 1e-1, nan(f80), -inf(f80), nan(f80), tmin(f80), 1e-1, -tmin(f80), -1e1,
4962 });
4963 try testArgs(@Vector(32, f80), .{
4964 inf(f80), -0.0, 1e-1, -0.0, 1e-1, -fmin(f80), -0.0, fmax(f80), nan(f80), -tmin(f80), nan(f80), -1e1, 0.0, 1e0, 1e1, -fmin(f80),
4965 fmin(f80), 1e-1, inf(f80), -0.0, nan(f80), tmin(f80), -tmin(f80), fmin(f80), tmin(f80), -0.0, nan(f80), -fmax(f80), tmin(f80), -fmin(f80), 1e0, tmin(f80),
4966 }, .{
4967 0.0, -1e1, fmax(f80), -inf(f80), 1e-1, -inf(f80), inf(f80), 1e1, -1e0, -1e1, -fmin(f80), 0.0, inf(f80), 1e0, -nan(f80), 0.0,
4968 1e-1, nan(f80), 1e0, -fmax(f80), fmin(f80), -inf(f80), -fmax(f80), 1e-1, -1e1, tmin(f80), fmax(f80), -0.0, -fmin(f80), -fmin(f80), fmin(f80), -tmin(f80),
4969 });
4970 try testArgs(@Vector(64, f80), .{
4971 -fmax(f80), 1e-1, -1e0, 1e0, inf(f80), 1e-1, -1e1, 1e-1, fmin(f80), -fmin(f80), -1e1, -fmax(f80), 0.0, -1e1, -1e0, -nan(f80),
4972 0.0, 1e-1, -1e0, -tmin(f80), 1e0, tmin(f80), fmax(f80), 0.0, -1e1, -tmin(f80), fmax(f80), -0.0, 1e-1, -inf(f80), -fmax(f80), -1e0,
4973 -nan(f80), tmin(f80), -tmin(f80), -0.0, -0.0, -1e0, -0.0, fmax(f80), inf(f80), -nan(f80), 1e-1, -inf(f80), -tmin(f80), nan(f80), 1e-1, 1e1,
4974 nan(f80), -inf(f80), 1e-1, tmin(f80), -fmin(f80), 1e1, -1e1, tmin(f80), fmin(f80), nan(f80), 1e-1, -nan(f80), tmin(f80), nan(f80), fmax(f80), -fmax(f80),
4975 }, .{
4976 -nan(f80), -fmax(f80), tmin(f80), -inf(f80), -tmin(f80), fmin(f80), -nan(f80), -fmin(f80), fmax(f80), inf(f80), -0.0, -1e0, 1e-1, -fmax(f80), 1e0, -inf(f80),
4977 0.0, -nan(f80), -1e1, -1e0, -nan(f80), inf(f80), 1e0, -nan(f80), 1e1, inf(f80), tmin(f80), 1e-1, tmin(f80), -tmin(f80), -inf(f80), -fmin(f80),
4978 fmax(f80), fmax(f80), 1e-1, -tmin(f80), -nan(f80), -1e0, fmin(f80), -nan(f80), -nan(f80), inf(f80), -1e0, 1e-1, -fmin(f80), -tmin(f80), 0.0, -0.0,
4979 1e-1, -fmin(f80), -inf(f80), -1e0, -tmin(f80), 1e0, -inf(f80), -0.0, 0.0, 1e0, tmin(f80), 0.0, 1e-1, -nan(f80), fmax(f80), 1e0,
4980 });
4981 try testArgs(@Vector(128, f80), .{
4982 1e-1, -0.0, 1e-1, 0.0, fmin(f80), -1e0, 1e0, -inf(f80), fmax(f80), -fmin(f80), nan(f80), 1e1, 1e-1, 1e-1, -fmin(f80), -inf(f80),
4983 -1e0, -inf(f80), 1e0, -fmin(f80), inf(f80), -nan(f80), 1e1, inf(f80), tmin(f80), nan(f80), -1e1, inf(f80), 1e1, inf(f80), -1e1, 0.0,
4984 -1e1, fmin(f80), -tmin(f80), 1e0, -fmax(f80), nan(f80), 0.0, fmax(f80), 1e-1, -1e0, -fmin(f80), inf(f80), -tmin(f80), nan(f80), -tmin(f80), 1e1,
4985 -1e1, -tmin(f80), -1e0, -tmin(f80), -fmax(f80), 1e1, -1e0, -inf(f80), -nan(f80), 0.0, 1e0, fmax(f80), -tmin(f80), -fmin(f80), fmin(f80), fmin(f80),
4986 -1e1, -fmax(f80), -tmin(f80), inf(f80), 1e0, 0.0, tmin(f80), -nan(f80), -fmin(f80), 1e-1, -nan(f80), 0.0, 1e-1, -1e1, -0.0, -nan(f80),
4987 1e0, 1e1, -1e1, fmin(f80), -nan(f80), fmax(f80), -0.0, 1e0, inf(f80), 1e0, -fmin(f80), -fmin(f80), 0.0, 1e-1, inf(f80), 1e1,
4988 tmin(f80), -1e0, fmax(f80), -0.0, fmax(f80), fmax(f80), 1e-1, -fmin(f80), -1e1, 1e0, -fmin(f80), -fmax(f80), fmin(f80), -fmax(f80), -0.0, -1e0,
4989 -nan(f80), -inf(f80), nan(f80), -fmax(f80), inf(f80), -inf(f80), -nan(f80), fmin(f80), nan(f80), -1e0, tmin(f80), tmin(f80), 1e-1, 1e1, -tmin(f80), -nan(f80),
4990 }, .{
4991 -1e0, -0.0, 0.0, fmax(f80), -1e0, -0.0, 1e-1, tmin(f80), -inf(f80), 1e1, -0.0, 1e-1, -tmin(f80), -fmax(f80), tmin(f80), inf(f80),
4992 1e-1, 1e0, tmin(f80), nan(f80), -fmax(f80), 1e1, fmin(f80), -1e0, -fmax(f80), nan(f80), -fmin(f80), 1e1, -1e0, tmin(f80), inf(f80), -0.0,
4993 tmin(f80), 1e0, 0.0, -fmin(f80), 0.0, 1e1, -fmax(f80), -0.0, -inf(f80), fmin(f80), -0.0, -0.0, -0.0, -fmax(f80), 1e-1, fmax(f80),
4994 -tmin(f80), tmin(f80), -fmax(f80), 1e1, -fmax(f80), 1e-1, fmax(f80), -1e1, 1e-1, 1e0, -1e0, -1e0, nan(f80), -nan(f80), 1e1, -nan(f80),
4995 nan(f80), -1e1, -tmin(f80), fmin(f80), -tmin(f80), -fmin(f80), tmin(f80), -0.0, 1e-1, fmax(f80), tmin(f80), tmin(f80), nan(f80), 1e-1, 1e1, 1e-1,
4996 inf(f80), inf(f80), 1e0, -inf(f80), -fmax(f80), 0.0, 1e0, -fmax(f80), fmax(f80), nan(f80), fmin(f80), 1e-1, -1e0, 1e0, 1e-1, -tmin(f80),
4997 1e1, 1e-1, -fmax(f80), 0.0, nan(f80), -tmin(f80), 1e-1, fmax(f80), fmax(f80), 1e-1, -1e0, inf(f80), nan(f80), 1e1, fmax(f80), -nan(f80),
4998 -1e1, -1e0, tmin(f80), fmin(f80), inf(f80), fmax(f80), -fmin(f80), fmin(f80), -inf(f80), -tmin(f80), 1e0, nan(f80), -fmin(f80), -fmin(f80), fmax(f80), 1e0,
4999 });
5000 try testArgs(@Vector(69, f80), .{
5001 -1e1, tmin(f80), 1e-1, -nan(f80), -inf(f80), -nan(f80), fmin(f80), -0.0, 1e1, fmax(f80), -fmin(f80), 1e-1, -nan(f80), inf(f80), 1e0, -1e0,
5002 inf(f80), fmin(f80), -fmax(f80), 1e-1, nan(f80), 0.0, 0.0, nan(f80), -1e1, fmax(f80), fmin(f80), -fmax(f80), 1e0, 1e-1, 0.0, -fmin(f80),
5003 -tmin(f80), 0.0, -1e1, fmin(f80), 1e0, 1e1, 1e-1, nan(f80), -1e1, fmax(f80), 1e-1, fmin(f80), -inf(f80), 0.0, tmin(f80), inf(f80),
5004 fmax(f80), 1e0, 1e-1, nan(f80), inf(f80), tmin(f80), tmin(f80), -fmax(f80), 0.0, fmin(f80), -inf(f80), 1e-1, -tmin(f80), 1e-1, -1e0, 1e-1,
5005 -fmax(f80), -1e0, 1e-1, -1e0, fmax(f80),
5006 }, .{
5007 -1e0, fmin(f80), inf(f80), -nan(f80), -0.0, fmin(f80), -0.0, nan(f80), -fmax(f80), 1e-1, 1e0, -1e1, -tmin(f80), -fmin(f80), 1e1, inf(f80),
5008 -1e1, -tmin(f80), -fmin(f80), 1e1, 0.0, -tmin(f80), 1e1, -1e1, 1e-1, 1e-1, tmin(f80), fmax(f80), 0.0, 1e-1, 1e-1, -1e1,
5009 fmin(f80), nan(f80), -1e1, -1e1, -1e1, 0.0, -0.0, 1e-1, fmin(f80), fmin(f80), -0.0, -fmin(f80), -nan(f80), -inf(f80), 0.0, -inf(f80),
5010 inf(f80), fmax(f80), -tmin(f80), inf(f80), 1e-1, -nan(f80), 1e-1, tmin(f80), -1e1, -fmax(f80), -fmax(f80), inf(f80), -nan(f80), 1e0, -inf(f80), 1e1,
5011 nan(f80), 1e1, -1e1, 0.0, -fmin(f80),
5012 });
5013
5014 try testArgs(@Vector(1, f128), .{
5015 -nan(f128),
5016 }, .{
5017 -0.0,
5018 });
5019 try testArgs(@Vector(2, f128), .{
5020 0.0, -inf(f128),
5021 }, .{
5022 1e-1, -fmin(f128),
5023 });
5024 try testArgs(@Vector(4, f128), .{
5025 1e-1, fmax(f128), 1e1, -fmax(f128),
5026 }, .{
5027 -tmin(f128), fmax(f128), -0.0, -0.0,
5028 });
5029 try testArgs(@Vector(8, f128), .{
5030 1e1, -fmin(f128), 0.0, -inf(f128), 1e1, -0.0, -1e0, -fmin(f128),
5031 }, .{
5032 fmin(f128), tmin(f128), -1e0, -1e1, 0.0, -tmin(f128), 0.0, 1e-1,
5033 });
5034 try testArgs(@Vector(16, f128), .{
5035 -fmin(f128), -1e1, -fmin(f128), 1e-1, -1e1, 1e0, -fmax(f128), tmin(f128), -nan(f128), -tmin(f128), 1e1, -inf(f128), -1e0, tmin(f128), -0.0, nan(f128),
5036 }, .{
5037 -fmax(f128), fmin(f128), inf(f128), tmin(f128), -1e1, 1e1, fmax(f128), 1e0, -inf(f128), -inf(f128), -fmax(f128), -nan(f128), 1e0, -inf(f128), tmin(f128), tmin(f128),
5038 });
5039 try testArgs(@Vector(32, f128), .{
5040 -0.0, -1e0, 1e0, -fmax(f128), -fmax(f128), 1e-1, -fmin(f128), -fmin(f128), -1e0, -tmin(f128), -0.0, -fmax(f128), tmin(f128), inf(f128), 0.0, fmax(f128),
5041 -nan(f128), -0.0, -inf(f128), -1e0, 1e-1, -fmin(f128), tmin(f128), -1e1, fmax(f128), -nan(f128), -nan(f128), -fmax(f128), 1e-1, inf(f128), -0.0, tmin(f128),
5042 }, .{
5043 -1e0, -1e1, -fmin(f128), -fmin(f128), inf(f128), tmin(f128), nan(f128), 0.0, -fmin(f128), 1e-1, -nan(f128), 1e-1, -0.0, tmin(f128), 1e0, 0.0,
5044 fmin(f128), fmax(f128), -fmax(f128), -tmin(f128), fmin(f128), -0.0, -1e0, -nan(f128), -inf(f128), 1e0, nan(f128), 1e0, 1e-1, -0.0, -fmax(f128), -1e1,
5045 });
5046 try testArgs(@Vector(64, f128), .{
5047 -1e0, -0.0, nan(f128), 1e-1, -1e1, 0.0, 1e0, 1e0, -inf(f128), fmin(f128), fmax(f128), nan(f128), -nan(f128), inf(f128), -0.0,
5048 1e-1, -inf(f128), -fmax(f128), 1e1, -tmin(f128), -tmin(f128), -fmax(f128), 1e0, 1e-1, 1e-1, nan(f128), 1e1, 1e0, -tmin(f128), 1e1,
5049 -nan(f128), fmax(f128), fmax(f128), 0.0, fmax(f128), inf(f128), 1e0, -0.0, 1e-1, -tmin(f128), fmin(f128), fmax(f128), tmin(f128), inf(f128), -1e1,
5050 -1e0, -1e0, -1e0, -inf(f128), 1e1, -tmin(f128), nan(f128), nan(f128), 1e-1, fmin(f128), 1e-1, tmin(f128), -1e1, 1e-1, 1e1,
5051 fmax(f128), fmax(f128), 1e-1, -fmax(f128),
5052 }, .{
5053 -0.0, 1e-1, -0.0, -fmin(f128), 1e1, 0.0, 1e0, -inf(f128), tmin(f128), -1e0, fmin(f128), -nan(f128), -1e1, 1e-1, -1e1, 1e-1,
5054 1e-1, tmin(f128), nan(f128), -1e0, 0.0, -1e1, -1e1, fmax(f128), -fmax(f128), inf(f128), -nan(f128), 1e-1, -nan(f128), 1e0, fmax(f128), inf(f128),
5055 nan(f128), fmin(f128), 1e1, inf(f128), 0.0, -inf(f128), 1e-1, 1e-1, 1e-1, -1e0, 1e-1, -1e1, inf(f128), -nan(f128), 1e-1, inf(f128),
5056 inf(f128), inf(f128), -1e1, -tmin(f128), 1e-1, -inf(f128), -fmin(f128), 1e0, -tmin(f128), 1e0, -tmin(f128), -inf(f128), -0.0, -nan(f128), -1e0, -fmax(f128),
5057 });
5058 try testArgs(@Vector(128, f128), .{
5059 -inf(f128), tmin(f128), -fmax(f128), 1e0, fmin(f128), -fmax(f128), -1e0, 1e-1, -fmax(f128), -fmin(f128), -1e1, nan(f128), 1e-1, nan(f128),
5060 inf(f128), -1e0, tmin(f128), -inf(f128), 0.0, fmax(f128), tmin(f128), -fmin(f128), fmin(f128), -1e1, -fmin(f128), -1e1, 1e0, -nan(f128),
5061 -inf(f128), fmin(f128), inf(f128), -tmin(f128), 1e-1, 0.0, 1e1, 1e0, -tmin(f128), -tmin(f128), tmin(f128), 1e0, fmin(f128), 1e-1,
5062 1e-1, 1e-1, fmax(f128), 1e-1, inf(f128), 0.0, fmin(f128), -fmin(f128), 1e1, 1e1, -1e1, tmin(f128), inf(f128), inf(f128),
5063 -fmin(f128), 0.0, 1e-1, -nan(f128), 1e-1, -inf(f128), -nan(f128), -1e0, fmin(f128), -0.0, 1e1, -tmin(f128), 1e1, 1e0,
5064 1e-1, -0.0, -tmin(f128), 1e-1, -1e0, -tmin(f128), -fmin(f128), tmin(f128), 1e-1, -tmin(f128), -nan(f128), -1e1, -inf(f128), 0.0,
5065 1e-1, 0.0, -fmin(f128), 0.0, 1e1, 1e1, tmin(f128), inf(f128), -nan(f128), -inf(f128), -1e0, -fmin(f128), -1e1, -fmin(f128),
5066 -inf(f128), -fmax(f128), tmin(f128), tmin(f128), -fmin(f128), 1e-1, fmin(f128), fmin(f128), -fmin(f128), nan(f128), -1e0, -0.0, -0.0, 1e-1,
5067 fmax(f128), 0.0, -fmax(f128), nan(f128), nan(f128), nan(f128), nan(f128), -nan(f128), fmin(f128), -inf(f128), inf(f128), -fmax(f128), -1e1, fmin(f128),
5068 1e-1, fmax(f128),
5069 }, .{
5070 0.0, 1e1, 1e-1, inf(f128), -0.0, -1e0, nan(f128), -1e1, -inf(f128), 1e-1, -tmin(f128), 1e0, inf(f128), 1e-1, -1e0,
5071 1e1, 0.0, 1e0, nan(f128), tmin(f128), fmax(f128), 1e1, 1e-1, 1e-1, -fmin(f128), -inf(f128), -nan(f128), -fmin(f128), -0.0, -inf(f128),
5072 -nan(f128), fmax(f128), -fmin(f128), -tmin(f128), -fmin(f128), -fmax(f128), nan(f128), fmin(f128), -fmax(f128), fmax(f128), 1e0, 1e1, -fmax(f128), nan(f128), -fmax(f128),
5073 -inf(f128), nan(f128), -nan(f128), tmin(f128), -1e0, 1e-1, 1e-1, -1e0, -nan(f128), fmax(f128), 1e1, -inf(f128), 1e1, -0.0, -1e0,
5074 -0.0, -tmin(f128), 1e1, -1e0, -fmax(f128), fmin(f128), fmax(f128), tmin(f128), 1e1, fmin(f128), -nan(f128), 1e0, -tmin(f128), -1e0, fmax(f128),
5075 1e0, -tmin(f128), 1e-1, -nan(f128), inf(f128), 1e-1, 1e-1, fmax(f128), -fmin(f128), fmin(f128), -0.0, fmax(f128), -fmax(f128), -tmin(f128), tmin(f128),
5076 nan(f128), 1e-1, tmin(f128), -1e0, fmin(f128), -nan(f128), fmax(f128), 1e0, nan(f128), -nan(f128), inf(f128), -fmin(f128), fmin(f128), 1e-1, 1e1,
5077 -tmin(f128), -1e1, 0.0, 1e-1, -fmin(f128), -0.0, 0.0, -1e1, fmax(f128), nan(f128), nan(f128), -fmin(f128), -fmax(f128), 1e1, 0.0,
5078 fmin(f128), 1e1, -tmin(f128), -tmin(f128), 0.0, -1e1, 1e0, -fmin(f128),
5079 });
5080 try testArgs(@Vector(69, f128), .{
5081 -1e0, nan(f128), 1e-1, 1e-1, 1e-1, -1e0, -1e1, inf(f128), -0.0, inf(f128), tmin(f128), 0.0, -fmax(f128), -tmin(f128), -1e1, -fmax(f128),
5082 -0.0, 0.0, nan(f128), inf(f128), 1e0, -1e0, 1e-1, -0.0, 1e0, fmax(f128), -fmax(f128), 0.0, inf(f128), -inf(f128), -tmin(f128), -inf(f128),
5083 1e1, fmin(f128), 1e1, -1e1, 1e-1, 1e0, -0.0, nan(f128), tmin(f128), inf(f128), inf(f128), -nan(f128), -nan(f128), 1e0, -tmin(f128), 0.0,
5084 fmin(f128), fmax(f128), fmin(f128), -1e1, nan(f128), 0.0, -nan(f128), -0.0, -nan(f128), 1e-1, -1e1, -tmin(f128), fmax(f128), 1e0, fmin(f128), fmax(f128),
5085 nan(f128), -inf(f128), 1e0, fmin(f128), -nan(f128),
5086 }, .{
5087 -inf(f128), fmax(f128), 0.0, nan(f128), -1e1, tmin(f128), nan(f128), 1e0, 1e1, -fmin(f128), fmin(f128), tmin(f128), 0.0, -fmin(f128), -0.0, fmin(f128),
5088 inf(f128), inf(f128), fmin(f128), fmin(f128), -tmin(f128), -fmax(f128), 1e1, nan(f128), -0.0, 1e0, 1e1, -1e1, -inf(f128), fmin(f128), -fmax(f128), 1e-1,
5089 -1e0, -nan(f128), -1e1, tmin(f128), inf(f128), nan(f128), 0.0, -1e1, tmin(f128), 0.0, -fmax(f128), -tmin(f128), 1e-1, 1e-1, 1e1, 1e-1,
5090 fmax(f128), 1e-1, 0.0, -fmin(f128), -inf(f128), -inf(f128), -nan(f128), 1e-1, -fmax(f128), fmax(f128), -fmax(f128), -0.0, -tmin(f128), -1e0, nan(f128), 1e-1,
5091 -1e0, -inf(f128), tmin(f128), inf(f128), inf(f128),
5092 });
5093 }
5094 };
5095}
5096
5097inline fn addUnsafe(comptime Type: type, lhs: Type, rhs: Type) AddOneBit(Type) {
5098 @setRuntimeSafety(false);
5099 return @as(AddOneBit(Type), lhs) + rhs;
5100}
5101test addUnsafe {
5102 const test_add_unsafe = binary(addUnsafe, .{});
5103 try test_add_unsafe.testInts();
5104 try test_add_unsafe.testIntVectors();
5105 try test_add_unsafe.testFloats();
5106 try test_add_unsafe.testFloatVectors();
5107}
5108
5109inline fn addSafe(comptime Type: type, lhs: Type, rhs: Type) AddOneBit(Type) {
5110 @setRuntimeSafety(true);
5111 return @as(AddOneBit(Type), lhs) + rhs;
5112}
5113test addSafe {
5114 const test_add_safe = binary(addSafe, .{});
5115 try test_add_safe.testInts();
5116 try test_add_safe.testIntVectors();
5117}
5118
5119inline fn addWrap(comptime Type: type, lhs: Type, rhs: Type) Type {
5120 return lhs +% rhs;
5121}
5122test addWrap {
5123 const test_add_wrap = binary(addWrap, .{});
5124 try test_add_wrap.testInts();
5125 try test_add_wrap.testIntVectors();
5126}
5127
5128inline fn addSaturate(comptime Type: type, lhs: Type, rhs: Type) Type {
5129 return lhs +| rhs;
5130}
5131test addSaturate {
5132 const test_add_saturate = binary(addSaturate, .{});
5133 try test_add_saturate.testInts();
5134 try test_add_saturate.testIntVectors();
5135}
5136
5137inline fn subUnsafe(comptime Type: type, lhs: Type, rhs: Type) AddOneBit(Type) {
5138 @setRuntimeSafety(false);
5139 return switch (@typeInfo(Scalar(Type))) {
5140 else => @compileError(@typeName(Type)),
5141 .int => |int| switch (int.signedness) {
5142 .signed => @as(AddOneBit(Type), lhs) - rhs,
5143 .unsigned => @as(AddOneBit(Type), @max(lhs, rhs)) - @min(lhs, rhs),
5144 },
5145 .float => lhs - rhs,
5146 };
5147}
5148test subUnsafe {
5149 const test_sub_unsafe = binary(subUnsafe, .{});
5150 try test_sub_unsafe.testInts();
5151 try test_sub_unsafe.testIntVectors();
5152 try test_sub_unsafe.testFloats();
5153 try test_sub_unsafe.testFloatVectors();
5154}
5155
5156inline fn subSafe(comptime Type: type, lhs: Type, rhs: Type) AddOneBit(Type) {
5157 @setRuntimeSafety(true);
5158 return switch (@typeInfo(Scalar(Type))) {
5159 else => @compileError(@typeName(Type)),
5160 .int => |int| switch (int.signedness) {
5161 .signed => @as(AddOneBit(Type), lhs) - rhs,
5162 .unsigned => @as(AddOneBit(Type), @max(lhs, rhs)) - @min(lhs, rhs),
5163 },
5164 .float => lhs - rhs,
5165 };
5166}
5167test subSafe {
5168 const test_sub_safe = binary(subSafe, .{});
5169 try test_sub_safe.testInts();
5170 try test_sub_safe.testIntVectors();
5171}
5172
5173inline fn subWrap(comptime Type: type, lhs: Type, rhs: Type) Type {
5174 return lhs -% rhs;
5175}
5176test subWrap {
5177 const test_sub_wrap = binary(subWrap, .{});
5178 try test_sub_wrap.testInts();
5179 try test_sub_wrap.testIntVectors();
5180}
5181
5182inline fn subSaturate(comptime Type: type, lhs: Type, rhs: Type) Type {
5183 return lhs -| rhs;
5184}
5185test subSaturate {
5186 const test_sub_saturate = binary(subSaturate, .{});
5187 try test_sub_saturate.testInts();
5188 try test_sub_saturate.testIntVectors();
5189}
5190
5191inline fn mulUnsafe(comptime Type: type, lhs: Type, rhs: Type) DoubleBits(Type) {
5192 @setRuntimeSafety(false);
5193 return @as(DoubleBits(Type), lhs) * rhs;
5194}
5195test mulUnsafe {
5196 const test_mul_unsafe = binary(mulUnsafe, .{});
5197 try test_mul_unsafe.testInts();
5198 try test_mul_unsafe.testIntVectors();
5199 try test_mul_unsafe.testFloats();
5200 try test_mul_unsafe.testFloatVectors();
5201}
5202
5203inline fn mulSafe(comptime Type: type, lhs: Type, rhs: Type) DoubleBits(Type) {
5204 @setRuntimeSafety(true);
5205 return @as(DoubleBits(Type), lhs) * rhs;
5206}
5207test mulSafe {
5208 const test_mul_safe = binary(mulSafe, .{});
5209 try test_mul_safe.testInts();
5210 try test_mul_safe.testIntVectors();
5211}
5212
5213inline fn mulWrap(comptime Type: type, lhs: Type, rhs: Type) Type {
5214 return lhs *% rhs;
5215}
5216test mulWrap {
5217 const test_mul_wrap = binary(mulWrap, .{});
5218 try test_mul_wrap.testInts();
5219 try test_mul_wrap.testIntVectors();
5220}
5221
5222inline fn mulSaturate(comptime Type: type, lhs: Type, rhs: Type) Type {
5223 return lhs *| rhs;
5224}
5225test mulSaturate {
5226 const test_mul_saturate = binary(mulSaturate, .{});
5227 try test_mul_saturate.testInts();
5228 try test_mul_saturate.testIntVectors();
5229}
5230
5231inline fn divide(comptime Type: type, lhs: Type, rhs: Type) Type {
5232 return lhs / rhs;
5233}
5234test divide {
5235 const test_divide = binary(divide, .{ .compare = .approx });
5236 try test_divide.testFloats();
5237 try test_divide.testFloatVectors();
5238}
5239
5240inline fn divTruncUnoptimized(comptime Type: type, lhs: Type, rhs: Type) Type {
5241 return @divTrunc(lhs, rhs);
5242}
5243test divTruncUnoptimized {
5244 const test_div_trunc_unoptimized = binary(divTruncUnoptimized, .{ .compare = .approx_int });
5245 try test_div_trunc_unoptimized.testInts();
5246 try test_div_trunc_unoptimized.testIntVectors();
5247 try test_div_trunc_unoptimized.testFloats();
5248 try test_div_trunc_unoptimized.testFloatVectors();
5249}
5250
5251inline fn divTruncOptimized(comptime Type: type, lhs: Type, rhs: Type) Type {
5252 @setFloatMode(.optimized);
5253 return @divTrunc(lhs, select(@abs(rhs) > splat(Type, 0.0), rhs, splat(Type, 1.0)));
5254}
5255test divTruncOptimized {
5256 const test_div_trunc_optimized = binary(divTruncOptimized, .{ .compare = .approx_int });
5257 try test_div_trunc_optimized.testFloats();
5258 try test_div_trunc_optimized.testFloatVectors();
5259}
5260
5261inline fn divFloorUnoptimized(comptime Type: type, lhs: Type, rhs: Type) Type {
5262 return @divFloor(lhs, rhs);
5263}
5264test divFloorUnoptimized {
5265 const test_div_floor_unoptimized = binary(divFloorUnoptimized, .{ .compare = .approx_int });
5266 try test_div_floor_unoptimized.testInts();
5267 try test_div_floor_unoptimized.testIntVectors();
5268 try test_div_floor_unoptimized.testFloats();
5269 try test_div_floor_unoptimized.testFloatVectors();
5270}
5271
5272inline fn divFloorOptimized(comptime Type: type, lhs: Type, rhs: Type) Type {
5273 @setFloatMode(.optimized);
5274 return @divFloor(lhs, select(@abs(rhs) > splat(Type, 0.0), rhs, splat(Type, 1.0)));
5275}
5276test divFloorOptimized {
5277 const test_div_floor_optimized = binary(divFloorOptimized, .{ .compare = .approx_int });
5278 try test_div_floor_optimized.testFloats();
5279 try test_div_floor_optimized.testFloatVectors();
5280}
5281
5282inline fn divCeilUnoptimized(comptime Type: type, lhs: Type, rhs: Type) Type {
5283 return @divCeil(lhs, rhs);
5284}
5285test divCeilUnoptimized {
5286 const test_div_ceil_unoptimized = binary(divCeilUnoptimized, .{ .compare = .approx_int });
5287 try test_div_ceil_unoptimized.testInts();
5288 try test_div_ceil_unoptimized.testIntVectors();
5289 try test_div_ceil_unoptimized.testFloats();
5290 try test_div_ceil_unoptimized.testFloatVectors();
5291}
5292
5293inline fn divCeilOptimized(comptime Type: type, lhs: Type, rhs: Type) Type {
5294 @setFloatMode(.optimized);
5295 return @divCeil(lhs, select(@abs(rhs) > splat(Type, 0.0), rhs, splat(Type, 1.0)));
5296}
5297test divCeilOptimized {
5298 const test_div_ceil_optimized = binary(divCeilOptimized, .{ .compare = .approx_int });
5299 try test_div_ceil_optimized.testFloats();
5300 try test_div_ceil_optimized.testFloatVectors();
5301}
5302
5303inline fn rem(comptime Type: type, lhs: Type, rhs: Type) Type {
5304 return @rem(lhs, rhs);
5305}
5306test rem {
5307 const test_rem = binary(rem, .{});
5308 try test_rem.testInts();
5309 try test_rem.testIntVectors();
5310 try test_rem.testFloats();
5311 try test_rem.testFloatVectors();
5312}
5313
5314inline fn mod(comptime Type: type, lhs: Type, rhs: Type) Type {
5315 // workaround llvm backend bugs
5316 if (@inComptime() and @typeInfo(Scalar(Type)) == .float) {
5317 const scalarMod = struct {
5318 fn scalarMod(scalar_lhs: Scalar(Type), scalar_rhs: Scalar(Type)) Scalar(Type) {
5319 const scalar_rem = @rem(scalar_lhs, scalar_rhs);
5320 return if (scalar_rem == 0 or sign(scalar_rem) == sign(scalar_rhs)) scalar_rem else scalar_rem + scalar_rhs;
5321 }
5322 }.scalarMod;
5323 switch (@typeInfo(Type)) {
5324 else => return scalarMod(lhs, rhs),
5325 .vector => |info| {
5326 var res: Type = undefined;
5327 inline for (0..info.len) |i| res[i] = scalarMod(lhs[i], rhs[i]);
5328 return res;
5329 },
5330 }
5331 }
5332 return @mod(lhs, rhs);
5333}
5334test mod {
5335 const builtin = @import("builtin");
5336 if (builtin.object_format == .coff and builtin.abi != .gnu) return error.SkipZigTest;
5337 const test_mod = binary(mod, .{});
5338 try test_mod.testInts();
5339 try test_mod.testIntVectors();
5340 try test_mod.testFloats();
5341 try test_mod.testFloatVectors();
5342}
5343
5344inline fn max(comptime Type: type, lhs: Type, rhs: Type) Type {
5345 return @max(lhs, rhs);
5346}
5347test max {
5348 const test_max = binary(max, .{});
5349 try test_max.testInts();
5350 try test_max.testIntVectors();
5351 try test_max.testFloats();
5352 try test_max.testFloatVectors();
5353}
5354
5355inline fn min(comptime Type: type, lhs: Type, rhs: Type) Type {
5356 return @min(lhs, rhs);
5357}
5358test min {
5359 const test_min = binary(min, .{});
5360 try test_min.testInts();
5361 try test_min.testIntVectors();
5362 try test_min.testFloats();
5363 try test_min.testFloatVectors();
5364}
5365
5366inline fn addWithOverflow(comptime Type: type, lhs: Type, rhs: Type) struct { Type, ChangeScalar(Type, u1) } {
5367 return @addWithOverflow(lhs, rhs);
5368}
5369test addWithOverflow {
5370 const test_add_with_overflow = binary(addWithOverflow, .{});
5371 try test_add_with_overflow.testInts();
5372 try test_add_with_overflow.testIntVectors();
5373}
5374
5375inline fn subWithOverflow(comptime Type: type, lhs: Type, rhs: Type) struct { Type, ChangeScalar(Type, u1) } {
5376 return @subWithOverflow(lhs, rhs);
5377}
5378test subWithOverflow {
5379 const test_sub_with_overflow = binary(subWithOverflow, .{});
5380 try test_sub_with_overflow.testInts();
5381 try test_sub_with_overflow.testIntVectors();
5382}
5383
5384inline fn mulWithOverflow(comptime Type: type, lhs: Type, rhs: Type) struct { Type, ChangeScalar(Type, u1) } {
5385 return @mulWithOverflow(lhs, rhs);
5386}
5387test mulWithOverflow {
5388 const test_mul_with_overflow = binary(mulWithOverflow, .{});
5389 try test_mul_with_overflow.testInts();
5390 try test_mul_with_overflow.testIntVectors();
5391}
5392
5393inline fn shlWithOverflow(comptime Type: type, lhs: Type, rhs: Type) struct { Type, ChangeScalar(Type, u1) } {
5394 const bit_cast_rhs: AsSignedness(Type, .unsigned) = @bitCast(rhs);
5395 const truncate_rhs: Log2Int(Type) = @truncate(bit_cast_rhs);
5396 return @shlWithOverflow(lhs, if (comptime cast(Log2Int(Scalar(Type)), @bitSizeOf(Scalar(Type)))) |bits| truncate_rhs % splat(Log2Int(Type), bits) else truncate_rhs);
5397}
5398test shlWithOverflow {
5399 const test_shl_with_overflow = binary(shlWithOverflow, .{});
5400 try test_shl_with_overflow.testInts();
5401 try test_shl_with_overflow.testIntVectors();
5402}
5403
5404inline fn equal(comptime Type: type, lhs: Type, rhs: Type) ChangeScalar(Type, bool) {
5405 return lhs == rhs;
5406}
5407test equal {
5408 const test_equal = binary(equal, .{});
5409 try test_equal.testInts();
5410 try test_equal.testIntVectors();
5411 try test_equal.testFloats();
5412 try test_equal.testFloatVectors();
5413}
5414
5415inline fn notEqual(comptime Type: type, lhs: Type, rhs: Type) ChangeScalar(Type, bool) {
5416 return lhs != rhs;
5417}
5418test notEqual {
5419 const test_not_equal = binary(notEqual, .{});
5420 try test_not_equal.testInts();
5421 try test_not_equal.testIntVectors();
5422 try test_not_equal.testFloats();
5423 try test_not_equal.testFloatVectors();
5424}
5425
5426inline fn lessThan(comptime Type: type, lhs: Type, rhs: Type) ChangeScalar(Type, bool) {
5427 return lhs < rhs;
5428}
5429test lessThan {
5430 const test_less_than = binary(lessThan, .{});
5431 try test_less_than.testInts();
5432 try test_less_than.testIntVectors();
5433 try test_less_than.testFloats();
5434 try test_less_than.testFloatVectors();
5435}
5436
5437inline fn lessThanOrEqual(comptime Type: type, lhs: Type, rhs: Type) ChangeScalar(Type, bool) {
5438 return lhs <= rhs;
5439}
5440test lessThanOrEqual {
5441 const test_less_than_or_equal = binary(lessThanOrEqual, .{});
5442 try test_less_than_or_equal.testInts();
5443 try test_less_than_or_equal.testIntVectors();
5444 try test_less_than_or_equal.testFloats();
5445 try test_less_than_or_equal.testFloatVectors();
5446}
5447
5448inline fn greaterThan(comptime Type: type, lhs: Type, rhs: Type) ChangeScalar(Type, bool) {
5449 return lhs > rhs;
5450}
5451test greaterThan {
5452 const test_greater_than = binary(greaterThan, .{});
5453 try test_greater_than.testInts();
5454 try test_greater_than.testIntVectors();
5455 try test_greater_than.testFloats();
5456 try test_greater_than.testFloatVectors();
5457}
5458
5459inline fn greaterThanOrEqual(comptime Type: type, lhs: Type, rhs: Type) ChangeScalar(Type, bool) {
5460 return lhs >= rhs;
5461}
5462test greaterThanOrEqual {
5463 const test_greater_than_or_equal = binary(greaterThanOrEqual, .{});
5464 try test_greater_than_or_equal.testInts();
5465 try test_greater_than_or_equal.testIntVectors();
5466 try test_greater_than_or_equal.testFloats();
5467 try test_greater_than_or_equal.testFloatVectors();
5468}
5469
5470inline fn bitAnd(comptime Type: type, lhs: Type, rhs: Type) Type {
5471 return lhs & rhs;
5472}
5473test bitAnd {
5474 const test_bit_and = binary(bitAnd, .{});
5475 try test_bit_and.testBools();
5476 try test_bit_and.testBoolVectors();
5477 try test_bit_and.testInts();
5478 try test_bit_and.testIntVectors();
5479}
5480
5481inline fn bitOr(comptime Type: type, lhs: Type, rhs: Type) Type {
5482 return lhs | rhs;
5483}
5484test bitOr {
5485 const test_bit_or = binary(bitOr, .{});
5486 try test_bit_or.testBools();
5487 try test_bit_or.testBoolVectors();
5488 try test_bit_or.testInts();
5489 try test_bit_or.testIntVectors();
5490}
5491
5492inline fn shr(comptime Type: type, lhs: Type, rhs: Type) Type {
5493 const bit_cast_rhs: AsSignedness(Type, .unsigned) = @bitCast(rhs);
5494 const truncate_rhs: Log2Int(Type) = @truncate(bit_cast_rhs);
5495 return lhs >> if (comptime cast(Log2Int(Scalar(Type)), @bitSizeOf(Scalar(Type)))) |bits| truncate_rhs % splat(Log2Int(Type), bits) else truncate_rhs;
5496}
5497test shr {
5498 const test_shr = binary(shr, .{});
5499 try test_shr.testInts();
5500 try test_shr.testIntVectors();
5501}
5502
5503inline fn shrExact(comptime Type: type, lhs: Type, rhs: Type) Type {
5504 const bit_cast_rhs: AsSignedness(Type, .unsigned) = @bitCast(rhs);
5505 const truncate_rhs: Log2Int(Type) = @truncate(bit_cast_rhs);
5506 const final_rhs = if (comptime cast(Log2Int(Scalar(Type)), @bitSizeOf(Scalar(Type)))) |bits| truncate_rhs % splat(Log2Int(Type), bits) else truncate_rhs;
5507 return @shrExact(lhs >> final_rhs << final_rhs, final_rhs);
5508}
5509test shrExact {
5510 const test_shr_exact = binary(shrExact, .{});
5511 try test_shr_exact.testInts();
5512 try test_shr_exact.testIntVectors();
5513}
5514
5515inline fn shl(comptime Type: type, lhs: Type, rhs: Type) Type {
5516 const bit_cast_rhs: AsSignedness(Type, .unsigned) = @bitCast(rhs);
5517 const truncate_rhs: Log2Int(Type) = @truncate(bit_cast_rhs);
5518 return lhs << if (comptime cast(Log2Int(Scalar(Type)), @bitSizeOf(Scalar(Type)))) |bits| truncate_rhs % splat(Log2Int(Type), bits) else truncate_rhs;
5519}
5520test shl {
5521 const test_shl = binary(shl, .{});
5522 try test_shl.testInts();
5523 try test_shl.testIntVectors();
5524}
5525
5526inline fn shlExactUnsafe(comptime Type: type, lhs: Type, rhs: Type) Type {
5527 @setRuntimeSafety(false);
5528 const bit_cast_rhs: AsSignedness(Type, .unsigned) = @bitCast(rhs);
5529 const truncate_rhs: Log2Int(Type) = @truncate(bit_cast_rhs);
5530 const final_rhs = if (comptime cast(Log2Int(Scalar(Type)), @bitSizeOf(Scalar(Type)))) |bits| truncate_rhs % splat(Log2Int(Type), bits) else truncate_rhs;
5531 return @shlExact(lhs << final_rhs >> final_rhs, final_rhs);
5532}
5533test shlExactUnsafe {
5534 const test_shl_exact_unsafe = binary(shlExactUnsafe, .{});
5535 try test_shl_exact_unsafe.testInts();
5536 try test_shl_exact_unsafe.testIntVectors();
5537}
5538
5539inline fn shlSaturate(comptime Type: type, lhs: Type, rhs: Type) Type {
5540 // workaround https://github.com/ziglang/zig/issues/23034
5541 if (@inComptime()) {
5542 // workaround https://github.com/ziglang/zig/issues/23139
5543 return lhs <<| @min(@abs(rhs), splat(ChangeScalar(Type, u64), imax(u64)));
5544 }
5545 return lhs <<| @abs(rhs);
5546}
5547test shlSaturate {
5548 const test_shl_saturate = binary(shlSaturate, .{});
5549 try test_shl_saturate.testInts();
5550 try test_shl_saturate.testIntVectors();
5551}
5552
5553inline fn bitXor(comptime Type: type, lhs: Type, rhs: Type) Type {
5554 return lhs ^ rhs;
5555}
5556test bitXor {
5557 const test_bit_xor = binary(bitXor, .{});
5558 try test_bit_xor.testBools();
5559 try test_bit_xor.testBoolVectors();
5560 try test_bit_xor.testInts();
5561 try test_bit_xor.testIntVectors();
5562}
5563
5564inline fn optionalsEqual(comptime Type: type, lhs: Type, rhs: Type) bool {
5565 if (@inComptime()) return lhs == rhs; // workaround https://github.com/ziglang/zig/issues/22636
5566 return @as(?Type, lhs) == rhs;
5567}
5568test optionalsEqual {
5569 const test_optionals_equal = binary(optionalsEqual, .{});
5570 try test_optionals_equal.testInts();
5571 try test_optionals_equal.testFloats();
5572}
5573
5574inline fn optionalsNotEqual(comptime Type: type, lhs: Type, rhs: Type) bool {
5575 if (@inComptime()) return lhs != rhs; // workaround https://github.com/ziglang/zig/issues/22636
5576 return lhs != @as(?Type, rhs);
5577}
5578test optionalsNotEqual {
5579 const test_optionals_not_equal = binary(optionalsNotEqual, .{});
5580 try test_optionals_not_equal.testInts();
5581 try test_optionals_not_equal.testFloats();
5582}
5583
5584inline fn reduceAndEqual(comptime Type: type, lhs: Type, rhs: Type) bool {
5585 return @reduce(.And, lhs == rhs);
5586}
5587test reduceAndEqual {
5588 const test_reduce_and_equal = binary(reduceAndEqual, .{});
5589 try test_reduce_and_equal.testIntVectors();
5590 try test_reduce_and_equal.testFloatVectors();
5591}
5592
5593inline fn reduceAndNotEqual(comptime Type: type, lhs: Type, rhs: Type) bool {
5594 return @reduce(.And, lhs != rhs);
5595}
5596test reduceAndNotEqual {
5597 const test_reduce_and_not_equal = binary(reduceAndNotEqual, .{});
5598 try test_reduce_and_not_equal.testIntVectors();
5599 try test_reduce_and_not_equal.testFloatVectors();
5600}
5601
5602inline fn reduceOrEqual(comptime Type: type, lhs: Type, rhs: Type) bool {
5603 return @reduce(.Or, lhs == rhs);
5604}
5605test reduceOrEqual {
5606 const test_reduce_or_equal = binary(reduceOrEqual, .{});
5607 try test_reduce_or_equal.testIntVectors();
5608 try test_reduce_or_equal.testFloatVectors();
5609}
5610
5611inline fn reduceOrNotEqual(comptime Type: type, lhs: Type, rhs: Type) bool {
5612 return @reduce(.Or, lhs != rhs);
5613}
5614test reduceOrNotEqual {
5615 const test_reduce_or_not_equal = binary(reduceOrNotEqual, .{});
5616 try test_reduce_or_not_equal.testIntVectors();
5617 try test_reduce_or_not_equal.testFloatVectors();
5618}
5619
5620inline fn reduceXorEqual(comptime Type: type, lhs: Type, rhs: Type) bool {
5621 return @reduce(.Xor, lhs == rhs);
5622}
5623test reduceXorEqual {
5624 const test_reduce_xor_equal = binary(reduceXorEqual, .{});
5625 try test_reduce_xor_equal.testIntVectors();
5626 try test_reduce_xor_equal.testFloatVectors();
5627}
5628
5629inline fn reduceXorNotEqual(comptime Type: type, lhs: Type, rhs: Type) bool {
5630 return @reduce(.Xor, lhs != rhs);
5631}
5632test reduceXorNotEqual {
5633 const test_reduce_xor_not_equal = binary(reduceXorNotEqual, .{});
5634 try test_reduce_xor_not_equal.testIntVectors();
5635 try test_reduce_xor_not_equal.testFloatVectors();
5636}
5637
5638inline fn mulAdd(comptime Type: type, lhs: Type, rhs: Type) Type {
5639 return @mulAdd(Type, lhs, rhs, rhs);
5640}
5641test mulAdd {
5642 const test_mul_add = binary(mulAdd, .{ .compare = .approx });
5643 try test_mul_add.testFloats();
5644 try test_mul_add.testFloatVectors();
5645}