...
1;; Test t.const instructions
2
3;; Syntax error
4
5(module (func (i32.const 0xffffffff) drop))
6(module (func (i32.const -0x80000000) drop))
7(assert_malformed
8 (module quote "(func (i32.const 0x100000000) drop)")
9 "constant out of range"
10)
11(assert_malformed
12 (module quote "(func (i32.const -0x80000001) drop)")
13 "constant out of range"
14)
15
16(module (func (i32.const 4294967295) drop))
17(module (func (i32.const -2147483648) drop))
18(assert_malformed
19 (module quote "(func (i32.const 4294967296) drop)")
20 "constant out of range"
21)
22(assert_malformed
23 (module quote "(func (i32.const -2147483649) drop)")
24 "constant out of range"
25)
26
27(module (func (i64.const 0xffffffffffffffff) drop))
28(module (func (i64.const -0x8000000000000000) drop))
29(assert_malformed
30 (module quote "(func (i64.const 0x10000000000000000) drop)")
31 "constant out of range"
32)
33(assert_malformed
34 (module quote "(func (i64.const -0x8000000000000001) drop)")
35 "constant out of range"
36)
37
38(module (func (i64.const 18446744073709551615) drop))
39(module (func (i64.const -9223372036854775808) drop))
40(assert_malformed
41 (module quote "(func (i64.const 18446744073709551616) drop)")
42 "constant out of range"
43)
44(assert_malformed
45 (module quote "(func (i64.const -9223372036854775809) drop)")
46 "constant out of range"
47)
48
49(module (func (f32.const 0x1p127) drop))
50(module (func (f32.const -0x1p127) drop))
51(module (func (f32.const 0x1.fffffep127) drop))
52(module (func (f32.const -0x1.fffffep127) drop))
53(module (func (f32.const 0x1.fffffe7p127) drop))
54(module (func (f32.const -0x1.fffffe7p127) drop))
55(module (func (f32.const 0x1.fffffefffffff8000000p127) drop))
56(module (func (f32.const -0x1.fffffefffffff8000000p127) drop))
57(module (func (f32.const 0x1.fffffefffffffffffffp127) drop))
58(module (func (f32.const -0x1.fffffefffffffffffffp127) drop))
59(assert_malformed
60 (module quote "(func (f32.const 0x1p128) drop)")
61 "constant out of range"
62)
63(assert_malformed
64 (module quote "(func (f32.const -0x1p128) drop)")
65 "constant out of range"
66)
67(assert_malformed
68 (module quote "(func (f32.const 0x1.ffffffp127) drop)")
69 "constant out of range"
70)
71(assert_malformed
72 (module quote "(func (f32.const -0x1.ffffffp127) drop)")
73 "constant out of range"
74)
75
76(module (func (f32.const 1e38) drop))
77(module (func (f32.const -1e38) drop))
78(assert_malformed
79 (module quote "(func (f32.const 1e39) drop)")
80 "constant out of range"
81)
82(assert_malformed
83 (module quote "(func (f32.const -1e39) drop)")
84 "constant out of range"
85)
86
87(module (func (f32.const 340282356779733623858607532500980858880) drop))
88(module (func (f32.const -340282356779733623858607532500980858880) drop))
89(assert_malformed
90 (module quote "(func (f32.const 340282356779733661637539395458142568448) drop)")
91 "constant out of range"
92)
93(assert_malformed
94 (module quote "(func (f32.const -340282356779733661637539395458142568448) drop)")
95 "constant out of range"
96)
97
98(module (func (f64.const 0x1p1023) drop))
99(module (func (f64.const -0x1p1023) drop))
100(module (func (f64.const 0x1.fffffffffffffp1023) drop))
101(module (func (f64.const -0x1.fffffffffffffp1023) drop))
102(module (func (f64.const 0x1.fffffffffffff7p1023) drop))
103(module (func (f64.const -0x1.fffffffffffff7p1023) drop))
104(module (func (f64.const 0x1.fffffffffffff7ffffffp1023) drop))
105(module (func (f64.const -0x1.fffffffffffff7ffffffp1023) drop))
106(assert_malformed
107 (module quote "(func (f64.const 0x1p1024) drop)")
108 "constant out of range"
109)
110(assert_malformed
111 (module quote "(func (f64.const -0x1p1024) drop)")
112 "constant out of range"
113)
114(assert_malformed
115 (module quote "(func (f64.const 0x1.fffffffffffff8p1023) drop)")
116 "constant out of range"
117)
118(assert_malformed
119 (module quote "(func (f64.const -0x1.fffffffffffff8p1023) drop)")
120 "constant out of range"
121)
122
123(module (func (f64.const 1e308) drop))
124(module (func (f64.const -1e308) drop))
125(assert_malformed
126 (module quote "(func (f64.const 1e309) drop)")
127 "constant out of range"
128)
129(assert_malformed
130 (module quote "(func (f64.const -1e309) drop)")
131 "constant out of range"
132)
133
134(module (func (f64.const 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368) drop))
135(module (func (f64.const -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368) drop))
136(assert_malformed
137 (module quote "(func (f64.const 269653970229347356221791135597556535197105851288767494898376215204735891170042808140884337949150317257310688430271573696351481990334196274152701320055306275479074865864826923114368235135583993416113802762682700913456874855354834422248712838998185022412196739306217084753107265771378949821875606039276187287552) drop)")
138 "constant out of range"
139)
140(assert_malformed
141 (module quote "(func (f64.const -269653970229347356221791135597556535197105851288767494898376215204735891170042808140884337949150317257310688430271573696351481990334196274152701320055306275479074865864826923114368235135583993416113802762682700913456874855354834422248712838998185022412196739306217084753107265771378949821875606039276187287552) drop)")
142 "constant out of range"
143)
144
145(module (func (f32.const nan:0x1) drop))
146(module (func (f64.const nan:0x1) drop))
147(module (func (f32.const nan:0x7f_ffff) drop))
148(module (func (f64.const nan:0xf_ffff_ffff_ffff) drop))
149
150(assert_malformed
151 (module quote "(func (f32.const nan:1) drop)")
152 "unknown operator"
153)
154(assert_malformed
155 (module quote "(func (f64.const nan:1) drop)")
156 "unknown operator"
157)
158
159(assert_malformed
160 (module quote "(func (f32.const nan:0x0) drop)")
161 "constant out of range"
162)
163(assert_malformed
164 (module quote "(func (f64.const nan:0x0) drop)")
165 "constant out of range"
166)
167
168(assert_malformed
169 (module quote "(func (f32.const nan:0x80_0000) drop)")
170 "constant out of range"
171)
172(assert_malformed
173 (module quote "(func (f64.const nan:0x10_0000_0000_0000) drop)")
174 "constant out of range"
175)
176
177
178;; Rounding behaviour
179
180;; f32, small exponent
181(module (func (export "f") (result f32) (f32.const +0x1.00000100000000000p-50)))
182(assert_return (invoke "f") (f32.const +0x1.000000p-50))
183(module (func (export "f") (result f32) (f32.const -0x1.00000100000000000p-50)))
184(assert_return (invoke "f") (f32.const -0x1.000000p-50))
185(module (func (export "f") (result f32) (f32.const +0x1.00000100000000001p-50)))
186(assert_return (invoke "f") (f32.const +0x1.000002p-50))
187(module (func (export "f") (result f32) (f32.const -0x1.00000100000000001p-50)))
188(assert_return (invoke "f") (f32.const -0x1.000002p-50))
189(module (func (export "f") (result f32) (f32.const +0x1.000001fffffffffffp-50)))
190(assert_return (invoke "f") (f32.const +0x1.000002p-50))
191(module (func (export "f") (result f32) (f32.const -0x1.000001fffffffffffp-50)))
192(assert_return (invoke "f") (f32.const -0x1.000002p-50))
193(module (func (export "f") (result f32) (f32.const +0x1.00000200000000000p-50)))
194(assert_return (invoke "f") (f32.const +0x1.000002p-50))
195(module (func (export "f") (result f32) (f32.const -0x1.00000200000000000p-50)))
196(assert_return (invoke "f") (f32.const -0x1.000002p-50))
197(module (func (export "f") (result f32) (f32.const +0x1.00000200000000001p-50)))
198(assert_return (invoke "f") (f32.const +0x1.000002p-50))
199(module (func (export "f") (result f32) (f32.const -0x1.00000200000000001p-50)))
200(assert_return (invoke "f") (f32.const -0x1.000002p-50))
201(module (func (export "f") (result f32) (f32.const +0x1.000002fffffffffffp-50)))
202(assert_return (invoke "f") (f32.const +0x1.000002p-50))
203(module (func (export "f") (result f32) (f32.const -0x1.000002fffffffffffp-50)))
204(assert_return (invoke "f") (f32.const -0x1.000002p-50))
205(module (func (export "f") (result f32) (f32.const +0x1.00000300000000000p-50)))
206(assert_return (invoke "f") (f32.const +0x1.000004p-50))
207(module (func (export "f") (result f32) (f32.const -0x1.00000300000000000p-50)))
208(assert_return (invoke "f") (f32.const -0x1.000004p-50))
209(module (func (export "f") (result f32) (f32.const +0x1.00000300000000001p-50)))
210(assert_return (invoke "f") (f32.const +0x1.000004p-50))
211(module (func (export "f") (result f32) (f32.const -0x1.00000300000000001p-50)))
212(assert_return (invoke "f") (f32.const -0x1.000004p-50))
213(module (func (export "f") (result f32) (f32.const +0x1.000003fffffffffffp-50)))
214(assert_return (invoke "f") (f32.const +0x1.000004p-50))
215(module (func (export "f") (result f32) (f32.const -0x1.000003fffffffffffp-50)))
216(assert_return (invoke "f") (f32.const -0x1.000004p-50))
217(module (func (export "f") (result f32) (f32.const +0x1.00000400000000000p-50)))
218(assert_return (invoke "f") (f32.const +0x1.000004p-50))
219(module (func (export "f") (result f32) (f32.const -0x1.00000400000000000p-50)))
220(assert_return (invoke "f") (f32.const -0x1.000004p-50))
221(module (func (export "f") (result f32) (f32.const +0x1.00000400000000001p-50)))
222(assert_return (invoke "f") (f32.const +0x1.000004p-50))
223(module (func (export "f") (result f32) (f32.const -0x1.00000400000000001p-50)))
224(assert_return (invoke "f") (f32.const -0x1.000004p-50))
225(module (func (export "f") (result f32) (f32.const +0x1.000004fffffffffffp-50)))
226(assert_return (invoke "f") (f32.const +0x1.000004p-50))
227(module (func (export "f") (result f32) (f32.const -0x1.000004fffffffffffp-50)))
228(assert_return (invoke "f") (f32.const -0x1.000004p-50))
229(module (func (export "f") (result f32) (f32.const +0x1.00000500000000000p-50)))
230(assert_return (invoke "f") (f32.const +0x1.000004p-50))
231(module (func (export "f") (result f32) (f32.const -0x1.00000500000000000p-50)))
232(assert_return (invoke "f") (f32.const -0x1.000004p-50))
233(module (func (export "f") (result f32) (f32.const +0x1.00000500000000001p-50)))
234(assert_return (invoke "f") (f32.const +0x1.000006p-50))
235(module (func (export "f") (result f32) (f32.const -0x1.00000500000000001p-50)))
236(assert_return (invoke "f") (f32.const -0x1.000006p-50))
237
238(module (func (export "f") (result f32) (f32.const +0x4000.004000000p-64)))
239(assert_return (invoke "f") (f32.const +0x1.000000p-50))
240(module (func (export "f") (result f32) (f32.const -0x4000.004000000p-64)))
241(assert_return (invoke "f") (f32.const -0x1.000000p-50))
242(module (func (export "f") (result f32) (f32.const +0x4000.004000001p-64)))
243(assert_return (invoke "f") (f32.const +0x1.000002p-50))
244(module (func (export "f") (result f32) (f32.const -0x4000.004000001p-64)))
245(assert_return (invoke "f") (f32.const -0x1.000002p-50))
246(module (func (export "f") (result f32) (f32.const +0x4000.007ffffffp-64)))
247(assert_return (invoke "f") (f32.const +0x1.000002p-50))
248(module (func (export "f") (result f32) (f32.const -0x4000.007ffffffp-64)))
249(assert_return (invoke "f") (f32.const -0x1.000002p-50))
250(module (func (export "f") (result f32) (f32.const +0x4000.008000000p-64)))
251(assert_return (invoke "f") (f32.const +0x1.000002p-50))
252(module (func (export "f") (result f32) (f32.const -0x4000.008000000p-64)))
253(assert_return (invoke "f") (f32.const -0x1.000002p-50))
254(module (func (export "f") (result f32) (f32.const +0x4000.008000001p-64)))
255(assert_return (invoke "f") (f32.const +0x1.000002p-50))
256(module (func (export "f") (result f32) (f32.const -0x4000.008000001p-64)))
257(assert_return (invoke "f") (f32.const -0x1.000002p-50))
258(module (func (export "f") (result f32) (f32.const +0x4000.00bffffffp-64)))
259(assert_return (invoke "f") (f32.const +0x1.000002p-50))
260(module (func (export "f") (result f32) (f32.const -0x4000.00bffffffp-64)))
261(assert_return (invoke "f") (f32.const -0x1.000002p-50))
262(module (func (export "f") (result f32) (f32.const +0x4000.00c000000p-64)))
263(assert_return (invoke "f") (f32.const +0x1.000004p-50))
264(module (func (export "f") (result f32) (f32.const -0x4000.00c000000p-64)))
265(assert_return (invoke "f") (f32.const -0x1.000004p-50))
266(module (func (export "f") (result f32) (f32.const +0x4000.00c000001p-64)))
267(assert_return (invoke "f") (f32.const +0x1.000004p-50))
268(module (func (export "f") (result f32) (f32.const -0x4000.00c000001p-64)))
269(assert_return (invoke "f") (f32.const -0x1.000004p-50))
270(module (func (export "f") (result f32) (f32.const +0x4000.00fffffffp-64)))
271(assert_return (invoke "f") (f32.const +0x1.000004p-50))
272(module (func (export "f") (result f32) (f32.const -0x4000.00fffffffp-64)))
273(assert_return (invoke "f") (f32.const -0x1.000004p-50))
274(module (func (export "f") (result f32) (f32.const +0x4000.010000001p-64)))
275(assert_return (invoke "f") (f32.const +0x1.000004p-50))
276(module (func (export "f") (result f32) (f32.const -0x4000.010000001p-64)))
277(assert_return (invoke "f") (f32.const -0x1.000004p-50))
278(module (func (export "f") (result f32) (f32.const +0x4000.013ffffffp-64)))
279(assert_return (invoke "f") (f32.const +0x1.000004p-50))
280(module (func (export "f") (result f32) (f32.const -0x4000.013ffffffp-64)))
281(assert_return (invoke "f") (f32.const -0x1.000004p-50))
282(module (func (export "f") (result f32) (f32.const +0x4000.014000001p-64)))
283(assert_return (invoke "f") (f32.const +0x1.000006p-50))
284(module (func (export "f") (result f32) (f32.const -0x4000.014000001p-64)))
285(assert_return (invoke "f") (f32.const -0x1.000006p-50))
286
287(module (func (export "f") (result f32) (f32.const +8.8817847263968443573e-16)))
288(assert_return (invoke "f") (f32.const +0x1.000000p-50))
289(module (func (export "f") (result f32) (f32.const -8.8817847263968443573e-16)))
290(assert_return (invoke "f") (f32.const -0x1.000000p-50))
291(module (func (export "f") (result f32) (f32.const +8.8817847263968443574e-16)))
292(assert_return (invoke "f") (f32.const +0x1.000002p-50))
293(module (func (export "f") (result f32) (f32.const -8.8817847263968443574e-16)))
294(assert_return (invoke "f") (f32.const -0x1.000002p-50))
295(module (func (export "f") (result f32) (f32.const +8.8817857851880284252e-16)))
296(assert_return (invoke "f") (f32.const +0x1.000002p-50))
297(module (func (export "f") (result f32) (f32.const -8.8817857851880284252e-16)))
298(assert_return (invoke "f") (f32.const -0x1.000002p-50))
299(module (func (export "f") (result f32) (f32.const +8.8817857851880284253e-16)))
300(assert_return (invoke "f") (f32.const +0x1.000004p-50))
301(module (func (export "f") (result f32) (f32.const -8.8817857851880284253e-16)))
302(assert_return (invoke "f") (f32.const -0x1.000004p-50))
303
304;; f32, large exponent
305(module (func (export "f") (result f32) (f32.const +0x1.00000100000000000p+50)))
306(assert_return (invoke "f") (f32.const +0x1.000000p+50))
307(module (func (export "f") (result f32) (f32.const -0x1.00000100000000000p+50)))
308(assert_return (invoke "f") (f32.const -0x1.000000p+50))
309(module (func (export "f") (result f32) (f32.const +0x1.00000100000000001p+50)))
310(assert_return (invoke "f") (f32.const +0x1.000002p+50))
311(module (func (export "f") (result f32) (f32.const -0x1.00000100000000001p+50)))
312(assert_return (invoke "f") (f32.const -0x1.000002p+50))
313(module (func (export "f") (result f32) (f32.const +0x1.000001fffffffffffp+50)))
314(assert_return (invoke "f") (f32.const +0x1.000002p+50))
315(module (func (export "f") (result f32) (f32.const -0x1.000001fffffffffffp+50)))
316(assert_return (invoke "f") (f32.const -0x1.000002p+50))
317(module (func (export "f") (result f32) (f32.const +0x1.00000200000000000p+50)))
318(assert_return (invoke "f") (f32.const +0x1.000002p+50))
319(module (func (export "f") (result f32) (f32.const -0x1.00000200000000000p+50)))
320(assert_return (invoke "f") (f32.const -0x1.000002p+50))
321(module (func (export "f") (result f32) (f32.const +0x1.00000200000000001p+50)))
322(assert_return (invoke "f") (f32.const +0x1.000002p+50))
323(module (func (export "f") (result f32) (f32.const -0x1.00000200000000001p+50)))
324(assert_return (invoke "f") (f32.const -0x1.000002p+50))
325(module (func (export "f") (result f32) (f32.const +0x1.000002fffffffffffp+50)))
326(assert_return (invoke "f") (f32.const +0x1.000002p+50))
327(module (func (export "f") (result f32) (f32.const -0x1.000002fffffffffffp+50)))
328(assert_return (invoke "f") (f32.const -0x1.000002p+50))
329(module (func (export "f") (result f32) (f32.const +0x1.00000300000000000p+50)))
330(assert_return (invoke "f") (f32.const +0x1.000004p+50))
331(module (func (export "f") (result f32) (f32.const -0x1.00000300000000000p+50)))
332(assert_return (invoke "f") (f32.const -0x1.000004p+50))
333(module (func (export "f") (result f32) (f32.const +0x1.00000300000000001p+50)))
334(assert_return (invoke "f") (f32.const +0x1.000004p+50))
335(module (func (export "f") (result f32) (f32.const -0x1.00000300000000001p+50)))
336(assert_return (invoke "f") (f32.const -0x1.000004p+50))
337(module (func (export "f") (result f32) (f32.const +0x1.000003fffffffffffp+50)))
338(assert_return (invoke "f") (f32.const +0x1.000004p+50))
339(module (func (export "f") (result f32) (f32.const -0x1.000003fffffffffffp+50)))
340(assert_return (invoke "f") (f32.const -0x1.000004p+50))
341(module (func (export "f") (result f32) (f32.const +0x1.00000400000000000p+50)))
342(assert_return (invoke "f") (f32.const +0x1.000004p+50))
343(module (func (export "f") (result f32) (f32.const -0x1.00000400000000000p+50)))
344(assert_return (invoke "f") (f32.const -0x1.000004p+50))
345(module (func (export "f") (result f32) (f32.const +0x1.00000400000000001p+50)))
346(assert_return (invoke "f") (f32.const +0x1.000004p+50))
347(module (func (export "f") (result f32) (f32.const -0x1.00000400000000001p+50)))
348(assert_return (invoke "f") (f32.const -0x1.000004p+50))
349(module (func (export "f") (result f32) (f32.const +0x1.000004fffffffffffp+50)))
350(assert_return (invoke "f") (f32.const +0x1.000004p+50))
351(module (func (export "f") (result f32) (f32.const -0x1.000004fffffffffffp+50)))
352(assert_return (invoke "f") (f32.const -0x1.000004p+50))
353(module (func (export "f") (result f32) (f32.const +0x1.00000500000000000p+50)))
354(assert_return (invoke "f") (f32.const +0x1.000004p+50))
355(module (func (export "f") (result f32) (f32.const -0x1.00000500000000000p+50)))
356(assert_return (invoke "f") (f32.const -0x1.000004p+50))
357(module (func (export "f") (result f32) (f32.const +0x1.00000500000000001p+50)))
358(assert_return (invoke "f") (f32.const +0x1.000006p+50))
359(module (func (export "f") (result f32) (f32.const -0x1.00000500000000001p+50)))
360(assert_return (invoke "f") (f32.const -0x1.000006p+50))
361
362(module (func (export "f") (result f32) (f32.const +0x4000004000000)))
363(assert_return (invoke "f") (f32.const +0x1.000000p+50))
364(module (func (export "f") (result f32) (f32.const -0x4000004000000)))
365(assert_return (invoke "f") (f32.const -0x1.000000p+50))
366(module (func (export "f") (result f32) (f32.const +0x4000004000001)))
367(assert_return (invoke "f") (f32.const +0x1.000002p+50))
368(module (func (export "f") (result f32) (f32.const -0x4000004000001)))
369(assert_return (invoke "f") (f32.const -0x1.000002p+50))
370(module (func (export "f") (result f32) (f32.const +0x4000007ffffff)))
371(assert_return (invoke "f") (f32.const +0x1.000002p+50))
372(module (func (export "f") (result f32) (f32.const -0x4000007ffffff)))
373(assert_return (invoke "f") (f32.const -0x1.000002p+50))
374(module (func (export "f") (result f32) (f32.const +0x4000008000000)))
375(assert_return (invoke "f") (f32.const +0x1.000002p+50))
376(module (func (export "f") (result f32) (f32.const -0x4000008000000)))
377(assert_return (invoke "f") (f32.const -0x1.000002p+50))
378(module (func (export "f") (result f32) (f32.const +0x4000008000001)))
379(assert_return (invoke "f") (f32.const +0x1.000002p+50))
380(module (func (export "f") (result f32) (f32.const -0x4000008000001)))
381(assert_return (invoke "f") (f32.const -0x1.000002p+50))
382(module (func (export "f") (result f32) (f32.const +0x400000bffffff)))
383(assert_return (invoke "f") (f32.const +0x1.000002p+50))
384(module (func (export "f") (result f32) (f32.const -0x400000bffffff)))
385(assert_return (invoke "f") (f32.const -0x1.000002p+50))
386(module (func (export "f") (result f32) (f32.const +0x400000c000000)))
387(assert_return (invoke "f") (f32.const +0x1.000004p+50))
388(module (func (export "f") (result f32) (f32.const -0x400000c000000)))
389(assert_return (invoke "f") (f32.const -0x1.000004p+50))
390
391(module (func (export "f") (result f32) (f32.const +1125899973951488)))
392(assert_return (invoke "f") (f32.const +0x1.000000p+50))
393(module (func (export "f") (result f32) (f32.const -1125899973951488)))
394(assert_return (invoke "f") (f32.const -0x1.000000p+50))
395(module (func (export "f") (result f32) (f32.const +1125899973951489)))
396(assert_return (invoke "f") (f32.const +0x1.000002p+50))
397(module (func (export "f") (result f32) (f32.const -1125899973951489)))
398(assert_return (invoke "f") (f32.const -0x1.000002p+50))
399(module (func (export "f") (result f32) (f32.const +1125900108169215)))
400(assert_return (invoke "f") (f32.const +0x1.000002p+50))
401(module (func (export "f") (result f32) (f32.const -1125900108169215)))
402(assert_return (invoke "f") (f32.const -0x1.000002p+50))
403(module (func (export "f") (result f32) (f32.const +1125900108169216)))
404(assert_return (invoke "f") (f32.const +0x1.000004p+50))
405(module (func (export "f") (result f32) (f32.const -1125900108169216)))
406(assert_return (invoke "f") (f32.const -0x1.000004p+50))
407
408;; f32, subnormal
409(module (func (export "f") (result f32) (f32.const +0x0.00000100000000000p-126)))
410(assert_return (invoke "f") (f32.const +0x0.000000p-126))
411(module (func (export "f") (result f32) (f32.const -0x0.00000100000000000p-126)))
412(assert_return (invoke "f") (f32.const -0x0.000000p-126))
413(module (func (export "f") (result f32) (f32.const +0x0.00000100000000001p-126)))
414(assert_return (invoke "f") (f32.const +0x0.000002p-126))
415(module (func (export "f") (result f32) (f32.const -0x0.00000100000000001p-126)))
416(assert_return (invoke "f") (f32.const -0x0.000002p-126))
417(module (func (export "f") (result f32) (f32.const +0x0.000001fffffffffffp-126)))
418(assert_return (invoke "f") (f32.const +0x0.000002p-126))
419(module (func (export "f") (result f32) (f32.const -0x0.000001fffffffffffp-126)))
420(assert_return (invoke "f") (f32.const -0x0.000002p-126))
421(module (func (export "f") (result f32) (f32.const +0x0.00000200000000000p-126)))
422(assert_return (invoke "f") (f32.const +0x0.000002p-126))
423(module (func (export "f") (result f32) (f32.const -0x0.00000200000000000p-126)))
424(assert_return (invoke "f") (f32.const -0x0.000002p-126))
425(module (func (export "f") (result f32) (f32.const +0x0.00000200000000001p-126)))
426(assert_return (invoke "f") (f32.const +0x0.000002p-126))
427(module (func (export "f") (result f32) (f32.const -0x0.00000200000000001p-126)))
428(assert_return (invoke "f") (f32.const -0x0.000002p-126))
429(module (func (export "f") (result f32) (f32.const +0x0.000002fffffffffffp-126)))
430(assert_return (invoke "f") (f32.const +0x0.000002p-126))
431(module (func (export "f") (result f32) (f32.const -0x0.000002fffffffffffp-126)))
432(assert_return (invoke "f") (f32.const -0x0.000002p-126))
433(module (func (export "f") (result f32) (f32.const +0x0.00000300000000000p-126)))
434(assert_return (invoke "f") (f32.const +0x0.000004p-126))
435(module (func (export "f") (result f32) (f32.const -0x0.00000300000000000p-126)))
436(assert_return (invoke "f") (f32.const -0x0.000004p-126))
437(module (func (export "f") (result f32) (f32.const +0x0.00000300000000001p-126)))
438(assert_return (invoke "f") (f32.const +0x0.000004p-126))
439(module (func (export "f") (result f32) (f32.const -0x0.00000300000000001p-126)))
440(assert_return (invoke "f") (f32.const -0x0.000004p-126))
441(module (func (export "f") (result f32) (f32.const +0x0.000003fffffffffffp-126)))
442(assert_return (invoke "f") (f32.const +0x0.000004p-126))
443(module (func (export "f") (result f32) (f32.const -0x0.000003fffffffffffp-126)))
444(assert_return (invoke "f") (f32.const -0x0.000004p-126))
445(module (func (export "f") (result f32) (f32.const +0x0.00000400000000000p-126)))
446(assert_return (invoke "f") (f32.const +0x0.000004p-126))
447(module (func (export "f") (result f32) (f32.const -0x0.00000400000000000p-126)))
448(assert_return (invoke "f") (f32.const -0x0.000004p-126))
449(module (func (export "f") (result f32) (f32.const +0x0.00000400000000001p-126)))
450(assert_return (invoke "f") (f32.const +0x0.000004p-126))
451(module (func (export "f") (result f32) (f32.const -0x0.00000400000000001p-126)))
452(assert_return (invoke "f") (f32.const -0x0.000004p-126))
453(module (func (export "f") (result f32) (f32.const +0x0.000004fffffffffffp-126)))
454(assert_return (invoke "f") (f32.const +0x0.000004p-126))
455(module (func (export "f") (result f32) (f32.const -0x0.000004fffffffffffp-126)))
456(assert_return (invoke "f") (f32.const -0x0.000004p-126))
457(module (func (export "f") (result f32) (f32.const +0x0.00000500000000000p-126)))
458(assert_return (invoke "f") (f32.const +0x0.000004p-126))
459(module (func (export "f") (result f32) (f32.const -0x0.00000500000000000p-126)))
460(assert_return (invoke "f") (f32.const -0x0.000004p-126))
461(module (func (export "f") (result f32) (f32.const +0x0.00000500000000001p-126)))
462(assert_return (invoke "f") (f32.const +0x0.000006p-126))
463(module (func (export "f") (result f32) (f32.const -0x0.00000500000000001p-126)))
464(assert_return (invoke "f") (f32.const -0x0.000006p-126))
465
466;; f32, round down at limit to infinity
467(module (func (export "f") (result f32) (f32.const +0x1.fffffe8p127)))
468(assert_return (invoke "f") (f32.const +0x1.fffffep127))
469(module (func (export "f") (result f32) (f32.const -0x1.fffffe8p127)))
470(assert_return (invoke "f") (f32.const -0x1.fffffep127))
471(module (func (export "f") (result f32) (f32.const +0x1.fffffefffffff8p127)))
472(assert_return (invoke "f") (f32.const +0x1.fffffep127))
473(module (func (export "f") (result f32) (f32.const -0x1.fffffefffffff8p127)))
474(assert_return (invoke "f") (f32.const -0x1.fffffep127))
475(module (func (export "f") (result f32) (f32.const +0x1.fffffefffffffffffp127)))
476(assert_return (invoke "f") (f32.const +0x1.fffffep127))
477(module (func (export "f") (result f32) (f32.const -0x1.fffffefffffffffffp127)))
478(assert_return (invoke "f") (f32.const -0x1.fffffep127))
479
480;; f64, small exponent
481(module (func (export "f") (result f64) (f64.const +0x1.000000000000080000000000p-600)))
482(assert_return (invoke "f") (f64.const +0x1.0000000000000p-600))
483(module (func (export "f") (result f64) (f64.const -0x1.000000000000080000000000p-600)))
484(assert_return (invoke "f") (f64.const -0x1.0000000000000p-600))
485(module (func (export "f") (result f64) (f64.const +0x1.000000000000080000000001p-600)))
486(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
487(module (func (export "f") (result f64) (f64.const -0x1.000000000000080000000001p-600)))
488(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
489(module (func (export "f") (result f64) (f64.const +0x1.0000000000000fffffffffffp-600)))
490(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
491(module (func (export "f") (result f64) (f64.const -0x1.0000000000000fffffffffffp-600)))
492(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
493(module (func (export "f") (result f64) (f64.const +0x1.000000000000100000000000p-600)))
494(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
495(module (func (export "f") (result f64) (f64.const -0x1.000000000000100000000000p-600)))
496(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
497(module (func (export "f") (result f64) (f64.const +0x1.000000000000100000000001p-600)))
498(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
499(module (func (export "f") (result f64) (f64.const -0x1.000000000000100000000001p-600)))
500(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
501(module (func (export "f") (result f64) (f64.const +0x1.00000000000017ffffffffffp-600)))
502(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
503(module (func (export "f") (result f64) (f64.const -0x1.00000000000017ffffffffffp-600)))
504(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
505(module (func (export "f") (result f64) (f64.const +0x1.000000000000180000000000p-600)))
506(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
507(module (func (export "f") (result f64) (f64.const -0x1.000000000000180000000000p-600)))
508(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
509(module (func (export "f") (result f64) (f64.const +0x1.000000000000180000000001p-600)))
510(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
511(module (func (export "f") (result f64) (f64.const -0x1.000000000000180000000001p-600)))
512(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
513(module (func (export "f") (result f64) (f64.const +0x1.0000000000001fffffffffffp-600)))
514(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
515(module (func (export "f") (result f64) (f64.const -0x1.0000000000001fffffffffffp-600)))
516(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
517(module (func (export "f") (result f64) (f64.const +0x1.000000000000200000000000p-600)))
518(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
519(module (func (export "f") (result f64) (f64.const -0x1.000000000000200000000000p-600)))
520(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
521(module (func (export "f") (result f64) (f64.const +0x1.000000000000200000000001p-600)))
522(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
523(module (func (export "f") (result f64) (f64.const -0x1.000000000000200000000001p-600)))
524(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
525(module (func (export "f") (result f64) (f64.const +0x1.00000000000027ffffffffffp-600)))
526(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
527(module (func (export "f") (result f64) (f64.const -0x1.00000000000027ffffffffffp-600)))
528(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
529(module (func (export "f") (result f64) (f64.const +0x1.000000000000280000000001p-600)))
530(assert_return (invoke "f") (f64.const +0x1.0000000000003p-600))
531(module (func (export "f") (result f64) (f64.const -0x1.000000000000280000000001p-600)))
532(assert_return (invoke "f") (f64.const -0x1.0000000000003p-600))
533
534(module (func (export "f") (result f64) (f64.const +0x8000000.000000400000000000p-627)))
535(assert_return (invoke "f") (f64.const +0x1.0000000000000p-600))
536(module (func (export "f") (result f64) (f64.const -0x8000000.000000400000000000p-627)))
537(assert_return (invoke "f") (f64.const -0x1.0000000000000p-600))
538(module (func (export "f") (result f64) (f64.const +0x8000000.000000400000000001p-627)))
539(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
540(module (func (export "f") (result f64) (f64.const -0x8000000.000000400000000001p-627)))
541(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
542(module (func (export "f") (result f64) (f64.const +0x8000000.0000007fffffffffffp-627)))
543(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
544(module (func (export "f") (result f64) (f64.const -0x8000000.0000007fffffffffffp-627)))
545(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
546(module (func (export "f") (result f64) (f64.const +0x8000000.000000800000000000p-627)))
547(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
548(module (func (export "f") (result f64) (f64.const -0x8000000.000000800000000000p-627)))
549(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
550(module (func (export "f") (result f64) (f64.const +0x8000000.000000800000000001p-627)))
551(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
552(module (func (export "f") (result f64) (f64.const -0x8000000.000000800000000001p-627)))
553(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
554(module (func (export "f") (result f64) (f64.const +0x8000000.000000bfffffffffffp-627)))
555(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
556(module (func (export "f") (result f64) (f64.const -0x8000000.000000bfffffffffffp-627)))
557(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
558(module (func (export "f") (result f64) (f64.const +0x8000000.000000c00000000000p-627)))
559(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
560(module (func (export "f") (result f64) (f64.const -0x8000000.000000c00000000000p-627)))
561(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
562(module (func (export "f") (result f64) (f64.const +0x8000000.000000c00000000001p-627)))
563(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
564(module (func (export "f") (result f64) (f64.const -0x8000000.000000c00000000001p-627)))
565(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
566(module (func (export "f") (result f64) (f64.const +0x8000000.000000ffffffffffffp-627)))
567(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
568(module (func (export "f") (result f64) (f64.const -0x8000000.000000ffffffffffffp-627)))
569(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
570(module (func (export "f") (result f64) (f64.const +0x8000000.000001000000000000p-627)))
571(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
572(module (func (export "f") (result f64) (f64.const -0x8000000.000001000000000000p-627)))
573(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
574(module (func (export "f") (result f64) (f64.const +0x8000000.000001000000000001p-627)))
575(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
576(module (func (export "f") (result f64) (f64.const -0x8000000.000001000000000001p-627)))
577(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
578(module (func (export "f") (result f64) (f64.const +0x8000000.0000013fffffffffffp-627)))
579(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
580(module (func (export "f") (result f64) (f64.const -0x8000000.0000013fffffffffffp-627)))
581(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
582(module (func (export "f") (result f64) (f64.const +0x8000000.000001400000000001p-627)))
583(assert_return (invoke "f") (f64.const +0x1.0000000000003p-600))
584(module (func (export "f") (result f64) (f64.const -0x8000000.000001400000000001p-627)))
585(assert_return (invoke "f") (f64.const -0x1.0000000000003p-600))
586
587(module (func (export "f") (result f64) (f64.const +5.3575430359313371995e+300)))
588(assert_return (invoke "f") (f64.const +0x1.0000000000000p+999))
589(module (func (export "f") (result f64) (f64.const -5.3575430359313371995e+300)))
590(assert_return (invoke "f") (f64.const -0x1.0000000000000p+999))
591(module (func (export "f") (result f64) (f64.const +5.3575430359313371996e+300)))
592(assert_return (invoke "f") (f64.const +0x1.0000000000001p+999))
593(module (func (export "f") (result f64) (f64.const -5.3575430359313371996e+300)))
594(assert_return (invoke "f") (f64.const -0x1.0000000000001p+999))
595(module (func (export "f") (result f64) (f64.const +5.3575430359313383891e+300)))
596(assert_return (invoke "f") (f64.const +0x1.0000000000001p+999))
597(module (func (export "f") (result f64) (f64.const -5.3575430359313383891e+300)))
598(assert_return (invoke "f") (f64.const -0x1.0000000000001p+999))
599(module (func (export "f") (result f64) (f64.const +5.3575430359313383892e+300)))
600(assert_return (invoke "f") (f64.const +0x1.0000000000002p+999))
601(module (func (export "f") (result f64) (f64.const -5.3575430359313383892e+300)))
602(assert_return (invoke "f") (f64.const -0x1.0000000000002p+999))
603
604;; f64, large exponent
605(module (func (export "f") (result f64) (f64.const +0x1.000000000000080000000000p+600)))
606(assert_return (invoke "f") (f64.const +0x1.0000000000000p+600))
607(module (func (export "f") (result f64) (f64.const -0x1.000000000000080000000000p+600)))
608(assert_return (invoke "f") (f64.const -0x1.0000000000000p+600))
609(module (func (export "f") (result f64) (f64.const +0x1.000000000000080000000001p+600)))
610(assert_return (invoke "f") (f64.const +0x1.0000000000001p+600))
611(module (func (export "f") (result f64) (f64.const -0x1.000000000000080000000001p+600)))
612(assert_return (invoke "f") (f64.const -0x1.0000000000001p+600))
613(module (func (export "f") (result f64) (f64.const +0x1.0000000000000fffffffffffp+600)))
614(assert_return (invoke "f") (f64.const +0x1.0000000000001p+600))
615(module (func (export "f") (result f64) (f64.const -0x1.0000000000000fffffffffffp+600)))
616(assert_return (invoke "f") (f64.const -0x1.0000000000001p+600))
617(module (func (export "f") (result f64) (f64.const +0x1.000000000000100000000000p+600)))
618(assert_return (invoke "f") (f64.const +0x1.0000000000001p+600))
619(module (func (export "f") (result f64) (f64.const -0x1.000000000000100000000000p+600)))
620(assert_return (invoke "f") (f64.const -0x1.0000000000001p+600))
621(module (func (export "f") (result f64) (f64.const +0x1.000000000000100000000001p+600)))
622(assert_return (invoke "f") (f64.const +0x1.0000000000001p+600))
623(module (func (export "f") (result f64) (f64.const -0x1.000000000000100000000001p+600)))
624(assert_return (invoke "f") (f64.const -0x1.0000000000001p+600))
625(module (func (export "f") (result f64) (f64.const +0x1.00000000000017ffffffffffp+600)))
626(assert_return (invoke "f") (f64.const +0x1.0000000000001p+600))
627(module (func (export "f") (result f64) (f64.const -0x1.00000000000017ffffffffffp+600)))
628(assert_return (invoke "f") (f64.const -0x1.0000000000001p+600))
629(module (func (export "f") (result f64) (f64.const +0x1.000000000000180000000000p+600)))
630(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
631(module (func (export "f") (result f64) (f64.const -0x1.000000000000180000000000p+600)))
632(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
633(module (func (export "f") (result f64) (f64.const +0x1.000000000000180000000001p+600)))
634(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
635(module (func (export "f") (result f64) (f64.const -0x1.000000000000180000000001p+600)))
636(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
637(module (func (export "f") (result f64) (f64.const +0x1.0000000000001fffffffffffp+600)))
638(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
639(module (func (export "f") (result f64) (f64.const -0x1.0000000000001fffffffffffp+600)))
640(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
641(module (func (export "f") (result f64) (f64.const +0x1.000000000000200000000000p+600)))
642(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
643(module (func (export "f") (result f64) (f64.const -0x1.000000000000200000000000p+600)))
644(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
645(module (func (export "f") (result f64) (f64.const +0x1.000000000000200000000001p+600)))
646(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
647(module (func (export "f") (result f64) (f64.const -0x1.000000000000200000000001p+600)))
648(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
649(module (func (export "f") (result f64) (f64.const +0x1.00000000000027ffffffffffp+600)))
650(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
651(module (func (export "f") (result f64) (f64.const -0x1.00000000000027ffffffffffp+600)))
652(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
653(module (func (export "f") (result f64) (f64.const +0x1.000000000000280000000000p+600)))
654(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
655(module (func (export "f") (result f64) (f64.const -0x1.000000000000280000000000p+600)))
656(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
657(module (func (export "f") (result f64) (f64.const +0x1.000000000000280000000001p+600)))
658(assert_return (invoke "f") (f64.const +0x1.0000000000003p+600))
659(module (func (export "f") (result f64) (f64.const -0x1.000000000000280000000001p+600)))
660(assert_return (invoke "f") (f64.const -0x1.0000000000003p+600))
661
662(module (func (export "f") (result f64) (f64.const +0x2000000000000100000000000)))
663(assert_return (invoke "f") (f64.const +0x1.0000000000000p+97))
664(module (func (export "f") (result f64) (f64.const -0x2000000000000100000000000)))
665(assert_return (invoke "f") (f64.const -0x1.0000000000000p+97))
666(module (func (export "f") (result f64) (f64.const +0x2000000000000100000000001)))
667(assert_return (invoke "f") (f64.const +0x1.0000000000001p+97))
668(module (func (export "f") (result f64) (f64.const -0x2000000000000100000000001)))
669(assert_return (invoke "f") (f64.const -0x1.0000000000001p+97))
670(module (func (export "f") (result f64) (f64.const +0x20000000000001fffffffffff)))
671(assert_return (invoke "f") (f64.const +0x1.0000000000001p+97))
672(module (func (export "f") (result f64) (f64.const -0x20000000000001fffffffffff)))
673(assert_return (invoke "f") (f64.const -0x1.0000000000001p+97))
674(module (func (export "f") (result f64) (f64.const +0x2000000000000200000000000)))
675(assert_return (invoke "f") (f64.const +0x1.0000000000001p+97))
676(module (func (export "f") (result f64) (f64.const -0x2000000000000200000000000)))
677(assert_return (invoke "f") (f64.const -0x1.0000000000001p+97))
678(module (func (export "f") (result f64) (f64.const +0x2000000000000200000000001)))
679(assert_return (invoke "f") (f64.const +0x1.0000000000001p+97))
680(module (func (export "f") (result f64) (f64.const -0x2000000000000200000000001)))
681(assert_return (invoke "f") (f64.const -0x1.0000000000001p+97))
682(module (func (export "f") (result f64) (f64.const +0x20000000000002fffffffffff)))
683(assert_return (invoke "f") (f64.const +0x1.0000000000001p+97))
684(module (func (export "f") (result f64) (f64.const -0x20000000000002fffffffffff)))
685(assert_return (invoke "f") (f64.const -0x1.0000000000001p+97))
686(module (func (export "f") (result f64) (f64.const +0x2000000000000300000000000)))
687(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
688(module (func (export "f") (result f64) (f64.const -0x2000000000000300000000000)))
689(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
690(module (func (export "f") (result f64) (f64.const +0x2000000000000300000000001)))
691(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
692(module (func (export "f") (result f64) (f64.const -0x2000000000000300000000001)))
693(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
694(module (func (export "f") (result f64) (f64.const +0x20000000000003fffffffffff)))
695(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
696(module (func (export "f") (result f64) (f64.const -0x20000000000003fffffffffff)))
697(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
698(module (func (export "f") (result f64) (f64.const +0x2000000000000400000000000)))
699(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
700(module (func (export "f") (result f64) (f64.const -0x2000000000000400000000000)))
701(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
702(module (func (export "f") (result f64) (f64.const +0x2000000000000400000000001)))
703(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
704(module (func (export "f") (result f64) (f64.const -0x2000000000000400000000001)))
705(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
706(module (func (export "f") (result f64) (f64.const +0x20000000000004fffffffffff)))
707(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
708(module (func (export "f") (result f64) (f64.const -0x20000000000004fffffffffff)))
709(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
710(module (func (export "f") (result f64) (f64.const +0x2000000000000500000000000)))
711(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
712(module (func (export "f") (result f64) (f64.const -0x2000000000000500000000000)))
713(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
714(module (func (export "f") (result f64) (f64.const +0x2000000000000500000000001)))
715(assert_return (invoke "f") (f64.const +0x1.0000000000003p+97))
716(module (func (export "f") (result f64) (f64.const -0x2000000000000500000000001)))
717(assert_return (invoke "f") (f64.const -0x1.0000000000003p+97))
718
719(module (func (export "f") (result f64) (f64.const +1152921504606847104)))
720(assert_return (invoke "f") (f64.const +0x1.0000000000000p+60))
721(module (func (export "f") (result f64) (f64.const -1152921504606847104)))
722(assert_return (invoke "f") (f64.const -0x1.0000000000000p+60))
723(module (func (export "f") (result f64) (f64.const +1152921504606847105)))
724(assert_return (invoke "f") (f64.const +0x1.0000000000001p+60))
725(module (func (export "f") (result f64) (f64.const -1152921504606847105)))
726(assert_return (invoke "f") (f64.const -0x1.0000000000001p+60))
727(module (func (export "f") (result f64) (f64.const +1152921504606847359)))
728(assert_return (invoke "f") (f64.const +0x1.0000000000001p+60))
729(module (func (export "f") (result f64) (f64.const -1152921504606847359)))
730(assert_return (invoke "f") (f64.const -0x1.0000000000001p+60))
731(module (func (export "f") (result f64) (f64.const +1152921504606847360)))
732(assert_return (invoke "f") (f64.const +0x1.0000000000002p+60))
733(module (func (export "f") (result f64) (f64.const -1152921504606847360)))
734(assert_return (invoke "f") (f64.const -0x1.0000000000002p+60))
735
736;; f64, subnormal
737(module (func (export "f") (result f64) (f64.const +0x0.000000000000080000000000p-1022)))
738(assert_return (invoke "f") (f64.const +0x0.0000000000000p-1022))
739(module (func (export "f") (result f64) (f64.const -0x0.000000000000080000000000p-1022)))
740(assert_return (invoke "f") (f64.const -0x0.0000000000000p-1022))
741(module (func (export "f") (result f64) (f64.const +0x0.000000000000080000000001p-1022)))
742(assert_return (invoke "f") (f64.const +0x0.0000000000001p-1022))
743(module (func (export "f") (result f64) (f64.const -0x0.000000000000080000000001p-1022)))
744(assert_return (invoke "f") (f64.const -0x0.0000000000001p-1022))
745(module (func (export "f") (result f64) (f64.const +0x0.0000000000000fffffffffffp-1022)))
746(assert_return (invoke "f") (f64.const +0x0.0000000000001p-1022))
747(module (func (export "f") (result f64) (f64.const -0x0.0000000000000fffffffffffp-1022)))
748(assert_return (invoke "f") (f64.const -0x0.0000000000001p-1022))
749(module (func (export "f") (result f64) (f64.const +0x0.000000000000100000000000p-1022)))
750(assert_return (invoke "f") (f64.const +0x0.0000000000001p-1022))
751(module (func (export "f") (result f64) (f64.const -0x0.000000000000100000000000p-1022)))
752(assert_return (invoke "f") (f64.const -0x0.0000000000001p-1022))
753(module (func (export "f") (result f64) (f64.const +0x0.000000000000100000000001p-1022)))
754(assert_return (invoke "f") (f64.const +0x0.0000000000001p-1022))
755(module (func (export "f") (result f64) (f64.const -0x0.000000000000100000000001p-1022)))
756(assert_return (invoke "f") (f64.const -0x0.0000000000001p-1022))
757(module (func (export "f") (result f64) (f64.const +0x0.00000000000017ffffffffffp-1022)))
758(assert_return (invoke "f") (f64.const +0x0.0000000000001p-1022))
759(module (func (export "f") (result f64) (f64.const -0x0.00000000000017ffffffffffp-1022)))
760(assert_return (invoke "f") (f64.const -0x0.0000000000001p-1022))
761(module (func (export "f") (result f64) (f64.const +0x0.000000000000180000000000p-1022)))
762(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
763(module (func (export "f") (result f64) (f64.const -0x0.000000000000180000000000p-1022)))
764(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
765(module (func (export "f") (result f64) (f64.const +0x0.000000000000180000000001p-1022)))
766(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
767(module (func (export "f") (result f64) (f64.const -0x0.000000000000180000000001p-1022)))
768(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
769(module (func (export "f") (result f64) (f64.const +0x0.0000000000001fffffffffffp-1022)))
770(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
771(module (func (export "f") (result f64) (f64.const -0x0.0000000000001fffffffffffp-1022)))
772(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
773(module (func (export "f") (result f64) (f64.const +0x0.000000000000200000000000p-1022)))
774(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
775(module (func (export "f") (result f64) (f64.const -0x0.000000000000200000000000p-1022)))
776(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
777(module (func (export "f") (result f64) (f64.const +0x0.000000000000200000000001p-1022)))
778(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
779(module (func (export "f") (result f64) (f64.const -0x0.000000000000200000000001p-1022)))
780(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
781(module (func (export "f") (result f64) (f64.const +0x0.00000000000027ffffffffffp-1022)))
782(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
783(module (func (export "f") (result f64) (f64.const -0x0.00000000000027ffffffffffp-1022)))
784(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
785(module (func (export "f") (result f64) (f64.const +0x0.000000000000280000000000p-1022)))
786(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
787(module (func (export "f") (result f64) (f64.const -0x0.000000000000280000000000p-1022)))
788(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
789(module (func (export "f") (result f64) (f64.const +0x1.000000000000280000000001p-1022)))
790(assert_return (invoke "f") (f64.const +0x1.0000000000003p-1022))
791(module (func (export "f") (result f64) (f64.const -0x1.000000000000280000000001p-1022)))
792(assert_return (invoke "f") (f64.const -0x1.0000000000003p-1022))
793
794;; f64, round down at limit to infinity
795(module (func (export "f") (result f64) (f64.const +0x1.fffffffffffff4p1023)))
796(assert_return (invoke "f") (f64.const +0x1.fffffffffffffp1023))
797(module (func (export "f") (result f64) (f64.const -0x1.fffffffffffff4p1023)))
798(assert_return (invoke "f") (f64.const -0x1.fffffffffffffp1023))
799(module (func (export "f") (result f64) (f64.const +0x1.fffffffffffff7ffffffp1023)))
800(assert_return (invoke "f") (f64.const +0x1.fffffffffffffp1023))
801(module (func (export "f") (result f64) (f64.const -0x1.fffffffffffff7ffffffp1023)))
802(assert_return (invoke "f") (f64.const -0x1.fffffffffffffp1023))
View as plain text