...
1;; Test t.const instructions
2
3;; Syntax error
4
5(module (func (i32.const 0_123_456_789) drop))
6(module (func (i32.const 0x0_9acf_fBDF) drop))
7(assert_malformed
8 (module quote "(func (i32.const) drop)")
9 "unexpected token"
10)
11(assert_malformed
12 (module quote "(func (i32.const 0x) drop)")
13 "unknown operator"
14)
15(assert_malformed
16 (module quote "(func (i32.const 1x) drop)")
17 "unknown operator"
18)
19(assert_malformed
20 (module quote "(func (i32.const 0xg) drop)")
21 "unknown operator"
22)
23
24(module (func (i64.const 0_123_456_789) drop))
25(module (func (i64.const 0x0125_6789_ADEF_bcef) drop))
26(assert_malformed
27 (module quote "(func (i64.const) drop)")
28 "unexpected token"
29)
30(assert_malformed
31 (module quote "(func (i64.const 0x) drop)")
32 "unknown operator"
33)
34(assert_malformed
35 (module quote "(func (i64.const 1x) drop)")
36 "unknown operator"
37)
38(assert_malformed
39 (module quote "(func (i64.const 0xg) drop)")
40 "unknown operator"
41)
42
43(module (func (f32.const 0123456789) drop))
44(module (func (f32.const 0123456789e019) drop))
45(module (func (f32.const 0123456789e+019) drop))
46(module (func (f32.const 0123456789e-019) drop))
47(module (func (f32.const 0123456789.) drop))
48(module (func (f32.const 0123456789.e019) drop))
49(module (func (f32.const 0123456789.e+019) drop))
50(module (func (f32.const 0123456789.e-019) drop))
51(module (func (f32.const 0123456789.0123456789) drop))
52(module (func (f32.const 0123456789.0123456789e019) drop))
53(module (func (f32.const 0123456789.0123456789e+019) drop))
54(module (func (f32.const 0123456789.0123456789e-019) drop))
55(module (func (f32.const 0x0123456789ABCDEF) drop))
56(module (func (f32.const 0x0123456789ABCDEFp019) drop))
57(module (func (f32.const 0x0123456789ABCDEFp+019) drop))
58(module (func (f32.const 0x0123456789ABCDEFp-019) drop))
59(module (func (f32.const 0x0123456789ABCDEF.) drop))
60(module (func (f32.const 0x0123456789ABCDEF.p019) drop))
61(module (func (f32.const 0x0123456789ABCDEF.p+019) drop))
62(module (func (f32.const 0x0123456789ABCDEF.p-019) drop))
63(module (func (f32.const 0x0123456789ABCDEF.019aF) drop))
64(module (func (f32.const 0x0123456789ABCDEF.019aFp019) drop))
65(module (func (f32.const 0x0123456789ABCDEF.019aFp+019) drop))
66(module (func (f32.const 0x0123456789ABCDEF.019aFp-019) drop))
67(assert_malformed
68 (module quote "(func (f32.const) drop)")
69 "unexpected token"
70)
71(assert_malformed
72 (module quote "(func (f32.const .0) drop)")
73 "unknown operator"
74)
75(assert_malformed
76 (module quote "(func (f32.const .0e0) drop)")
77 "unknown operator"
78)
79(assert_malformed
80 (module quote "(func (f32.const 0e) drop)")
81 "unknown operator"
82)
83(assert_malformed
84 (module quote "(func (f32.const 0e+) drop)")
85 "unknown operator"
86)
87(assert_malformed
88 (module quote "(func (f32.const 0.0e) drop)")
89 "unknown operator"
90)
91(assert_malformed
92 (module quote "(func (f32.const 0.0e-) drop)")
93 "unknown operator"
94)
95(assert_malformed
96 (module quote "(func (f32.const 0x) drop)")
97 "unknown operator"
98)
99(assert_malformed
100 (module quote "(func (f32.const 1x) drop)")
101 "unknown operator"
102)
103(assert_malformed
104 (module quote "(func (f32.const 0xg) drop)")
105 "unknown operator"
106)
107(assert_malformed
108 (module quote "(func (f32.const 0x.) drop)")
109 "unknown operator"
110)
111(assert_malformed
112 (module quote "(func (f32.const 0x0.g) drop)")
113 "unknown operator"
114)
115(assert_malformed
116 (module quote "(func (f32.const 0x0p) drop)")
117 "unknown operator"
118)
119(assert_malformed
120 (module quote "(func (f32.const 0x0p+) drop)")
121 "unknown operator"
122)
123(assert_malformed
124 (module quote "(func (f32.const 0x0p-) drop)")
125 "unknown operator"
126)
127(assert_malformed
128 (module quote "(func (f32.const 0x0.0p) drop)")
129 "unknown operator"
130)
131(assert_malformed
132 (module quote "(func (f32.const 0x0.0p+) drop)")
133 "unknown operator"
134)
135(assert_malformed
136 (module quote "(func (f32.const 0x0.0p-) drop)")
137 "unknown operator"
138)
139(assert_malformed
140 (module quote "(func (f32.const 0x0pA) drop)")
141 "unknown operator"
142)
143
144
145(module (func (f64.const 0123456789) drop))
146(module (func (f64.const 0123456789e019) drop))
147(module (func (f64.const 0123456789e+019) drop))
148(module (func (f64.const 0123456789e-019) drop))
149(module (func (f64.const 0123456789.) drop))
150(module (func (f64.const 0123456789.e019) drop))
151(module (func (f64.const 0123456789.e+019) drop))
152(module (func (f64.const 0123456789.e-019) drop))
153(module (func (f64.const 0123456789.0123456789) drop))
154(module (func (f64.const 0123456789.0123456789e019) drop))
155(module (func (f64.const 0123456789.0123456789e+019) drop))
156(module (func (f64.const 0123456789.0123456789e-019) drop))
157(module (func (f64.const 0_1_2_3_4_5_6_7_8_9) drop))
158(module (func (f64.const 0_1_2_3_4_5_6_7_8_9.) drop))
159(module (func (f64.const 0_1_2_3_4_5_6_7_8_9.0_1_2_3_4_5_6_7_8_9) drop))
160(module (func (f64.const 0_1_2_3_4_5_6_7_8_9e+0_1_9) drop))
161(module (func (f64.const 0_1_2_3_4_5_6_7_8_9.e+0_1_9) drop))
162(module (func (f64.const 0_1_2_3_4_5_6_7_8_9.0_1_2_3_4_5_6_7_8_9e0_1_9) drop))
163
164(module (func (f64.const 0x0123456789ABCDEFabcdef) drop))
165(module (func (f64.const 0x0123456789ABCDEFabcdefp019) drop))
166(module (func (f64.const 0x0123456789ABCDEFabcdefp+019) drop))
167(module (func (f64.const 0x0123456789ABCDEFabcdefp-019) drop))
168(module (func (f64.const 0x0123456789ABCDEFabcdef.) drop))
169(module (func (f64.const 0x0123456789ABCDEFabcdef.p019) drop))
170(module (func (f64.const 0x0123456789ABCDEFabcdef.p+019) drop))
171(module (func (f64.const 0x0123456789ABCDEFabcdef.p-019) drop))
172(module (func (f64.const 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdef) drop))
173(module (func (f64.const 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp019) drop))
174(module (func (f64.const 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp+019) drop))
175(module (func (f64.const 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp-019) drop))
176(module (func (f64.const 0x0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_f) drop))
177(module (func (f64.const 0x0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_f.) drop))
178(module (func (f64.const 0x0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_f.0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_f) drop))
179(module (func (f64.const 0x0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_fp0_1_9) drop))
180(module (func (f64.const 0x0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_f.p0_1_9) drop))
181(module (func (f64.const 0x0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_f.0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_fp0_1_9) drop))
182
183
184(assert_malformed
185 (module quote "(func (f64.const) drop)")
186 "unexpected token"
187)
188(assert_malformed
189 (module quote "(func (f64.const .0) drop)")
190 "unknown operator"
191)
192(assert_malformed
193 (module quote "(func (f64.const .0e0) drop)")
194 "unknown operator"
195)
196(assert_malformed
197 (module quote "(func (f64.const 0e) drop)")
198 "unknown operator"
199)
200(assert_malformed
201 (module quote "(func (f64.const 0e+) drop)")
202 "unknown operator"
203)
204(assert_malformed
205 (module quote "(func (f64.const 0.0e) drop)")
206 "unknown operator"
207)
208(assert_malformed
209 (module quote "(func (f64.const 0.0e-) drop)")
210 "unknown operator"
211)
212(assert_malformed
213 (module quote "(func (f64.const 0x) drop)")
214 "unknown operator"
215)
216(assert_malformed
217 (module quote "(func (f64.const 1x) drop)")
218 "unknown operator"
219)
220(assert_malformed
221 (module quote "(func (f64.const 0xg) drop)")
222 "unknown operator"
223)
224(assert_malformed
225 (module quote "(func (f64.const 0x.) drop)")
226 "unknown operator"
227)
228(assert_malformed
229 (module quote "(func (f64.const 0x0.g) drop)")
230 "unknown operator"
231)
232(assert_malformed
233 (module quote "(func (f64.const 0x0p) drop)")
234 "unknown operator"
235)
236(assert_malformed
237 (module quote "(func (f64.const 0x0p+) drop)")
238 "unknown operator"
239)
240(assert_malformed
241 (module quote "(func (f64.const 0x0p-) drop)")
242 "unknown operator"
243)
244(assert_malformed
245 (module quote "(func (f64.const 0x0.0p) drop)")
246 "unknown operator"
247)
248(assert_malformed
249 (module quote "(func (f64.const 0x0.0p+) drop)")
250 "unknown operator"
251)
252(assert_malformed
253 (module quote "(func (f64.const 0x0.0p-) drop)")
254 "unknown operator"
255)
256(assert_malformed
257 (module quote "(func (f64.const 0x0pA) drop)")
258 "unknown operator"
259)
260
261
262;; Range error
263
264(module (func (i32.const 0xffffffff) drop))
265(module (func (i32.const -0x80000000) drop))
266(assert_malformed
267 (module quote "(func (i32.const 0x100000000) drop)")
268 "constant out of range"
269)
270(assert_malformed
271 (module quote "(func (i32.const -0x80000001) drop)")
272 "constant out of range"
273)
274
275(module (func (i32.const 4294967295) drop))
276(module (func (i32.const -2147483648) drop))
277(assert_malformed
278 (module quote "(func (i32.const 4294967296) drop)")
279 "constant out of range"
280)
281(assert_malformed
282 (module quote "(func (i32.const -2147483649) drop)")
283 "constant out of range"
284)
285
286(module (func (i64.const 0xffffffffffffffff) drop))
287(module (func (i64.const -0x8000000000000000) drop))
288(assert_malformed
289 (module quote "(func (i64.const 0x10000000000000000) drop)")
290 "constant out of range"
291)
292(assert_malformed
293 (module quote "(func (i64.const -0x8000000000000001) drop)")
294 "constant out of range"
295)
296
297(module (func (i64.const 18446744073709551615) drop))
298(module (func (i64.const -9223372036854775808) drop))
299(assert_malformed
300 (module quote "(func (i64.const 18446744073709551616) drop)")
301 "constant out of range"
302)
303(assert_malformed
304 (module quote "(func (i64.const -9223372036854775809) drop)")
305 "constant out of range"
306)
307
308(module (func (f32.const 0x1p127) drop))
309(module (func (f32.const -0x1p127) drop))
310(module (func (f32.const 0x1.fffffep127) drop))
311(module (func (f32.const -0x1.fffffep127) drop))
312(module (func (f32.const 0x1.fffffe7p127) drop))
313(module (func (f32.const -0x1.fffffe7p127) drop))
314(module (func (f32.const 0x1.fffffefffffff8000000p127) drop))
315(module (func (f32.const -0x1.fffffefffffff8000000p127) drop))
316(module (func (f32.const 0x1.fffffefffffffffffffp127) drop))
317(module (func (f32.const -0x1.fffffefffffffffffffp127) drop))
318(assert_malformed
319 (module quote "(func (f32.const 0x1p128) drop)")
320 "constant out of range"
321)
322(assert_malformed
323 (module quote "(func (f32.const -0x1p128) drop)")
324 "constant out of range"
325)
326(assert_malformed
327 (module quote "(func (f32.const 0x1.ffffffp127) drop)")
328 "constant out of range"
329)
330(assert_malformed
331 (module quote "(func (f32.const -0x1.ffffffp127) drop)")
332 "constant out of range"
333)
334
335(module (func (f32.const 1e38) drop))
336(module (func (f32.const -1e38) drop))
337(assert_malformed
338 (module quote "(func (f32.const 1e39) drop)")
339 "constant out of range"
340)
341(assert_malformed
342 (module quote "(func (f32.const -1e39) drop)")
343 "constant out of range"
344)
345
346(module (func (f32.const 340282356779733623858607532500980858880) drop))
347(module (func (f32.const -340282356779733623858607532500980858880) drop))
348(assert_malformed
349 (module quote "(func (f32.const 340282356779733661637539395458142568448) drop)")
350 "constant out of range"
351)
352(assert_malformed
353 (module quote "(func (f32.const -340282356779733661637539395458142568448) drop)")
354 "constant out of range"
355)
356
357(module (func (f64.const 0x1p1023) drop))
358(module (func (f64.const -0x1p1023) drop))
359(module (func (f64.const 0x1.fffffffffffffp1023) drop))
360(module (func (f64.const -0x1.fffffffffffffp1023) drop))
361(module (func (f64.const 0x1.fffffffffffff7p1023) drop))
362(module (func (f64.const -0x1.fffffffffffff7p1023) drop))
363(module (func (f64.const 0x1.fffffffffffff7ffffffp1023) drop))
364(module (func (f64.const -0x1.fffffffffffff7ffffffp1023) drop))
365(assert_malformed
366 (module quote "(func (f64.const 0x1p1024) drop)")
367 "constant out of range"
368)
369(assert_malformed
370 (module quote "(func (f64.const -0x1p1024) drop)")
371 "constant out of range"
372)
373(assert_malformed
374 (module quote "(func (f64.const 0x1.fffffffffffff8p1023) drop)")
375 "constant out of range"
376)
377(assert_malformed
378 (module quote "(func (f64.const -0x1.fffffffffffff8p1023) drop)")
379 "constant out of range"
380)
381
382(module (func (f64.const 1e308) drop))
383(module (func (f64.const -1e308) drop))
384(assert_malformed
385 (module quote "(func (f64.const 1e309) drop)")
386 "constant out of range"
387)
388(assert_malformed
389 (module quote "(func (f64.const -1e309) drop)")
390 "constant out of range"
391)
392
393(module (func (f64.const 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368) drop))
394(module (func (f64.const -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368) drop))
395(assert_malformed
396 (module quote "(func (f64.const 269653970229347356221791135597556535197105851288767494898376215204735891170042808140884337949150317257310688430271573696351481990334196274152701320055306275479074865864826923114368235135583993416113802762682700913456874855354834422248712838998185022412196739306217084753107265771378949821875606039276187287552) drop)")
397 "constant out of range"
398)
399(assert_malformed
400 (module quote "(func (f64.const -269653970229347356221791135597556535197105851288767494898376215204735891170042808140884337949150317257310688430271573696351481990334196274152701320055306275479074865864826923114368235135583993416113802762682700913456874855354834422248712838998185022412196739306217084753107265771378949821875606039276187287552) drop)")
401 "constant out of range"
402)
403
404(module (func (f32.const nan:0x1) drop))
405(module (func (f64.const nan:0x1) drop))
406(module (func (f32.const nan:0x7f_ffff) drop))
407(module (func (f64.const nan:0xf_ffff_ffff_ffff) drop))
408
409(assert_malformed
410 (module quote "(func (f32.const nan:1) drop)")
411 "unknown operator"
412)
413(assert_malformed
414 (module quote "(func (f64.const nan:1) drop)")
415 "unknown operator"
416)
417
418(assert_malformed
419 (module quote "(func (f32.const nan:0x0) drop)")
420 "constant out of range"
421)
422(assert_malformed
423 (module quote "(func (f64.const nan:0x0) drop)")
424 "constant out of range"
425)
426
427(assert_malformed
428 (module quote "(func (f32.const nan:0x80_0000) drop)")
429 "constant out of range"
430)
431(assert_malformed
432 (module quote "(func (f64.const nan:0x10_0000_0000_0000) drop)")
433 "constant out of range"
434)
435
436
437;; Rounding behaviour
438
439;; f32, small exponent
440(module (func (export "f") (result f32) (f32.const +0x1.00000100000000000p-50)))
441(assert_return (invoke "f") (f32.const +0x1.000000p-50))
442(module (func (export "f") (result f32) (f32.const -0x1.00000100000000000p-50)))
443(assert_return (invoke "f") (f32.const -0x1.000000p-50))
444(module (func (export "f") (result f32) (f32.const +0x1.00000100000000001p-50)))
445(assert_return (invoke "f") (f32.const +0x1.000002p-50))
446(module (func (export "f") (result f32) (f32.const -0x1.00000100000000001p-50)))
447(assert_return (invoke "f") (f32.const -0x1.000002p-50))
448(module (func (export "f") (result f32) (f32.const +0x1.000001fffffffffffp-50)))
449(assert_return (invoke "f") (f32.const +0x1.000002p-50))
450(module (func (export "f") (result f32) (f32.const -0x1.000001fffffffffffp-50)))
451(assert_return (invoke "f") (f32.const -0x1.000002p-50))
452(module (func (export "f") (result f32) (f32.const +0x1.00000200000000000p-50)))
453(assert_return (invoke "f") (f32.const +0x1.000002p-50))
454(module (func (export "f") (result f32) (f32.const -0x1.00000200000000000p-50)))
455(assert_return (invoke "f") (f32.const -0x1.000002p-50))
456(module (func (export "f") (result f32) (f32.const +0x1.00000200000000001p-50)))
457(assert_return (invoke "f") (f32.const +0x1.000002p-50))
458(module (func (export "f") (result f32) (f32.const -0x1.00000200000000001p-50)))
459(assert_return (invoke "f") (f32.const -0x1.000002p-50))
460(module (func (export "f") (result f32) (f32.const +0x1.000002fffffffffffp-50)))
461(assert_return (invoke "f") (f32.const +0x1.000002p-50))
462(module (func (export "f") (result f32) (f32.const -0x1.000002fffffffffffp-50)))
463(assert_return (invoke "f") (f32.const -0x1.000002p-50))
464(module (func (export "f") (result f32) (f32.const +0x1.00000300000000000p-50)))
465(assert_return (invoke "f") (f32.const +0x1.000004p-50))
466(module (func (export "f") (result f32) (f32.const -0x1.00000300000000000p-50)))
467(assert_return (invoke "f") (f32.const -0x1.000004p-50))
468(module (func (export "f") (result f32) (f32.const +0x1.00000300000000001p-50)))
469(assert_return (invoke "f") (f32.const +0x1.000004p-50))
470(module (func (export "f") (result f32) (f32.const -0x1.00000300000000001p-50)))
471(assert_return (invoke "f") (f32.const -0x1.000004p-50))
472(module (func (export "f") (result f32) (f32.const +0x1.000003fffffffffffp-50)))
473(assert_return (invoke "f") (f32.const +0x1.000004p-50))
474(module (func (export "f") (result f32) (f32.const -0x1.000003fffffffffffp-50)))
475(assert_return (invoke "f") (f32.const -0x1.000004p-50))
476(module (func (export "f") (result f32) (f32.const +0x1.00000400000000000p-50)))
477(assert_return (invoke "f") (f32.const +0x1.000004p-50))
478(module (func (export "f") (result f32) (f32.const -0x1.00000400000000000p-50)))
479(assert_return (invoke "f") (f32.const -0x1.000004p-50))
480(module (func (export "f") (result f32) (f32.const +0x1.00000400000000001p-50)))
481(assert_return (invoke "f") (f32.const +0x1.000004p-50))
482(module (func (export "f") (result f32) (f32.const -0x1.00000400000000001p-50)))
483(assert_return (invoke "f") (f32.const -0x1.000004p-50))
484(module (func (export "f") (result f32) (f32.const +0x1.000004fffffffffffp-50)))
485(assert_return (invoke "f") (f32.const +0x1.000004p-50))
486(module (func (export "f") (result f32) (f32.const -0x1.000004fffffffffffp-50)))
487(assert_return (invoke "f") (f32.const -0x1.000004p-50))
488(module (func (export "f") (result f32) (f32.const +0x1.00000500000000000p-50)))
489(assert_return (invoke "f") (f32.const +0x1.000004p-50))
490(module (func (export "f") (result f32) (f32.const -0x1.00000500000000000p-50)))
491(assert_return (invoke "f") (f32.const -0x1.000004p-50))
492(module (func (export "f") (result f32) (f32.const +0x1.00000500000000001p-50)))
493(assert_return (invoke "f") (f32.const +0x1.000006p-50))
494(module (func (export "f") (result f32) (f32.const -0x1.00000500000000001p-50)))
495(assert_return (invoke "f") (f32.const -0x1.000006p-50))
496
497(module (func (export "f") (result f32) (f32.const +0x4000.004000000p-64)))
498(assert_return (invoke "f") (f32.const +0x1.000000p-50))
499(module (func (export "f") (result f32) (f32.const -0x4000.004000000p-64)))
500(assert_return (invoke "f") (f32.const -0x1.000000p-50))
501(module (func (export "f") (result f32) (f32.const +0x4000.004000001p-64)))
502(assert_return (invoke "f") (f32.const +0x1.000002p-50))
503(module (func (export "f") (result f32) (f32.const -0x4000.004000001p-64)))
504(assert_return (invoke "f") (f32.const -0x1.000002p-50))
505(module (func (export "f") (result f32) (f32.const +0x4000.007ffffffp-64)))
506(assert_return (invoke "f") (f32.const +0x1.000002p-50))
507(module (func (export "f") (result f32) (f32.const -0x4000.007ffffffp-64)))
508(assert_return (invoke "f") (f32.const -0x1.000002p-50))
509(module (func (export "f") (result f32) (f32.const +0x4000.008000000p-64)))
510(assert_return (invoke "f") (f32.const +0x1.000002p-50))
511(module (func (export "f") (result f32) (f32.const -0x4000.008000000p-64)))
512(assert_return (invoke "f") (f32.const -0x1.000002p-50))
513(module (func (export "f") (result f32) (f32.const +0x4000.008000001p-64)))
514(assert_return (invoke "f") (f32.const +0x1.000002p-50))
515(module (func (export "f") (result f32) (f32.const -0x4000.008000001p-64)))
516(assert_return (invoke "f") (f32.const -0x1.000002p-50))
517(module (func (export "f") (result f32) (f32.const +0x4000.00bffffffp-64)))
518(assert_return (invoke "f") (f32.const +0x1.000002p-50))
519(module (func (export "f") (result f32) (f32.const -0x4000.00bffffffp-64)))
520(assert_return (invoke "f") (f32.const -0x1.000002p-50))
521(module (func (export "f") (result f32) (f32.const +0x4000.00c000000p-64)))
522(assert_return (invoke "f") (f32.const +0x1.000004p-50))
523(module (func (export "f") (result f32) (f32.const -0x4000.00c000000p-64)))
524(assert_return (invoke "f") (f32.const -0x1.000004p-50))
525(module (func (export "f") (result f32) (f32.const +0x4000.00c000001p-64)))
526(assert_return (invoke "f") (f32.const +0x1.000004p-50))
527(module (func (export "f") (result f32) (f32.const -0x4000.00c000001p-64)))
528(assert_return (invoke "f") (f32.const -0x1.000004p-50))
529(module (func (export "f") (result f32) (f32.const +0x4000.00fffffffp-64)))
530(assert_return (invoke "f") (f32.const +0x1.000004p-50))
531(module (func (export "f") (result f32) (f32.const -0x4000.00fffffffp-64)))
532(assert_return (invoke "f") (f32.const -0x1.000004p-50))
533(module (func (export "f") (result f32) (f32.const +0x4000.010000001p-64)))
534(assert_return (invoke "f") (f32.const +0x1.000004p-50))
535(module (func (export "f") (result f32) (f32.const -0x4000.010000001p-64)))
536(assert_return (invoke "f") (f32.const -0x1.000004p-50))
537(module (func (export "f") (result f32) (f32.const +0x4000.013ffffffp-64)))
538(assert_return (invoke "f") (f32.const +0x1.000004p-50))
539(module (func (export "f") (result f32) (f32.const -0x4000.013ffffffp-64)))
540(assert_return (invoke "f") (f32.const -0x1.000004p-50))
541(module (func (export "f") (result f32) (f32.const +0x4000.014000001p-64)))
542(assert_return (invoke "f") (f32.const +0x1.000006p-50))
543(module (func (export "f") (result f32) (f32.const -0x4000.014000001p-64)))
544(assert_return (invoke "f") (f32.const -0x1.000006p-50))
545
546(module (func (export "f") (result f32) (f32.const +8.8817847263968443573e-16)))
547(assert_return (invoke "f") (f32.const +0x1.000000p-50))
548(module (func (export "f") (result f32) (f32.const -8.8817847263968443573e-16)))
549(assert_return (invoke "f") (f32.const -0x1.000000p-50))
550(module (func (export "f") (result f32) (f32.const +8.8817847263968443574e-16)))
551(assert_return (invoke "f") (f32.const +0x1.000002p-50))
552(module (func (export "f") (result f32) (f32.const -8.8817847263968443574e-16)))
553(assert_return (invoke "f") (f32.const -0x1.000002p-50))
554(module (func (export "f") (result f32) (f32.const +8.8817857851880284252e-16)))
555(assert_return (invoke "f") (f32.const +0x1.000002p-50))
556(module (func (export "f") (result f32) (f32.const -8.8817857851880284252e-16)))
557(assert_return (invoke "f") (f32.const -0x1.000002p-50))
558(module (func (export "f") (result f32) (f32.const +8.8817857851880284253e-16)))
559(assert_return (invoke "f") (f32.const +0x1.000004p-50))
560(module (func (export "f") (result f32) (f32.const -8.8817857851880284253e-16)))
561(assert_return (invoke "f") (f32.const -0x1.000004p-50))
562
563;; f32, large exponent
564(module (func (export "f") (result f32) (f32.const +0x1.00000100000000000p+50)))
565(assert_return (invoke "f") (f32.const +0x1.000000p+50))
566(module (func (export "f") (result f32) (f32.const -0x1.00000100000000000p+50)))
567(assert_return (invoke "f") (f32.const -0x1.000000p+50))
568(module (func (export "f") (result f32) (f32.const +0x1.00000100000000001p+50)))
569(assert_return (invoke "f") (f32.const +0x1.000002p+50))
570(module (func (export "f") (result f32) (f32.const -0x1.00000100000000001p+50)))
571(assert_return (invoke "f") (f32.const -0x1.000002p+50))
572(module (func (export "f") (result f32) (f32.const +0x1.000001fffffffffffp+50)))
573(assert_return (invoke "f") (f32.const +0x1.000002p+50))
574(module (func (export "f") (result f32) (f32.const -0x1.000001fffffffffffp+50)))
575(assert_return (invoke "f") (f32.const -0x1.000002p+50))
576(module (func (export "f") (result f32) (f32.const +0x1.00000200000000000p+50)))
577(assert_return (invoke "f") (f32.const +0x1.000002p+50))
578(module (func (export "f") (result f32) (f32.const -0x1.00000200000000000p+50)))
579(assert_return (invoke "f") (f32.const -0x1.000002p+50))
580(module (func (export "f") (result f32) (f32.const +0x1.00000200000000001p+50)))
581(assert_return (invoke "f") (f32.const +0x1.000002p+50))
582(module (func (export "f") (result f32) (f32.const -0x1.00000200000000001p+50)))
583(assert_return (invoke "f") (f32.const -0x1.000002p+50))
584(module (func (export "f") (result f32) (f32.const +0x1.000002fffffffffffp+50)))
585(assert_return (invoke "f") (f32.const +0x1.000002p+50))
586(module (func (export "f") (result f32) (f32.const -0x1.000002fffffffffffp+50)))
587(assert_return (invoke "f") (f32.const -0x1.000002p+50))
588(module (func (export "f") (result f32) (f32.const +0x1.00000300000000000p+50)))
589(assert_return (invoke "f") (f32.const +0x1.000004p+50))
590(module (func (export "f") (result f32) (f32.const -0x1.00000300000000000p+50)))
591(assert_return (invoke "f") (f32.const -0x1.000004p+50))
592(module (func (export "f") (result f32) (f32.const +0x1.00000300000000001p+50)))
593(assert_return (invoke "f") (f32.const +0x1.000004p+50))
594(module (func (export "f") (result f32) (f32.const -0x1.00000300000000001p+50)))
595(assert_return (invoke "f") (f32.const -0x1.000004p+50))
596(module (func (export "f") (result f32) (f32.const +0x1.000003fffffffffffp+50)))
597(assert_return (invoke "f") (f32.const +0x1.000004p+50))
598(module (func (export "f") (result f32) (f32.const -0x1.000003fffffffffffp+50)))
599(assert_return (invoke "f") (f32.const -0x1.000004p+50))
600(module (func (export "f") (result f32) (f32.const +0x1.00000400000000000p+50)))
601(assert_return (invoke "f") (f32.const +0x1.000004p+50))
602(module (func (export "f") (result f32) (f32.const -0x1.00000400000000000p+50)))
603(assert_return (invoke "f") (f32.const -0x1.000004p+50))
604(module (func (export "f") (result f32) (f32.const +0x1.00000400000000001p+50)))
605(assert_return (invoke "f") (f32.const +0x1.000004p+50))
606(module (func (export "f") (result f32) (f32.const -0x1.00000400000000001p+50)))
607(assert_return (invoke "f") (f32.const -0x1.000004p+50))
608(module (func (export "f") (result f32) (f32.const +0x1.000004fffffffffffp+50)))
609(assert_return (invoke "f") (f32.const +0x1.000004p+50))
610(module (func (export "f") (result f32) (f32.const -0x1.000004fffffffffffp+50)))
611(assert_return (invoke "f") (f32.const -0x1.000004p+50))
612(module (func (export "f") (result f32) (f32.const +0x1.00000500000000000p+50)))
613(assert_return (invoke "f") (f32.const +0x1.000004p+50))
614(module (func (export "f") (result f32) (f32.const -0x1.00000500000000000p+50)))
615(assert_return (invoke "f") (f32.const -0x1.000004p+50))
616(module (func (export "f") (result f32) (f32.const +0x1.00000500000000001p+50)))
617(assert_return (invoke "f") (f32.const +0x1.000006p+50))
618(module (func (export "f") (result f32) (f32.const -0x1.00000500000000001p+50)))
619(assert_return (invoke "f") (f32.const -0x1.000006p+50))
620
621(module (func (export "f") (result f32) (f32.const +0x4000004000000)))
622(assert_return (invoke "f") (f32.const +0x1.000000p+50))
623(module (func (export "f") (result f32) (f32.const -0x4000004000000)))
624(assert_return (invoke "f") (f32.const -0x1.000000p+50))
625(module (func (export "f") (result f32) (f32.const +0x4000004000001)))
626(assert_return (invoke "f") (f32.const +0x1.000002p+50))
627(module (func (export "f") (result f32) (f32.const -0x4000004000001)))
628(assert_return (invoke "f") (f32.const -0x1.000002p+50))
629(module (func (export "f") (result f32) (f32.const +0x4000007ffffff)))
630(assert_return (invoke "f") (f32.const +0x1.000002p+50))
631(module (func (export "f") (result f32) (f32.const -0x4000007ffffff)))
632(assert_return (invoke "f") (f32.const -0x1.000002p+50))
633(module (func (export "f") (result f32) (f32.const +0x4000008000000)))
634(assert_return (invoke "f") (f32.const +0x1.000002p+50))
635(module (func (export "f") (result f32) (f32.const -0x4000008000000)))
636(assert_return (invoke "f") (f32.const -0x1.000002p+50))
637(module (func (export "f") (result f32) (f32.const +0x4000008000001)))
638(assert_return (invoke "f") (f32.const +0x1.000002p+50))
639(module (func (export "f") (result f32) (f32.const -0x4000008000001)))
640(assert_return (invoke "f") (f32.const -0x1.000002p+50))
641(module (func (export "f") (result f32) (f32.const +0x400000bffffff)))
642(assert_return (invoke "f") (f32.const +0x1.000002p+50))
643(module (func (export "f") (result f32) (f32.const -0x400000bffffff)))
644(assert_return (invoke "f") (f32.const -0x1.000002p+50))
645(module (func (export "f") (result f32) (f32.const +0x400000c000000)))
646(assert_return (invoke "f") (f32.const +0x1.000004p+50))
647(module (func (export "f") (result f32) (f32.const -0x400000c000000)))
648(assert_return (invoke "f") (f32.const -0x1.000004p+50))
649
650(module (func (export "f") (result f32) (f32.const +1125899973951488)))
651(assert_return (invoke "f") (f32.const +0x1.000000p+50))
652(module (func (export "f") (result f32) (f32.const -1125899973951488)))
653(assert_return (invoke "f") (f32.const -0x1.000000p+50))
654(module (func (export "f") (result f32) (f32.const +1125899973951489)))
655(assert_return (invoke "f") (f32.const +0x1.000002p+50))
656(module (func (export "f") (result f32) (f32.const -1125899973951489)))
657(assert_return (invoke "f") (f32.const -0x1.000002p+50))
658(module (func (export "f") (result f32) (f32.const +1125900108169215)))
659(assert_return (invoke "f") (f32.const +0x1.000002p+50))
660(module (func (export "f") (result f32) (f32.const -1125900108169215)))
661(assert_return (invoke "f") (f32.const -0x1.000002p+50))
662(module (func (export "f") (result f32) (f32.const +1125900108169216)))
663(assert_return (invoke "f") (f32.const +0x1.000004p+50))
664(module (func (export "f") (result f32) (f32.const -1125900108169216)))
665(assert_return (invoke "f") (f32.const -0x1.000004p+50))
666
667;; f32, subnormal
668(module (func (export "f") (result f32) (f32.const +0x0.00000100000000000p-126)))
669(assert_return (invoke "f") (f32.const +0x0.000000p-126))
670(module (func (export "f") (result f32) (f32.const -0x0.00000100000000000p-126)))
671(assert_return (invoke "f") (f32.const -0x0.000000p-126))
672(module (func (export "f") (result f32) (f32.const +0x0.00000100000000001p-126)))
673(assert_return (invoke "f") (f32.const +0x0.000002p-126))
674(module (func (export "f") (result f32) (f32.const -0x0.00000100000000001p-126)))
675(assert_return (invoke "f") (f32.const -0x0.000002p-126))
676(module (func (export "f") (result f32) (f32.const +0x0.000001fffffffffffp-126)))
677(assert_return (invoke "f") (f32.const +0x0.000002p-126))
678(module (func (export "f") (result f32) (f32.const -0x0.000001fffffffffffp-126)))
679(assert_return (invoke "f") (f32.const -0x0.000002p-126))
680(module (func (export "f") (result f32) (f32.const +0x0.00000200000000000p-126)))
681(assert_return (invoke "f") (f32.const +0x0.000002p-126))
682(module (func (export "f") (result f32) (f32.const -0x0.00000200000000000p-126)))
683(assert_return (invoke "f") (f32.const -0x0.000002p-126))
684(module (func (export "f") (result f32) (f32.const +0x0.00000200000000001p-126)))
685(assert_return (invoke "f") (f32.const +0x0.000002p-126))
686(module (func (export "f") (result f32) (f32.const -0x0.00000200000000001p-126)))
687(assert_return (invoke "f") (f32.const -0x0.000002p-126))
688(module (func (export "f") (result f32) (f32.const +0x0.000002fffffffffffp-126)))
689(assert_return (invoke "f") (f32.const +0x0.000002p-126))
690(module (func (export "f") (result f32) (f32.const -0x0.000002fffffffffffp-126)))
691(assert_return (invoke "f") (f32.const -0x0.000002p-126))
692(module (func (export "f") (result f32) (f32.const +0x0.00000300000000000p-126)))
693(assert_return (invoke "f") (f32.const +0x0.000004p-126))
694(module (func (export "f") (result f32) (f32.const -0x0.00000300000000000p-126)))
695(assert_return (invoke "f") (f32.const -0x0.000004p-126))
696(module (func (export "f") (result f32) (f32.const +0x0.00000300000000001p-126)))
697(assert_return (invoke "f") (f32.const +0x0.000004p-126))
698(module (func (export "f") (result f32) (f32.const -0x0.00000300000000001p-126)))
699(assert_return (invoke "f") (f32.const -0x0.000004p-126))
700(module (func (export "f") (result f32) (f32.const +0x0.000003fffffffffffp-126)))
701(assert_return (invoke "f") (f32.const +0x0.000004p-126))
702(module (func (export "f") (result f32) (f32.const -0x0.000003fffffffffffp-126)))
703(assert_return (invoke "f") (f32.const -0x0.000004p-126))
704(module (func (export "f") (result f32) (f32.const +0x0.00000400000000000p-126)))
705(assert_return (invoke "f") (f32.const +0x0.000004p-126))
706(module (func (export "f") (result f32) (f32.const -0x0.00000400000000000p-126)))
707(assert_return (invoke "f") (f32.const -0x0.000004p-126))
708(module (func (export "f") (result f32) (f32.const +0x0.00000400000000001p-126)))
709(assert_return (invoke "f") (f32.const +0x0.000004p-126))
710(module (func (export "f") (result f32) (f32.const -0x0.00000400000000001p-126)))
711(assert_return (invoke "f") (f32.const -0x0.000004p-126))
712(module (func (export "f") (result f32) (f32.const +0x0.000004fffffffffffp-126)))
713(assert_return (invoke "f") (f32.const +0x0.000004p-126))
714(module (func (export "f") (result f32) (f32.const -0x0.000004fffffffffffp-126)))
715(assert_return (invoke "f") (f32.const -0x0.000004p-126))
716(module (func (export "f") (result f32) (f32.const +0x0.00000500000000000p-126)))
717(assert_return (invoke "f") (f32.const +0x0.000004p-126))
718(module (func (export "f") (result f32) (f32.const -0x0.00000500000000000p-126)))
719(assert_return (invoke "f") (f32.const -0x0.000004p-126))
720(module (func (export "f") (result f32) (f32.const +0x0.00000500000000001p-126)))
721(assert_return (invoke "f") (f32.const +0x0.000006p-126))
722(module (func (export "f") (result f32) (f32.const -0x0.00000500000000001p-126)))
723(assert_return (invoke "f") (f32.const -0x0.000006p-126))
724
725;; f32, round down at limit to infinity
726(module (func (export "f") (result f32) (f32.const +0x1.fffffe8p127)))
727(assert_return (invoke "f") (f32.const +0x1.fffffep127))
728(module (func (export "f") (result f32) (f32.const -0x1.fffffe8p127)))
729(assert_return (invoke "f") (f32.const -0x1.fffffep127))
730(module (func (export "f") (result f32) (f32.const +0x1.fffffefffffff8p127)))
731(assert_return (invoke "f") (f32.const +0x1.fffffep127))
732(module (func (export "f") (result f32) (f32.const -0x1.fffffefffffff8p127)))
733(assert_return (invoke "f") (f32.const -0x1.fffffep127))
734(module (func (export "f") (result f32) (f32.const +0x1.fffffefffffffffffp127)))
735(assert_return (invoke "f") (f32.const +0x1.fffffep127))
736(module (func (export "f") (result f32) (f32.const -0x1.fffffefffffffffffp127)))
737(assert_return (invoke "f") (f32.const -0x1.fffffep127))
738
739;; f64, small exponent
740(module (func (export "f") (result f64) (f64.const +0x1.000000000000080000000000p-600)))
741(assert_return (invoke "f") (f64.const +0x1.0000000000000p-600))
742(module (func (export "f") (result f64) (f64.const -0x1.000000000000080000000000p-600)))
743(assert_return (invoke "f") (f64.const -0x1.0000000000000p-600))
744(module (func (export "f") (result f64) (f64.const +0x1.000000000000080000000001p-600)))
745(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
746(module (func (export "f") (result f64) (f64.const -0x1.000000000000080000000001p-600)))
747(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
748(module (func (export "f") (result f64) (f64.const +0x1.0000000000000fffffffffffp-600)))
749(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
750(module (func (export "f") (result f64) (f64.const -0x1.0000000000000fffffffffffp-600)))
751(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
752(module (func (export "f") (result f64) (f64.const +0x1.000000000000100000000000p-600)))
753(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
754(module (func (export "f") (result f64) (f64.const -0x1.000000000000100000000000p-600)))
755(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
756(module (func (export "f") (result f64) (f64.const +0x1.000000000000100000000001p-600)))
757(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
758(module (func (export "f") (result f64) (f64.const -0x1.000000000000100000000001p-600)))
759(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
760(module (func (export "f") (result f64) (f64.const +0x1.00000000000017ffffffffffp-600)))
761(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
762(module (func (export "f") (result f64) (f64.const -0x1.00000000000017ffffffffffp-600)))
763(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
764(module (func (export "f") (result f64) (f64.const +0x1.000000000000180000000000p-600)))
765(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
766(module (func (export "f") (result f64) (f64.const -0x1.000000000000180000000000p-600)))
767(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
768(module (func (export "f") (result f64) (f64.const +0x1.000000000000180000000001p-600)))
769(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
770(module (func (export "f") (result f64) (f64.const -0x1.000000000000180000000001p-600)))
771(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
772(module (func (export "f") (result f64) (f64.const +0x1.0000000000001fffffffffffp-600)))
773(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
774(module (func (export "f") (result f64) (f64.const -0x1.0000000000001fffffffffffp-600)))
775(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
776(module (func (export "f") (result f64) (f64.const +0x1.000000000000200000000000p-600)))
777(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
778(module (func (export "f") (result f64) (f64.const -0x1.000000000000200000000000p-600)))
779(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
780(module (func (export "f") (result f64) (f64.const +0x1.000000000000200000000001p-600)))
781(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
782(module (func (export "f") (result f64) (f64.const -0x1.000000000000200000000001p-600)))
783(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
784(module (func (export "f") (result f64) (f64.const +0x1.00000000000027ffffffffffp-600)))
785(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
786(module (func (export "f") (result f64) (f64.const -0x1.00000000000027ffffffffffp-600)))
787(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
788(module (func (export "f") (result f64) (f64.const +0x1.000000000000280000000001p-600)))
789(assert_return (invoke "f") (f64.const +0x1.0000000000003p-600))
790(module (func (export "f") (result f64) (f64.const -0x1.000000000000280000000001p-600)))
791(assert_return (invoke "f") (f64.const -0x1.0000000000003p-600))
792
793(module (func (export "f") (result f64) (f64.const +0x8000000.000000400000000000p-627)))
794(assert_return (invoke "f") (f64.const +0x1.0000000000000p-600))
795(module (func (export "f") (result f64) (f64.const -0x8000000.000000400000000000p-627)))
796(assert_return (invoke "f") (f64.const -0x1.0000000000000p-600))
797(module (func (export "f") (result f64) (f64.const +0x8000000.000000400000000001p-627)))
798(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
799(module (func (export "f") (result f64) (f64.const -0x8000000.000000400000000001p-627)))
800(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
801(module (func (export "f") (result f64) (f64.const +0x8000000.0000007fffffffffffp-627)))
802(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
803(module (func (export "f") (result f64) (f64.const -0x8000000.0000007fffffffffffp-627)))
804(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
805(module (func (export "f") (result f64) (f64.const +0x8000000.000000800000000000p-627)))
806(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
807(module (func (export "f") (result f64) (f64.const -0x8000000.000000800000000000p-627)))
808(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
809(module (func (export "f") (result f64) (f64.const +0x8000000.000000800000000001p-627)))
810(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
811(module (func (export "f") (result f64) (f64.const -0x8000000.000000800000000001p-627)))
812(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
813(module (func (export "f") (result f64) (f64.const +0x8000000.000000bfffffffffffp-627)))
814(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
815(module (func (export "f") (result f64) (f64.const -0x8000000.000000bfffffffffffp-627)))
816(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
817(module (func (export "f") (result f64) (f64.const +0x8000000.000000c00000000000p-627)))
818(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
819(module (func (export "f") (result f64) (f64.const -0x8000000.000000c00000000000p-627)))
820(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
821(module (func (export "f") (result f64) (f64.const +0x8000000.000000c00000000001p-627)))
822(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
823(module (func (export "f") (result f64) (f64.const -0x8000000.000000c00000000001p-627)))
824(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
825(module (func (export "f") (result f64) (f64.const +0x8000000.000000ffffffffffffp-627)))
826(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
827(module (func (export "f") (result f64) (f64.const -0x8000000.000000ffffffffffffp-627)))
828(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
829(module (func (export "f") (result f64) (f64.const +0x8000000.000001000000000000p-627)))
830(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
831(module (func (export "f") (result f64) (f64.const -0x8000000.000001000000000000p-627)))
832(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
833(module (func (export "f") (result f64) (f64.const +0x8000000.000001000000000001p-627)))
834(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
835(module (func (export "f") (result f64) (f64.const -0x8000000.000001000000000001p-627)))
836(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
837(module (func (export "f") (result f64) (f64.const +0x8000000.0000013fffffffffffp-627)))
838(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
839(module (func (export "f") (result f64) (f64.const -0x8000000.0000013fffffffffffp-627)))
840(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
841(module (func (export "f") (result f64) (f64.const +0x8000000.000001400000000001p-627)))
842(assert_return (invoke "f") (f64.const +0x1.0000000000003p-600))
843(module (func (export "f") (result f64) (f64.const -0x8000000.000001400000000001p-627)))
844(assert_return (invoke "f") (f64.const -0x1.0000000000003p-600))
845
846(module (func (export "f") (result f64) (f64.const +5.3575430359313371995e+300)))
847(assert_return (invoke "f") (f64.const +0x1.0000000000000p+999))
848(module (func (export "f") (result f64) (f64.const -5.3575430359313371995e+300)))
849(assert_return (invoke "f") (f64.const -0x1.0000000000000p+999))
850(module (func (export "f") (result f64) (f64.const +5.3575430359313371996e+300)))
851(assert_return (invoke "f") (f64.const +0x1.0000000000001p+999))
852(module (func (export "f") (result f64) (f64.const -5.3575430359313371996e+300)))
853(assert_return (invoke "f") (f64.const -0x1.0000000000001p+999))
854(module (func (export "f") (result f64) (f64.const +5.3575430359313383891e+300)))
855(assert_return (invoke "f") (f64.const +0x1.0000000000001p+999))
856(module (func (export "f") (result f64) (f64.const -5.3575430359313383891e+300)))
857(assert_return (invoke "f") (f64.const -0x1.0000000000001p+999))
858(module (func (export "f") (result f64) (f64.const +5.3575430359313383892e+300)))
859(assert_return (invoke "f") (f64.const +0x1.0000000000002p+999))
860(module (func (export "f") (result f64) (f64.const -5.3575430359313383892e+300)))
861(assert_return (invoke "f") (f64.const -0x1.0000000000002p+999))
862
863;; f64, large exponent
864(module (func (export "f") (result f64) (f64.const +0x1.000000000000080000000000p+600)))
865(assert_return (invoke "f") (f64.const +0x1.0000000000000p+600))
866(module (func (export "f") (result f64) (f64.const -0x1.000000000000080000000000p+600)))
867(assert_return (invoke "f") (f64.const -0x1.0000000000000p+600))
868(module (func (export "f") (result f64) (f64.const +0x1.000000000000080000000001p+600)))
869(assert_return (invoke "f") (f64.const +0x1.0000000000001p+600))
870(module (func (export "f") (result f64) (f64.const -0x1.000000000000080000000001p+600)))
871(assert_return (invoke "f") (f64.const -0x1.0000000000001p+600))
872(module (func (export "f") (result f64) (f64.const +0x1.0000000000000fffffffffffp+600)))
873(assert_return (invoke "f") (f64.const +0x1.0000000000001p+600))
874(module (func (export "f") (result f64) (f64.const -0x1.0000000000000fffffffffffp+600)))
875(assert_return (invoke "f") (f64.const -0x1.0000000000001p+600))
876(module (func (export "f") (result f64) (f64.const +0x1.000000000000100000000000p+600)))
877(assert_return (invoke "f") (f64.const +0x1.0000000000001p+600))
878(module (func (export "f") (result f64) (f64.const -0x1.000000000000100000000000p+600)))
879(assert_return (invoke "f") (f64.const -0x1.0000000000001p+600))
880(module (func (export "f") (result f64) (f64.const +0x1.000000000000100000000001p+600)))
881(assert_return (invoke "f") (f64.const +0x1.0000000000001p+600))
882(module (func (export "f") (result f64) (f64.const -0x1.000000000000100000000001p+600)))
883(assert_return (invoke "f") (f64.const -0x1.0000000000001p+600))
884(module (func (export "f") (result f64) (f64.const +0x1.00000000000017ffffffffffp+600)))
885(assert_return (invoke "f") (f64.const +0x1.0000000000001p+600))
886(module (func (export "f") (result f64) (f64.const -0x1.00000000000017ffffffffffp+600)))
887(assert_return (invoke "f") (f64.const -0x1.0000000000001p+600))
888(module (func (export "f") (result f64) (f64.const +0x1.000000000000180000000000p+600)))
889(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
890(module (func (export "f") (result f64) (f64.const -0x1.000000000000180000000000p+600)))
891(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
892(module (func (export "f") (result f64) (f64.const +0x1.000000000000180000000001p+600)))
893(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
894(module (func (export "f") (result f64) (f64.const -0x1.000000000000180000000001p+600)))
895(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
896(module (func (export "f") (result f64) (f64.const +0x1.0000000000001fffffffffffp+600)))
897(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
898(module (func (export "f") (result f64) (f64.const -0x1.0000000000001fffffffffffp+600)))
899(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
900(module (func (export "f") (result f64) (f64.const +0x1.000000000000200000000000p+600)))
901(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
902(module (func (export "f") (result f64) (f64.const -0x1.000000000000200000000000p+600)))
903(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
904(module (func (export "f") (result f64) (f64.const +0x1.000000000000200000000001p+600)))
905(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
906(module (func (export "f") (result f64) (f64.const -0x1.000000000000200000000001p+600)))
907(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
908(module (func (export "f") (result f64) (f64.const +0x1.00000000000027ffffffffffp+600)))
909(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
910(module (func (export "f") (result f64) (f64.const -0x1.00000000000027ffffffffffp+600)))
911(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
912(module (func (export "f") (result f64) (f64.const +0x1.000000000000280000000000p+600)))
913(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
914(module (func (export "f") (result f64) (f64.const -0x1.000000000000280000000000p+600)))
915(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
916(module (func (export "f") (result f64) (f64.const +0x1.000000000000280000000001p+600)))
917(assert_return (invoke "f") (f64.const +0x1.0000000000003p+600))
918(module (func (export "f") (result f64) (f64.const -0x1.000000000000280000000001p+600)))
919(assert_return (invoke "f") (f64.const -0x1.0000000000003p+600))
920
921(module (func (export "f") (result f64) (f64.const +0x2000000000000100000000000)))
922(assert_return (invoke "f") (f64.const +0x1.0000000000000p+97))
923(module (func (export "f") (result f64) (f64.const -0x2000000000000100000000000)))
924(assert_return (invoke "f") (f64.const -0x1.0000000000000p+97))
925(module (func (export "f") (result f64) (f64.const +0x2000000000000100000000001)))
926(assert_return (invoke "f") (f64.const +0x1.0000000000001p+97))
927(module (func (export "f") (result f64) (f64.const -0x2000000000000100000000001)))
928(assert_return (invoke "f") (f64.const -0x1.0000000000001p+97))
929(module (func (export "f") (result f64) (f64.const +0x20000000000001fffffffffff)))
930(assert_return (invoke "f") (f64.const +0x1.0000000000001p+97))
931(module (func (export "f") (result f64) (f64.const -0x20000000000001fffffffffff)))
932(assert_return (invoke "f") (f64.const -0x1.0000000000001p+97))
933(module (func (export "f") (result f64) (f64.const +0x2000000000000200000000000)))
934(assert_return (invoke "f") (f64.const +0x1.0000000000001p+97))
935(module (func (export "f") (result f64) (f64.const -0x2000000000000200000000000)))
936(assert_return (invoke "f") (f64.const -0x1.0000000000001p+97))
937(module (func (export "f") (result f64) (f64.const +0x2000000000000200000000001)))
938(assert_return (invoke "f") (f64.const +0x1.0000000000001p+97))
939(module (func (export "f") (result f64) (f64.const -0x2000000000000200000000001)))
940(assert_return (invoke "f") (f64.const -0x1.0000000000001p+97))
941(module (func (export "f") (result f64) (f64.const +0x20000000000002fffffffffff)))
942(assert_return (invoke "f") (f64.const +0x1.0000000000001p+97))
943(module (func (export "f") (result f64) (f64.const -0x20000000000002fffffffffff)))
944(assert_return (invoke "f") (f64.const -0x1.0000000000001p+97))
945(module (func (export "f") (result f64) (f64.const +0x2000000000000300000000000)))
946(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
947(module (func (export "f") (result f64) (f64.const -0x2000000000000300000000000)))
948(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
949(module (func (export "f") (result f64) (f64.const +0x2000000000000300000000001)))
950(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
951(module (func (export "f") (result f64) (f64.const -0x2000000000000300000000001)))
952(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
953(module (func (export "f") (result f64) (f64.const +0x20000000000003fffffffffff)))
954(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
955(module (func (export "f") (result f64) (f64.const -0x20000000000003fffffffffff)))
956(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
957(module (func (export "f") (result f64) (f64.const +0x2000000000000400000000000)))
958(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
959(module (func (export "f") (result f64) (f64.const -0x2000000000000400000000000)))
960(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
961(module (func (export "f") (result f64) (f64.const +0x2000000000000400000000001)))
962(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
963(module (func (export "f") (result f64) (f64.const -0x2000000000000400000000001)))
964(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
965(module (func (export "f") (result f64) (f64.const +0x20000000000004fffffffffff)))
966(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
967(module (func (export "f") (result f64) (f64.const -0x20000000000004fffffffffff)))
968(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
969(module (func (export "f") (result f64) (f64.const +0x2000000000000500000000000)))
970(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
971(module (func (export "f") (result f64) (f64.const -0x2000000000000500000000000)))
972(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
973(module (func (export "f") (result f64) (f64.const +0x2000000000000500000000001)))
974(assert_return (invoke "f") (f64.const +0x1.0000000000003p+97))
975(module (func (export "f") (result f64) (f64.const -0x2000000000000500000000001)))
976(assert_return (invoke "f") (f64.const -0x1.0000000000003p+97))
977
978(module (func (export "f") (result f64) (f64.const +1152921504606847104)))
979(assert_return (invoke "f") (f64.const +0x1.0000000000000p+60))
980(module (func (export "f") (result f64) (f64.const -1152921504606847104)))
981(assert_return (invoke "f") (f64.const -0x1.0000000000000p+60))
982(module (func (export "f") (result f64) (f64.const +1152921504606847105)))
983(assert_return (invoke "f") (f64.const +0x1.0000000000001p+60))
984(module (func (export "f") (result f64) (f64.const -1152921504606847105)))
985(assert_return (invoke "f") (f64.const -0x1.0000000000001p+60))
986(module (func (export "f") (result f64) (f64.const +1152921504606847359)))
987(assert_return (invoke "f") (f64.const +0x1.0000000000001p+60))
988(module (func (export "f") (result f64) (f64.const -1152921504606847359)))
989(assert_return (invoke "f") (f64.const -0x1.0000000000001p+60))
990(module (func (export "f") (result f64) (f64.const +1152921504606847360)))
991(assert_return (invoke "f") (f64.const +0x1.0000000000002p+60))
992(module (func (export "f") (result f64) (f64.const -1152921504606847360)))
993(assert_return (invoke "f") (f64.const -0x1.0000000000002p+60))
994
995;; f64, subnormal
996(module (func (export "f") (result f64) (f64.const +0x0.000000000000080000000000p-1022)))
997(assert_return (invoke "f") (f64.const +0x0.0000000000000p-1022))
998(module (func (export "f") (result f64) (f64.const -0x0.000000000000080000000000p-1022)))
999(assert_return (invoke "f") (f64.const -0x0.0000000000000p-1022))
1000(module (func (export "f") (result f64) (f64.const +0x0.000000000000080000000001p-1022)))
1001(assert_return (invoke "f") (f64.const +0x0.0000000000001p-1022))
1002(module (func (export "f") (result f64) (f64.const -0x0.000000000000080000000001p-1022)))
1003(assert_return (invoke "f") (f64.const -0x0.0000000000001p-1022))
1004(module (func (export "f") (result f64) (f64.const +0x0.0000000000000fffffffffffp-1022)))
1005(assert_return (invoke "f") (f64.const +0x0.0000000000001p-1022))
1006(module (func (export "f") (result f64) (f64.const -0x0.0000000000000fffffffffffp-1022)))
1007(assert_return (invoke "f") (f64.const -0x0.0000000000001p-1022))
1008(module (func (export "f") (result f64) (f64.const +0x0.000000000000100000000000p-1022)))
1009(assert_return (invoke "f") (f64.const +0x0.0000000000001p-1022))
1010(module (func (export "f") (result f64) (f64.const -0x0.000000000000100000000000p-1022)))
1011(assert_return (invoke "f") (f64.const -0x0.0000000000001p-1022))
1012(module (func (export "f") (result f64) (f64.const +0x0.000000000000100000000001p-1022)))
1013(assert_return (invoke "f") (f64.const +0x0.0000000000001p-1022))
1014(module (func (export "f") (result f64) (f64.const -0x0.000000000000100000000001p-1022)))
1015(assert_return (invoke "f") (f64.const -0x0.0000000000001p-1022))
1016(module (func (export "f") (result f64) (f64.const +0x0.00000000000017ffffffffffp-1022)))
1017(assert_return (invoke "f") (f64.const +0x0.0000000000001p-1022))
1018(module (func (export "f") (result f64) (f64.const -0x0.00000000000017ffffffffffp-1022)))
1019(assert_return (invoke "f") (f64.const -0x0.0000000000001p-1022))
1020(module (func (export "f") (result f64) (f64.const +0x0.000000000000180000000000p-1022)))
1021(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
1022(module (func (export "f") (result f64) (f64.const -0x0.000000000000180000000000p-1022)))
1023(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
1024(module (func (export "f") (result f64) (f64.const +0x0.000000000000180000000001p-1022)))
1025(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
1026(module (func (export "f") (result f64) (f64.const -0x0.000000000000180000000001p-1022)))
1027(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
1028(module (func (export "f") (result f64) (f64.const +0x0.0000000000001fffffffffffp-1022)))
1029(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
1030(module (func (export "f") (result f64) (f64.const -0x0.0000000000001fffffffffffp-1022)))
1031(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
1032(module (func (export "f") (result f64) (f64.const +0x0.000000000000200000000000p-1022)))
1033(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
1034(module (func (export "f") (result f64) (f64.const -0x0.000000000000200000000000p-1022)))
1035(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
1036(module (func (export "f") (result f64) (f64.const +0x0.000000000000200000000001p-1022)))
1037(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
1038(module (func (export "f") (result f64) (f64.const -0x0.000000000000200000000001p-1022)))
1039(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
1040(module (func (export "f") (result f64) (f64.const +0x0.00000000000027ffffffffffp-1022)))
1041(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
1042(module (func (export "f") (result f64) (f64.const -0x0.00000000000027ffffffffffp-1022)))
1043(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
1044(module (func (export "f") (result f64) (f64.const +0x0.000000000000280000000000p-1022)))
1045(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
1046(module (func (export "f") (result f64) (f64.const -0x0.000000000000280000000000p-1022)))
1047(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
1048(module (func (export "f") (result f64) (f64.const +0x1.000000000000280000000001p-1022)))
1049(assert_return (invoke "f") (f64.const +0x1.0000000000003p-1022))
1050(module (func (export "f") (result f64) (f64.const -0x1.000000000000280000000001p-1022)))
1051(assert_return (invoke "f") (f64.const -0x1.0000000000003p-1022))
1052
1053;; f64, round down at limit to infinity
1054(module (func (export "f") (result f64) (f64.const +0x1.fffffffffffff4p1023)))
1055(assert_return (invoke "f") (f64.const +0x1.fffffffffffffp1023))
1056(module (func (export "f") (result f64) (f64.const -0x1.fffffffffffff4p1023)))
1057(assert_return (invoke "f") (f64.const -0x1.fffffffffffffp1023))
1058(module (func (export "f") (result f64) (f64.const +0x1.fffffffffffff7ffffffp1023)))
1059(assert_return (invoke "f") (f64.const +0x1.fffffffffffffp1023))
1060(module (func (export "f") (result f64) (f64.const -0x1.fffffffffffff7ffffffp1023)))
1061(assert_return (invoke "f") (f64.const -0x1.fffffffffffffp1023))
View as plain text