* src/native/jni.cpp: [OPENJDK] Fix FindClass called from JNI_OnLoad.
[cacao.git] / tests / regression / fptest.output
1 ---------------------------- tests NaNs and Infs -------------------
2    0.    ------------------- print NaNs and Infs
3    1.    NaNQ float:  NaN
4    2.    +INF float:  Infinity
5    3.    -INF float:  -Infinity
6    4.    NaNQ double: NaN
7    5.    +INF double: Infinity
8    6.    -INF double: -Infinity
9    7.    ------------------- test zero division
10    8.    0 / 0 = NaNQ float:  NaN
11    9.    + / 0 = +INF float:  Infinity
12   10.    - / 0 = -INF float:  -Infinity
13   11.    0 / 0 = NaNQ double: NaN
14   12.    + / 0 = +INF double: Infinity
15   13.    - / 0 = -INF double: -Infinity
16   14.    ------------------- test conversions
17   15.    convert NaNQ (NaN,NaN) to int:    0
18   16.    convert NaNQ (NaN,NaN) to int:    0
19   17.    convert NaNQ (NaN,NaN) to long:   0
20   18.    convert NaNQ (NaN,NaN) to long:   0
21   19.    convert +INF (Infinity,Infinity) to int:    2147483647
22   20.    convert +INF (Infinity,Infinity) to int:    2147483647
23   21.    convert +INF (Infinity,Infinity) to long:   9223372036854775807
24   22.    convert +INF (Infinity,Infinity) to long:   9223372036854775807
25   23.    convert -INF (-Infinity,-Infinity) to int:    -2147483648
26   24.    convert -INF (-Infinity,-Infinity) to int:    -2147483648
27   25.    convert -INF (-Infinity,-Infinity) to long:   -9223372036854775808
28   26.    convert -INF (-Infinity,-Infinity) to long:   -9223372036854775808
29   27.    convert  MAX (3.4028235E38,1.7976931348623157E308) to int:    2147483647
30   28.    convert  MAX (3.4028235E38,1.7976931348623157E308) to int:    2147483647
31   29.    convert  MAX (3.4028235E38,1.7976931348623157E308) to long:   9223372036854775807
32   30.    convert  MAX (3.4028235E38,1.7976931348623157E308) to long:   9223372036854775807
33   31.    convert  MIN (1.4E-45,4.9E-324) to int:    0
34   32.    convert  MIN (1.4E-45,4.9E-324) to int:    0
35   33.    convert  MIN (1.4E-45,4.9E-324) to long:   0
36   34.    convert  MIN (1.4E-45,4.9E-324) to long:   0
37   35.    convert MAXINT-1 (2.1474836E9,2.147483646E9) to int:    2147483647
38   36.    convert MAXINT-1 (2.1474836E9,2.147483646E9) to int:    2147483646
39   37.    convert MAXINT-1 (2.1474836E9,2.147483646E9) to long:   2147483648
40   38.    convert MAXINT-1 (2.1474836E9,2.147483646E9) to long:   2147483646
41   39.    convert MAXINT+0 (2.1474836E9,2.147483647E9) to int:    2147483647
42   40.    convert MAXINT+0 (2.1474836E9,2.147483647E9) to int:    2147483647
43   41.    convert MAXINT+0 (2.1474836E9,2.147483647E9) to long:   2147483648
44   42.    convert MAXINT+0 (2.1474836E9,2.147483647E9) to long:   2147483647
45   43.    convert MAXINT+1 (2.1474836E9,2.147483648E9) to int:    2147483647
46   44.    convert MAXINT+1 (2.1474836E9,2.147483648E9) to int:    2147483647
47   45.    convert MAXINT+1 (2.1474836E9,2.147483648E9) to long:   2147483648
48   46.    convert MAXINT+1 (2.1474836E9,2.147483648E9) to long:   2147483648
49   47.    convert -MAXINT+1 (-2.1474836E9,-2.147483647E9) to int:    -2147483648
50   48.    convert -MAXINT+1 (-2.1474836E9,-2.147483647E9) to int:    -2147483647
51   49.    convert -MAXINT+1 (-2.1474836E9,-2.147483647E9) to long:   -2147483648
52   50.    convert -MAXINT+1 (-2.1474836E9,-2.147483647E9) to long:   -2147483647
53   51.    convert -MAXINT+0 (-2.1474836E9,-2.147483648E9) to int:    -2147483648
54   52.    convert -MAXINT+0 (-2.1474836E9,-2.147483648E9) to int:    -2147483648
55   53.    convert -MAXINT+0 (-2.1474836E9,-2.147483648E9) to long:   -2147483648
56   54.    convert -MAXINT+0 (-2.1474836E9,-2.147483648E9) to long:   -2147483648
57   55.    convert -MAXINT-1 (-2.1474836E9,-2.147483649E9) to int:    -2147483648
58   56.    convert -MAXINT-1 (-2.1474836E9,-2.147483649E9) to int:    -2147483648
59   57.    convert -MAXINT-1 (-2.1474836E9,-2.147483649E9) to long:   -2147483648
60   58.    convert -MAXINT-1 (-2.1474836E9,-2.147483649E9) to long:   -2147483649
61   59.    convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to int:    2147483647
62   60.    convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to int:    2147483647
63   61.    convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
64   62.    convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
65   63.    convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to int:    2147483647
66   64.    convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to int:    2147483647
67   65.    convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
68   66.    convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
69   67.    convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to int:    2147483647
70   68.    convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to int:    2147483647
71   69.    convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
72   70.    convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
73   71.    convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
74   72.    convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
75   73.    convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
76   74.    convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
77   75.    convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
78   76.    convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
79   77.    convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
80   78.    convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
81   79.    convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
82   80.    convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
83   81.    convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
84   82.    convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
85   83.    ------------------- test NaNQ op value
86   84.    NaNQ + -5.0 = float:  NaN
87   85.    NaNQ - -5.0 = float:  NaN
88   86.    NaNQ * -5.0 = float:  NaN
89   87.    NaNQ / -5.0 = float:  NaN
90   88.    NaNQ % -5.0 = float:  NaN
91   89.    NaNQ + -5.0 = double: NaN
92   90.    NaNQ - -5.0 = double: NaN
93   91.    NaNQ * -5.0 = double: NaN
94   92.    NaNQ / -5.0 = double: NaN
95   93.    NaNQ % -5.0 = double: NaN
96   94.     (NaNQ == -5.0) = float: false
97   95.     (NaNQ != -5.0) = float: true
98   96.     (NaNQ <  -5.0) = float: false
99   97.     (NaNQ <= -5.0) = float: false
100   98.     (NaNQ >  -5.0) = float: false
101   99.     (NaNQ >= -5.0) = float: false
102  100.    !(NaNQ == -5.0) = float: true
103  101.    !(NaNQ != -5.0) = float: false
104  102.    !(NaNQ <  -5.0) = float: true
105  103.    !(NaNQ <= -5.0) = float: true
106  104.    !(NaNQ >  -5.0) = float: true
107  105.    !(NaNQ >= -5.0) = float: true
108  106.     (NaNQ == -5.0) = double: false
109  107.     (NaNQ != -5.0) = double: true
110  108.     (NaNQ <  -5.0) = double: false
111  109.     (NaNQ <= -5.0) = double: false
112  110.     (NaNQ >  -5.0) = double: false
113  111.     (NaNQ >= -5.0) = double: false
114  112.    !(NaNQ == -5.0) = double: true
115  113.    !(NaNQ != -5.0) = double: false
116  114.    !(NaNQ <  -5.0) = double: true
117  115.    !(NaNQ <= -5.0) = double: true
118  116.    !(NaNQ >  -5.0) = double: true
119  117.    !(NaNQ >= -5.0) = double: true
120  118.    NaNQ + -0.0 = float:  NaN
121  119.    NaNQ - -0.0 = float:  NaN
122  120.    NaNQ * -0.0 = float:  NaN
123  121.    NaNQ / -0.0 = float:  NaN
124  122.    NaNQ % -0.0 = float:  NaN
125  123.    NaNQ + -0.0 = double: NaN
126  124.    NaNQ - -0.0 = double: NaN
127  125.    NaNQ * -0.0 = double: NaN
128  126.    NaNQ / -0.0 = double: NaN
129  127.    NaNQ % -0.0 = double: NaN
130  128.     (NaNQ == -0.0) = float: false
131  129.     (NaNQ != -0.0) = float: true
132  130.     (NaNQ <  -0.0) = float: false
133  131.     (NaNQ <= -0.0) = float: false
134  132.     (NaNQ >  -0.0) = float: false
135  133.     (NaNQ >= -0.0) = float: false
136  134.    !(NaNQ == -0.0) = float: true
137  135.    !(NaNQ != -0.0) = float: false
138  136.    !(NaNQ <  -0.0) = float: true
139  137.    !(NaNQ <= -0.0) = float: true
140  138.    !(NaNQ >  -0.0) = float: true
141  139.    !(NaNQ >= -0.0) = float: true
142  140.     (NaNQ == -0.0) = double: false
143  141.     (NaNQ != -0.0) = double: true
144  142.     (NaNQ <  -0.0) = double: false
145  143.     (NaNQ <= -0.0) = double: false
146  144.     (NaNQ >  -0.0) = double: false
147  145.     (NaNQ >= -0.0) = double: false
148  146.    !(NaNQ == -0.0) = double: true
149  147.    !(NaNQ != -0.0) = double: false
150  148.    !(NaNQ <  -0.0) = double: true
151  149.    !(NaNQ <= -0.0) = double: true
152  150.    !(NaNQ >  -0.0) = double: true
153  151.    !(NaNQ >= -0.0) = double: true
154  152.    NaNQ + 0.0 = float:  NaN
155  153.    NaNQ - 0.0 = float:  NaN
156  154.    NaNQ * 0.0 = float:  NaN
157  155.    NaNQ / 0.0 = float:  NaN
158  156.    NaNQ % 0.0 = float:  NaN
159  157.    NaNQ + 0.0 = double: NaN
160  158.    NaNQ - 0.0 = double: NaN
161  159.    NaNQ * 0.0 = double: NaN
162  160.    NaNQ / 0.0 = double: NaN
163  161.    NaNQ % 0.0 = double: NaN
164  162.     (NaNQ == 0.0) = float: false
165  163.     (NaNQ != 0.0) = float: true
166  164.     (NaNQ <  0.0) = float: false
167  165.     (NaNQ <= 0.0) = float: false
168  166.     (NaNQ >  0.0) = float: false
169  167.     (NaNQ >= 0.0) = float: false
170  168.    !(NaNQ == 0.0) = float: true
171  169.    !(NaNQ != 0.0) = float: false
172  170.    !(NaNQ <  0.0) = float: true
173  171.    !(NaNQ <= 0.0) = float: true
174  172.    !(NaNQ >  0.0) = float: true
175  173.    !(NaNQ >= 0.0) = float: true
176  174.     (NaNQ == 0.0) = double: false
177  175.     (NaNQ != 0.0) = double: true
178  176.     (NaNQ <  0.0) = double: false
179  177.     (NaNQ <= 0.0) = double: false
180  178.     (NaNQ >  0.0) = double: false
181  179.     (NaNQ >= 0.0) = double: false
182  180.    !(NaNQ == 0.0) = double: true
183  181.    !(NaNQ != 0.0) = double: false
184  182.    !(NaNQ <  0.0) = double: true
185  183.    !(NaNQ <= 0.0) = double: true
186  184.    !(NaNQ >  0.0) = double: true
187  185.    !(NaNQ >= 0.0) = double: true
188  186.    NaNQ + 5.0 = float:  NaN
189  187.    NaNQ - 5.0 = float:  NaN
190  188.    NaNQ * 5.0 = float:  NaN
191  189.    NaNQ / 5.0 = float:  NaN
192  190.    NaNQ % 5.0 = float:  NaN
193  191.    NaNQ + 5.0 = double: NaN
194  192.    NaNQ - 5.0 = double: NaN
195  193.    NaNQ * 5.0 = double: NaN
196  194.    NaNQ / 5.0 = double: NaN
197  195.    NaNQ % 5.0 = double: NaN
198  196.     (NaNQ == 5.0) = float: false
199  197.     (NaNQ != 5.0) = float: true
200  198.     (NaNQ <  5.0) = float: false
201  199.     (NaNQ <= 5.0) = float: false
202  200.     (NaNQ >  5.0) = float: false
203  201.     (NaNQ >= 5.0) = float: false
204  202.    !(NaNQ == 5.0) = float: true
205  203.    !(NaNQ != 5.0) = float: false
206  204.    !(NaNQ <  5.0) = float: true
207  205.    !(NaNQ <= 5.0) = float: true
208  206.    !(NaNQ >  5.0) = float: true
209  207.    !(NaNQ >= 5.0) = float: true
210  208.     (NaNQ == 5.0) = double: false
211  209.     (NaNQ != 5.0) = double: true
212  210.     (NaNQ <  5.0) = double: false
213  211.     (NaNQ <= 5.0) = double: false
214  212.     (NaNQ >  5.0) = double: false
215  213.     (NaNQ >= 5.0) = double: false
216  214.    !(NaNQ == 5.0) = double: true
217  215.    !(NaNQ != 5.0) = double: false
218  216.    !(NaNQ <  5.0) = double: true
219  217.    !(NaNQ <= 5.0) = double: true
220  218.    !(NaNQ >  5.0) = double: true
221  219.    !(NaNQ >= 5.0) = double: true
222  220.    ------------------- test value op NaNQ
223  221.    -5.0 + NaNQ = float:  NaN
224  222.    -5.0 - NaNQ = float:  NaN
225  223.    -5.0 * NaNQ = float:  NaN
226  224.    -5.0 / NaNQ = float:  NaN
227  225.    -5.0 % NaNQ = float:  NaN
228  226.    -5.0 + NaNQ = double: NaN
229  227.    -5.0 - NaNQ = double: NaN
230  228.    -5.0 * NaNQ = double: NaN
231  229.    -5.0 / NaNQ = double: NaN
232  230.    -5.0 % NaNQ = double: NaN
233  231.     (-5.0 == NaNQ) = float: false
234  232.     (-5.0 != NaNQ) = float: true
235  233.     (-5.0 <  NaNQ) = float: false
236  234.     (-5.0 <= NaNQ) = float: false
237  235.     (-5.0 >  NaNQ) = float: false
238  236.     (-5.0 >= NaNQ) = float: false
239  237.    !(-5.0 == NaNQ) = float: true
240  238.    !(-5.0 != NaNQ) = float: false
241  239.    !(-5.0 <  NaNQ) = float: true
242  240.    !(-5.0 <= NaNQ) = float: true
243  241.    !(-5.0 >  NaNQ) = float: true
244  242.    !(-5.0 >= NaNQ) = float: true
245  243.     (-5.0 == NaNQ) = double: false
246  244.     (-5.0 != NaNQ) = double: true
247  245.     (-5.0 <  NaNQ) = double: false
248  246.     (-5.0 <= NaNQ) = double: false
249  247.     (-5.0 >  NaNQ) = double: false
250  248.     (-5.0 >= NaNQ) = double: false
251  249.    !(-5.0 == NaNQ) = double: true
252  250.    !(-5.0 != NaNQ) = double: false
253  251.    !(-5.0 <  NaNQ) = double: true
254  252.    !(-5.0 <= NaNQ) = double: true
255  253.    !(-5.0 >  NaNQ) = double: true
256  254.    !(-5.0 >= NaNQ) = double: true
257  255.    -0.0 + NaNQ = float:  NaN
258  256.    -0.0 - NaNQ = float:  NaN
259  257.    -0.0 * NaNQ = float:  NaN
260  258.    -0.0 / NaNQ = float:  NaN
261  259.    -0.0 % NaNQ = float:  NaN
262  260.    -0.0 + NaNQ = double: NaN
263  261.    -0.0 - NaNQ = double: NaN
264  262.    -0.0 * NaNQ = double: NaN
265  263.    -0.0 / NaNQ = double: NaN
266  264.    -0.0 % NaNQ = double: NaN
267  265.     (-0.0 == NaNQ) = float: false
268  266.     (-0.0 != NaNQ) = float: true
269  267.     (-0.0 <  NaNQ) = float: false
270  268.     (-0.0 <= NaNQ) = float: false
271  269.     (-0.0 >  NaNQ) = float: false
272  270.     (-0.0 >= NaNQ) = float: false
273  271.    !(-0.0 == NaNQ) = float: true
274  272.    !(-0.0 != NaNQ) = float: false
275  273.    !(-0.0 <  NaNQ) = float: true
276  274.    !(-0.0 <= NaNQ) = float: true
277  275.    !(-0.0 >  NaNQ) = float: true
278  276.    !(-0.0 >= NaNQ) = float: true
279  277.     (-0.0 == NaNQ) = double: false
280  278.     (-0.0 != NaNQ) = double: true
281  279.     (-0.0 <  NaNQ) = double: false
282  280.     (-0.0 <= NaNQ) = double: false
283  281.     (-0.0 >  NaNQ) = double: false
284  282.     (-0.0 >= NaNQ) = double: false
285  283.    !(-0.0 == NaNQ) = double: true
286  284.    !(-0.0 != NaNQ) = double: false
287  285.    !(-0.0 <  NaNQ) = double: true
288  286.    !(-0.0 <= NaNQ) = double: true
289  287.    !(-0.0 >  NaNQ) = double: true
290  288.    !(-0.0 >= NaNQ) = double: true
291  289.    0.0 + NaNQ = float:  NaN
292  290.    0.0 - NaNQ = float:  NaN
293  291.    0.0 * NaNQ = float:  NaN
294  292.    0.0 / NaNQ = float:  NaN
295  293.    0.0 % NaNQ = float:  NaN
296  294.    0.0 + NaNQ = double: NaN
297  295.    0.0 - NaNQ = double: NaN
298  296.    0.0 * NaNQ = double: NaN
299  297.    0.0 / NaNQ = double: NaN
300  298.    0.0 % NaNQ = double: NaN
301  299.     (0.0 == NaNQ) = float: false
302  300.     (0.0 != NaNQ) = float: true
303  301.     (0.0 <  NaNQ) = float: false
304  302.     (0.0 <= NaNQ) = float: false
305  303.     (0.0 >  NaNQ) = float: false
306  304.     (0.0 >= NaNQ) = float: false
307  305.    !(0.0 == NaNQ) = float: true
308  306.    !(0.0 != NaNQ) = float: false
309  307.    !(0.0 <  NaNQ) = float: true
310  308.    !(0.0 <= NaNQ) = float: true
311  309.    !(0.0 >  NaNQ) = float: true
312  310.    !(0.0 >= NaNQ) = float: true
313  311.     (0.0 == NaNQ) = double: false
314  312.     (0.0 != NaNQ) = double: true
315  313.     (0.0 <  NaNQ) = double: false
316  314.     (0.0 <= NaNQ) = double: false
317  315.     (0.0 >  NaNQ) = double: false
318  316.     (0.0 >= NaNQ) = double: false
319  317.    !(0.0 == NaNQ) = double: true
320  318.    !(0.0 != NaNQ) = double: false
321  319.    !(0.0 <  NaNQ) = double: true
322  320.    !(0.0 <= NaNQ) = double: true
323  321.    !(0.0 >  NaNQ) = double: true
324  322.    !(0.0 >= NaNQ) = double: true
325  323.    5.0 + NaNQ = float:  NaN
326  324.    5.0 - NaNQ = float:  NaN
327  325.    5.0 * NaNQ = float:  NaN
328  326.    5.0 / NaNQ = float:  NaN
329  327.    5.0 % NaNQ = float:  NaN
330  328.    5.0 + NaNQ = double: NaN
331  329.    5.0 - NaNQ = double: NaN
332  330.    5.0 * NaNQ = double: NaN
333  331.    5.0 / NaNQ = double: NaN
334  332.    5.0 % NaNQ = double: NaN
335  333.     (5.0 == NaNQ) = float: false
336  334.     (5.0 != NaNQ) = float: true
337  335.     (5.0 <  NaNQ) = float: false
338  336.     (5.0 <= NaNQ) = float: false
339  337.     (5.0 >  NaNQ) = float: false
340  338.     (5.0 >= NaNQ) = float: false
341  339.    !(5.0 == NaNQ) = float: true
342  340.    !(5.0 != NaNQ) = float: false
343  341.    !(5.0 <  NaNQ) = float: true
344  342.    !(5.0 <= NaNQ) = float: true
345  343.    !(5.0 >  NaNQ) = float: true
346  344.    !(5.0 >= NaNQ) = float: true
347  345.     (5.0 == NaNQ) = double: false
348  346.     (5.0 != NaNQ) = double: true
349  347.     (5.0 <  NaNQ) = double: false
350  348.     (5.0 <= NaNQ) = double: false
351  349.     (5.0 >  NaNQ) = double: false
352  350.     (5.0 >= NaNQ) = double: false
353  351.    !(5.0 == NaNQ) = double: true
354  352.    !(5.0 != NaNQ) = double: false
355  353.    !(5.0 <  NaNQ) = double: true
356  354.    !(5.0 <= NaNQ) = double: true
357  355.    !(5.0 >  NaNQ) = double: true
358  356.    !(5.0 >= NaNQ) = double: true
359  357.    ------------------- test +INF op value
360  358.    +INF + -5.0 = float:  Infinity
361  359.    +INF - -5.0 = float:  Infinity
362  360.    +INF * -5.0 = float:  -Infinity
363  361.    +INF / -5.0 = float:  -Infinity
364  362.    +INF % -5.0 = float:  NaN
365  363.    +INF + -5.0 = double: Infinity
366  364.    +INF - -5.0 = double: Infinity
367  365.    +INF * -5.0 = double: -Infinity
368  366.    +INF / -5.0 = double: -Infinity
369  367.    +INF % -5.0 = double: NaN
370  368.     (+INF == -5.0) = float: false
371  369.     (+INF != -5.0) = float: true
372  370.     (+INF <  -5.0) = float: false
373  371.     (+INF <= -5.0) = float: false
374  372.     (+INF >  -5.0) = float: true
375  373.     (+INF >= -5.0) = float: true
376  374.    !(+INF == -5.0) = float: true
377  375.    !(+INF != -5.0) = float: false
378  376.    !(+INF <  -5.0) = float: true
379  377.    !(+INF <= -5.0) = float: true
380  378.    !(+INF >  -5.0) = float: false
381  379.    !(+INF >= -5.0) = float: false
382  380.     (+INF == -5.0) = double: false
383  381.     (+INF != -5.0) = double: true
384  382.     (+INF <  -5.0) = double: false
385  383.     (+INF <= -5.0) = double: false
386  384.     (+INF >  -5.0) = double: true
387  385.     (+INF >= -5.0) = double: true
388  386.    !(+INF == -5.0) = double: true
389  387.    !(+INF != -5.0) = double: false
390  388.    !(+INF <  -5.0) = double: true
391  389.    !(+INF <= -5.0) = double: true
392  390.    !(+INF >  -5.0) = double: false
393  391.    !(+INF >= -5.0) = double: false
394  392.    +INF + -0.0 = float:  Infinity
395  393.    +INF - -0.0 = float:  Infinity
396  394.    +INF * -0.0 = float:  NaN
397  395.    +INF / -0.0 = float:  -Infinity
398  396.    +INF % -0.0 = float:  NaN
399  397.    +INF + -0.0 = double: Infinity
400  398.    +INF - -0.0 = double: Infinity
401  399.    +INF * -0.0 = double: NaN
402  400.    +INF / -0.0 = double: -Infinity
403  401.    +INF % -0.0 = double: NaN
404  402.     (+INF == -0.0) = float: false
405  403.     (+INF != -0.0) = float: true
406  404.     (+INF <  -0.0) = float: false
407  405.     (+INF <= -0.0) = float: false
408  406.     (+INF >  -0.0) = float: true
409  407.     (+INF >= -0.0) = float: true
410  408.    !(+INF == -0.0) = float: true
411  409.    !(+INF != -0.0) = float: false
412  410.    !(+INF <  -0.0) = float: true
413  411.    !(+INF <= -0.0) = float: true
414  412.    !(+INF >  -0.0) = float: false
415  413.    !(+INF >= -0.0) = float: false
416  414.     (+INF == -0.0) = double: false
417  415.     (+INF != -0.0) = double: true
418  416.     (+INF <  -0.0) = double: false
419  417.     (+INF <= -0.0) = double: false
420  418.     (+INF >  -0.0) = double: true
421  419.     (+INF >= -0.0) = double: true
422  420.    !(+INF == -0.0) = double: true
423  421.    !(+INF != -0.0) = double: false
424  422.    !(+INF <  -0.0) = double: true
425  423.    !(+INF <= -0.0) = double: true
426  424.    !(+INF >  -0.0) = double: false
427  425.    !(+INF >= -0.0) = double: false
428  426.    +INF + 0.0 = float:  Infinity
429  427.    +INF - 0.0 = float:  Infinity
430  428.    +INF * 0.0 = float:  NaN
431  429.    +INF / 0.0 = float:  Infinity
432  430.    +INF % 0.0 = float:  NaN
433  431.    +INF + 0.0 = double: Infinity
434  432.    +INF - 0.0 = double: Infinity
435  433.    +INF * 0.0 = double: NaN
436  434.    +INF / 0.0 = double: Infinity
437  435.    +INF % 0.0 = double: NaN
438  436.     (+INF == 0.0) = float: false
439  437.     (+INF != 0.0) = float: true
440  438.     (+INF <  0.0) = float: false
441  439.     (+INF <= 0.0) = float: false
442  440.     (+INF >  0.0) = float: true
443  441.     (+INF >= 0.0) = float: true
444  442.    !(+INF == 0.0) = float: true
445  443.    !(+INF != 0.0) = float: false
446  444.    !(+INF <  0.0) = float: true
447  445.    !(+INF <= 0.0) = float: true
448  446.    !(+INF >  0.0) = float: false
449  447.    !(+INF >= 0.0) = float: false
450  448.     (+INF == 0.0) = double: false
451  449.     (+INF != 0.0) = double: true
452  450.     (+INF <  0.0) = double: false
453  451.     (+INF <= 0.0) = double: false
454  452.     (+INF >  0.0) = double: true
455  453.     (+INF >= 0.0) = double: true
456  454.    !(+INF == 0.0) = double: true
457  455.    !(+INF != 0.0) = double: false
458  456.    !(+INF <  0.0) = double: true
459  457.    !(+INF <= 0.0) = double: true
460  458.    !(+INF >  0.0) = double: false
461  459.    !(+INF >= 0.0) = double: false
462  460.    +INF + 5.0 = float:  Infinity
463  461.    +INF - 5.0 = float:  Infinity
464  462.    +INF * 5.0 = float:  Infinity
465  463.    +INF / 5.0 = float:  Infinity
466  464.    +INF % 5.0 = float:  NaN
467  465.    +INF + 5.0 = double: Infinity
468  466.    +INF - 5.0 = double: Infinity
469  467.    +INF * 5.0 = double: Infinity
470  468.    +INF / 5.0 = double: Infinity
471  469.    +INF % 5.0 = double: NaN
472  470.     (+INF == 5.0) = float: false
473  471.     (+INF != 5.0) = float: true
474  472.     (+INF <  5.0) = float: false
475  473.     (+INF <= 5.0) = float: false
476  474.     (+INF >  5.0) = float: true
477  475.     (+INF >= 5.0) = float: true
478  476.    !(+INF == 5.0) = float: true
479  477.    !(+INF != 5.0) = float: false
480  478.    !(+INF <  5.0) = float: true
481  479.    !(+INF <= 5.0) = float: true
482  480.    !(+INF >  5.0) = float: false
483  481.    !(+INF >= 5.0) = float: false
484  482.     (+INF == 5.0) = double: false
485  483.     (+INF != 5.0) = double: true
486  484.     (+INF <  5.0) = double: false
487  485.     (+INF <= 5.0) = double: false
488  486.     (+INF >  5.0) = double: true
489  487.     (+INF >= 5.0) = double: true
490  488.    !(+INF == 5.0) = double: true
491  489.    !(+INF != 5.0) = double: false
492  490.    !(+INF <  5.0) = double: true
493  491.    !(+INF <= 5.0) = double: true
494  492.    !(+INF >  5.0) = double: false
495  493.    !(+INF >= 5.0) = double: false
496  494.    ------------------- test +INF op value
497  495.    -5.0 + +INF = float:  Infinity
498  496.    -5.0 - +INF = float:  -Infinity
499  497.    -5.0 * +INF = float:  -Infinity
500  498.    -5.0 / +INF = float:  -0.0
501  499.    -5.0 % +INF = float:  -5.0
502  500.    -5.0 + +INF = double: Infinity
503  501.    -5.0 - +INF = double: -Infinity
504  502.    -5.0 * +INF = double: -Infinity
505  503.    -5.0 / +INF = double: -0.0
506  504.    -5.0 % +INF = double: -5.0
507  505.     (-5.0 == +INF) = float: false
508  506.     (-5.0 != +INF) = float: true
509  507.     (-5.0 <  +INF) = float: true
510  508.     (-5.0 <= +INF) = float: true
511  509.     (-5.0 >  +INF) = float: false
512  510.     (-5.0 >= +INF) = float: false
513  511.    !(-5.0 == +INF) = float: true
514  512.    !(-5.0 != +INF) = float: false
515  513.    !(-5.0 <  +INF) = float: false
516  514.    !(-5.0 <= +INF) = float: false
517  515.    !(-5.0 >  +INF) = float: true
518  516.    !(-5.0 >= +INF) = float: true
519  517.     (-5.0 == +INF) = double: false
520  518.     (-5.0 != +INF) = double: true
521  519.     (-5.0 <  +INF) = double: true
522  520.     (-5.0 <= +INF) = double: true
523  521.     (-5.0 >  +INF) = double: false
524  522.     (-5.0 >= +INF) = double: false
525  523.    !(-5.0 == +INF) = double: true
526  524.    !(-5.0 != +INF) = double: false
527  525.    !(-5.0 <  +INF) = double: false
528  526.    !(-5.0 <= +INF) = double: false
529  527.    !(-5.0 >  +INF) = double: true
530  528.    !(-5.0 >= +INF) = double: true
531  529.    -0.0 + +INF = float:  Infinity
532  530.    -0.0 - +INF = float:  -Infinity
533  531.    -0.0 * +INF = float:  NaN
534  532.    -0.0 / +INF = float:  -0.0
535  533.    -0.0 % +INF = float:  -0.0
536  534.    -0.0 + +INF = double: Infinity
537  535.    -0.0 - +INF = double: -Infinity
538  536.    -0.0 * +INF = double: NaN
539  537.    -0.0 / +INF = double: -0.0
540  538.    -0.0 % +INF = double: -0.0
541  539.     (-0.0 == +INF) = float: false
542  540.     (-0.0 != +INF) = float: true
543  541.     (-0.0 <  +INF) = float: true
544  542.     (-0.0 <= +INF) = float: true
545  543.     (-0.0 >  +INF) = float: false
546  544.     (-0.0 >= +INF) = float: false
547  545.    !(-0.0 == +INF) = float: true
548  546.    !(-0.0 != +INF) = float: false
549  547.    !(-0.0 <  +INF) = float: false
550  548.    !(-0.0 <= +INF) = float: false
551  549.    !(-0.0 >  +INF) = float: true
552  550.    !(-0.0 >= +INF) = float: true
553  551.     (-0.0 == +INF) = double: false
554  552.     (-0.0 != +INF) = double: true
555  553.     (-0.0 <  +INF) = double: true
556  554.     (-0.0 <= +INF) = double: true
557  555.     (-0.0 >  +INF) = double: false
558  556.     (-0.0 >= +INF) = double: false
559  557.    !(-0.0 == +INF) = double: true
560  558.    !(-0.0 != +INF) = double: false
561  559.    !(-0.0 <  +INF) = double: false
562  560.    !(-0.0 <= +INF) = double: false
563  561.    !(-0.0 >  +INF) = double: true
564  562.    !(-0.0 >= +INF) = double: true
565  563.    0.0 + +INF = float:  Infinity
566  564.    0.0 - +INF = float:  -Infinity
567  565.    0.0 * +INF = float:  NaN
568  566.    0.0 / +INF = float:  0.0
569  567.    0.0 % +INF = float:  0.0
570  568.    0.0 + +INF = double: Infinity
571  569.    0.0 - +INF = double: -Infinity
572  570.    0.0 * +INF = double: NaN
573  571.    0.0 / +INF = double: 0.0
574  572.    0.0 % +INF = double: 0.0
575  573.     (0.0 == +INF) = float: false
576  574.     (0.0 != +INF) = float: true
577  575.     (0.0 <  +INF) = float: true
578  576.     (0.0 <= +INF) = float: true
579  577.     (0.0 >  +INF) = float: false
580  578.     (0.0 >= +INF) = float: false
581  579.    !(0.0 == +INF) = float: true
582  580.    !(0.0 != +INF) = float: false
583  581.    !(0.0 <  +INF) = float: false
584  582.    !(0.0 <= +INF) = float: false
585  583.    !(0.0 >  +INF) = float: true
586  584.    !(0.0 >= +INF) = float: true
587  585.     (0.0 == +INF) = double: false
588  586.     (0.0 != +INF) = double: true
589  587.     (0.0 <  +INF) = double: true
590  588.     (0.0 <= +INF) = double: true
591  589.     (0.0 >  +INF) = double: false
592  590.     (0.0 >= +INF) = double: false
593  591.    !(0.0 == +INF) = double: true
594  592.    !(0.0 != +INF) = double: false
595  593.    !(0.0 <  +INF) = double: false
596  594.    !(0.0 <= +INF) = double: false
597  595.    !(0.0 >  +INF) = double: true
598  596.    !(0.0 >= +INF) = double: true
599  597.    5.0 + +INF = float:  Infinity
600  598.    5.0 - +INF = float:  -Infinity
601  599.    5.0 * +INF = float:  Infinity
602  600.    5.0 / +INF = float:  0.0
603  601.    5.0 % +INF = float:  5.0
604  602.    5.0 + +INF = double: Infinity
605  603.    5.0 - +INF = double: -Infinity
606  604.    5.0 * +INF = double: Infinity
607  605.    5.0 / +INF = double: 0.0
608  606.    5.0 % +INF = double: 5.0
609  607.     (5.0 == +INF) = float: false
610  608.     (5.0 != +INF) = float: true
611  609.     (5.0 <  +INF) = float: true
612  610.     (5.0 <= +INF) = float: true
613  611.     (5.0 >  +INF) = float: false
614  612.     (5.0 >= +INF) = float: false
615  613.    !(5.0 == +INF) = float: true
616  614.    !(5.0 != +INF) = float: false
617  615.    !(5.0 <  +INF) = float: false
618  616.    !(5.0 <= +INF) = float: false
619  617.    !(5.0 >  +INF) = float: true
620  618.    !(5.0 >= +INF) = float: true
621  619.     (5.0 == +INF) = double: false
622  620.     (5.0 != +INF) = double: true
623  621.     (5.0 <  +INF) = double: true
624  622.     (5.0 <= +INF) = double: true
625  623.     (5.0 >  +INF) = double: false
626  624.     (5.0 >= +INF) = double: false
627  625.    !(5.0 == +INF) = double: true
628  626.    !(5.0 != +INF) = double: false
629  627.    !(5.0 <  +INF) = double: false
630  628.    !(5.0 <= +INF) = double: false
631  629.    !(5.0 >  +INF) = double: true
632  630.    !(5.0 >= +INF) = double: true
633  631.    ------------------- test -INF op value
634  632.    -INF + -5.0 = float:  -Infinity
635  633.    -INF - -5.0 = float:  -Infinity
636  634.    -INF * -5.0 = float:  Infinity
637  635.    -INF / -5.0 = float:  Infinity
638  636.    -INF % -5.0 = float:  NaN
639  637.    -INF + -5.0 = double: -Infinity
640  638.    -INF - -5.0 = double: -Infinity
641  639.    -INF * -5.0 = double: Infinity
642  640.    -INF / -5.0 = double: Infinity
643  641.    -INF % -5.0 = double: NaN
644  642.     (-INF == -5.0) = float: false
645  643.     (-INF != -5.0) = float: true
646  644.     (-INF <  -5.0) = float: true
647  645.     (-INF <= -5.0) = float: true
648  646.     (-INF >  -5.0) = float: false
649  647.     (-INF >= -5.0) = float: false
650  648.    !(-INF == -5.0) = float: true
651  649.    !(-INF != -5.0) = float: false
652  650.    !(-INF <  -5.0) = float: false
653  651.    !(-INF <= -5.0) = float: false
654  652.    !(-INF >  -5.0) = float: true
655  653.    !(-INF >= -5.0) = float: true
656  654.     (-INF == -5.0) = double: false
657  655.     (-INF != -5.0) = double: true
658  656.     (-INF <  -5.0) = double: true
659  657.     (-INF <= -5.0) = double: true
660  658.     (-INF >  -5.0) = double: false
661  659.     (-INF >= -5.0) = double: false
662  660.    !(-INF == -5.0) = double: true
663  661.    !(-INF != -5.0) = double: false
664  662.    !(-INF <  -5.0) = double: false
665  663.    !(-INF <= -5.0) = double: false
666  664.    !(-INF >  -5.0) = double: true
667  665.    !(-INF >= -5.0) = double: true
668  666.    -INF + -0.0 = float:  -Infinity
669  667.    -INF - -0.0 = float:  -Infinity
670  668.    -INF * -0.0 = float:  NaN
671  669.    -INF / -0.0 = float:  Infinity
672  670.    -INF % -0.0 = float:  NaN
673  671.    -INF + -0.0 = double: -Infinity
674  672.    -INF - -0.0 = double: -Infinity
675  673.    -INF * -0.0 = double: NaN
676  674.    -INF / -0.0 = double: Infinity
677  675.    -INF % -0.0 = double: NaN
678  676.     (-INF == -0.0) = float: false
679  677.     (-INF != -0.0) = float: true
680  678.     (-INF <  -0.0) = float: true
681  679.     (-INF <= -0.0) = float: true
682  680.     (-INF >  -0.0) = float: false
683  681.     (-INF >= -0.0) = float: false
684  682.    !(-INF == -0.0) = float: true
685  683.    !(-INF != -0.0) = float: false
686  684.    !(-INF <  -0.0) = float: false
687  685.    !(-INF <= -0.0) = float: false
688  686.    !(-INF >  -0.0) = float: true
689  687.    !(-INF >= -0.0) = float: true
690  688.     (-INF == -0.0) = double: false
691  689.     (-INF != -0.0) = double: true
692  690.     (-INF <  -0.0) = double: true
693  691.     (-INF <= -0.0) = double: true
694  692.     (-INF >  -0.0) = double: false
695  693.     (-INF >= -0.0) = double: false
696  694.    !(-INF == -0.0) = double: true
697  695.    !(-INF != -0.0) = double: false
698  696.    !(-INF <  -0.0) = double: false
699  697.    !(-INF <= -0.0) = double: false
700  698.    !(-INF >  -0.0) = double: true
701  699.    !(-INF >= -0.0) = double: true
702  700.    -INF + 0.0 = float:  -Infinity
703  701.    -INF - 0.0 = float:  -Infinity
704  702.    -INF * 0.0 = float:  NaN
705  703.    -INF / 0.0 = float:  -Infinity
706  704.    -INF % 0.0 = float:  NaN
707  705.    -INF + 0.0 = double: -Infinity
708  706.    -INF - 0.0 = double: -Infinity
709  707.    -INF * 0.0 = double: NaN
710  708.    -INF / 0.0 = double: -Infinity
711  709.    -INF % 0.0 = double: NaN
712  710.     (-INF == 0.0) = float: false
713  711.     (-INF != 0.0) = float: true
714  712.     (-INF <  0.0) = float: true
715  713.     (-INF <= 0.0) = float: true
716  714.     (-INF >  0.0) = float: false
717  715.     (-INF >= 0.0) = float: false
718  716.    !(-INF == 0.0) = float: true
719  717.    !(-INF != 0.0) = float: false
720  718.    !(-INF <  0.0) = float: false
721  719.    !(-INF <= 0.0) = float: false
722  720.    !(-INF >  0.0) = float: true
723  721.    !(-INF >= 0.0) = float: true
724  722.     (-INF == 0.0) = double: false
725  723.     (-INF != 0.0) = double: true
726  724.     (-INF <  0.0) = double: true
727  725.     (-INF <= 0.0) = double: true
728  726.     (-INF >  0.0) = double: false
729  727.     (-INF >= 0.0) = double: false
730  728.    !(-INF == 0.0) = double: true
731  729.    !(-INF != 0.0) = double: false
732  730.    !(-INF <  0.0) = double: false
733  731.    !(-INF <= 0.0) = double: false
734  732.    !(-INF >  0.0) = double: true
735  733.    !(-INF >= 0.0) = double: true
736  734.    -INF + 5.0 = float:  -Infinity
737  735.    -INF - 5.0 = float:  -Infinity
738  736.    -INF * 5.0 = float:  -Infinity
739  737.    -INF / 5.0 = float:  -Infinity
740  738.    -INF % 5.0 = float:  NaN
741  739.    -INF + 5.0 = double: -Infinity
742  740.    -INF - 5.0 = double: -Infinity
743  741.    -INF * 5.0 = double: -Infinity
744  742.    -INF / 5.0 = double: -Infinity
745  743.    -INF % 5.0 = double: NaN
746  744.     (-INF == 5.0) = float: false
747  745.     (-INF != 5.0) = float: true
748  746.     (-INF <  5.0) = float: true
749  747.     (-INF <= 5.0) = float: true
750  748.     (-INF >  5.0) = float: false
751  749.     (-INF >= 5.0) = float: false
752  750.    !(-INF == 5.0) = float: true
753  751.    !(-INF != 5.0) = float: false
754  752.    !(-INF <  5.0) = float: false
755  753.    !(-INF <= 5.0) = float: false
756  754.    !(-INF >  5.0) = float: true
757  755.    !(-INF >= 5.0) = float: true
758  756.     (-INF == 5.0) = double: false
759  757.     (-INF != 5.0) = double: true
760  758.     (-INF <  5.0) = double: true
761  759.     (-INF <= 5.0) = double: true
762  760.     (-INF >  5.0) = double: false
763  761.     (-INF >= 5.0) = double: false
764  762.    !(-INF == 5.0) = double: true
765  763.    !(-INF != 5.0) = double: false
766  764.    !(-INF <  5.0) = double: false
767  765.    !(-INF <= 5.0) = double: false
768  766.    !(-INF >  5.0) = double: true
769  767.    !(-INF >= 5.0) = double: true
770  768.    ------------------- test -INF op value
771  769.    -5.0 + -INF = float:  -Infinity
772  770.    -5.0 - -INF = float:  Infinity
773  771.    -5.0 * -INF = float:  Infinity
774  772.    -5.0 / -INF = float:  0.0
775  773.    -5.0 % -INF = float:  -5.0
776  774.    -5.0 + -INF = double: -Infinity
777  775.    -5.0 - -INF = double: Infinity
778  776.    -5.0 * -INF = double: Infinity
779  777.    -5.0 / -INF = double: 0.0
780  778.    -5.0 % -INF = double: -5.0
781  779.     (-5.0 == -INF) = float: false
782  780.     (-5.0 != -INF) = float: true
783  781.     (-5.0 <  -INF) = float: false
784  782.     (-5.0 <= -INF) = float: false
785  783.     (-5.0 >  -INF) = float: true
786  784.     (-5.0 >= -INF) = float: true
787  785.    !(-5.0 == -INF) = float: true
788  786.    !(-5.0 != -INF) = float: false
789  787.    !(-5.0 <  -INF) = float: true
790  788.    !(-5.0 <= -INF) = float: true
791  789.    !(-5.0 >  -INF) = float: false
792  790.    !(-5.0 >= -INF) = float: false
793  791.     (-5.0 == -INF) = double: false
794  792.     (-5.0 != -INF) = double: true
795  793.     (-5.0 <  -INF) = double: false
796  794.     (-5.0 <= -INF) = double: false
797  795.     (-5.0 >  -INF) = double: true
798  796.     (-5.0 >= -INF) = double: true
799  797.    !(-5.0 == -INF) = double: true
800  798.    !(-5.0 != -INF) = double: false
801  799.    !(-5.0 <  -INF) = double: true
802  800.    !(-5.0 <= -INF) = double: true
803  801.    !(-5.0 >  -INF) = double: false
804  802.    !(-5.0 >= -INF) = double: false
805  803.    -0.0 + -INF = float:  -Infinity
806  804.    -0.0 - -INF = float:  Infinity
807  805.    -0.0 * -INF = float:  NaN
808  806.    -0.0 / -INF = float:  0.0
809  807.    -0.0 % -INF = float:  -0.0
810  808.    -0.0 + -INF = double: -Infinity
811  809.    -0.0 - -INF = double: Infinity
812  810.    -0.0 * -INF = double: NaN
813  811.    -0.0 / -INF = double: 0.0
814  812.    -0.0 % -INF = double: -0.0
815  813.     (-0.0 == -INF) = float: false
816  814.     (-0.0 != -INF) = float: true
817  815.     (-0.0 <  -INF) = float: false
818  816.     (-0.0 <= -INF) = float: false
819  817.     (-0.0 >  -INF) = float: true
820  818.     (-0.0 >= -INF) = float: true
821  819.    !(-0.0 == -INF) = float: true
822  820.    !(-0.0 != -INF) = float: false
823  821.    !(-0.0 <  -INF) = float: true
824  822.    !(-0.0 <= -INF) = float: true
825  823.    !(-0.0 >  -INF) = float: false
826  824.    !(-0.0 >= -INF) = float: false
827  825.     (-0.0 == -INF) = double: false
828  826.     (-0.0 != -INF) = double: true
829  827.     (-0.0 <  -INF) = double: false
830  828.     (-0.0 <= -INF) = double: false
831  829.     (-0.0 >  -INF) = double: true
832  830.     (-0.0 >= -INF) = double: true
833  831.    !(-0.0 == -INF) = double: true
834  832.    !(-0.0 != -INF) = double: false
835  833.    !(-0.0 <  -INF) = double: true
836  834.    !(-0.0 <= -INF) = double: true
837  835.    !(-0.0 >  -INF) = double: false
838  836.    !(-0.0 >= -INF) = double: false
839  837.    0.0 + -INF = float:  -Infinity
840  838.    0.0 - -INF = float:  Infinity
841  839.    0.0 * -INF = float:  NaN
842  840.    0.0 / -INF = float:  -0.0
843  841.    0.0 % -INF = float:  0.0
844  842.    0.0 + -INF = double: -Infinity
845  843.    0.0 - -INF = double: Infinity
846  844.    0.0 * -INF = double: NaN
847  845.    0.0 / -INF = double: -0.0
848  846.    0.0 % -INF = double: 0.0
849  847.     (0.0 == -INF) = float: false
850  848.     (0.0 != -INF) = float: true
851  849.     (0.0 <  -INF) = float: false
852  850.     (0.0 <= -INF) = float: false
853  851.     (0.0 >  -INF) = float: true
854  852.     (0.0 >= -INF) = float: true
855  853.    !(0.0 == -INF) = float: true
856  854.    !(0.0 != -INF) = float: false
857  855.    !(0.0 <  -INF) = float: true
858  856.    !(0.0 <= -INF) = float: true
859  857.    !(0.0 >  -INF) = float: false
860  858.    !(0.0 >= -INF) = float: false
861  859.     (0.0 == -INF) = double: false
862  860.     (0.0 != -INF) = double: true
863  861.     (0.0 <  -INF) = double: false
864  862.     (0.0 <= -INF) = double: false
865  863.     (0.0 >  -INF) = double: true
866  864.     (0.0 >= -INF) = double: true
867  865.    !(0.0 == -INF) = double: true
868  866.    !(0.0 != -INF) = double: false
869  867.    !(0.0 <  -INF) = double: true
870  868.    !(0.0 <= -INF) = double: true
871  869.    !(0.0 >  -INF) = double: false
872  870.    !(0.0 >= -INF) = double: false
873  871.    5.0 + -INF = float:  -Infinity
874  872.    5.0 - -INF = float:  Infinity
875  873.    5.0 * -INF = float:  -Infinity
876  874.    5.0 / -INF = float:  -0.0
877  875.    5.0 % -INF = float:  5.0
878  876.    5.0 + -INF = double: -Infinity
879  877.    5.0 - -INF = double: Infinity
880  878.    5.0 * -INF = double: -Infinity
881  879.    5.0 / -INF = double: -0.0
882  880.    5.0 % -INF = double: 5.0
883  881.     (5.0 == -INF) = float: false
884  882.     (5.0 != -INF) = float: true
885  883.     (5.0 <  -INF) = float: false
886  884.     (5.0 <= -INF) = float: false
887  885.     (5.0 >  -INF) = float: true
888  886.     (5.0 >= -INF) = float: true
889  887.    !(5.0 == -INF) = float: true
890  888.    !(5.0 != -INF) = float: false
891  889.    !(5.0 <  -INF) = float: true
892  890.    !(5.0 <= -INF) = float: true
893  891.    !(5.0 >  -INF) = float: false
894  892.    !(5.0 >= -INF) = float: false
895  893.     (5.0 == -INF) = double: false
896  894.     (5.0 != -INF) = double: true
897  895.     (5.0 <  -INF) = double: false
898  896.     (5.0 <= -INF) = double: false
899  897.     (5.0 >  -INF) = double: true
900  898.     (5.0 >= -INF) = double: true
901  899.    !(5.0 == -INF) = double: true
902  900.    !(5.0 != -INF) = double: false
903  901.    !(5.0 <  -INF) = double: true
904  902.    !(5.0 <= -INF) = double: true
905  903.    !(5.0 >  -INF) = double: false
906  904.    !(5.0 >= -INF) = double: false
907  905.    ------------------- test MAX op value
908  906.    MAX + 5.0 = float:  3.4028235E38
909  907.    MAX - 5.0 = float:  3.4028235E38
910  908.    MAX * 5.0 = float:  Infinity
911  909.    MAX / 5.0 = float:  6.805647E37
912  910.    MAX % 5.0 = float:  0.0
913  911.    MAX + 5.0 = double: 1.7976931348623157E308
914  912.    MAX - 5.0 = double: 1.7976931348623157E308
915  913.    MAX * 5.0 = double: Infinity
916  914.    MAX / 5.0 = double: 3.5953862697246315E307
917  915.    MAX % 5.0 = double: 3.0
918  916.    ------------------- test value op MAX
919  917.    5.0 + MAX = float:  3.4028235E38
920  918.    5.0 - MAX = float:  -3.4028235E38
921  919.    5.0 * MAX = float:  Infinity
922  920.    5.0 / MAX = float:  1.4693681E-38
923  921.    5.0 % MAX = float:  5.0
924  922.    5.0 + MAX = double: 1.7976931348623157E308
925  923.    5.0 - MAX = double: -1.7976931348623157E308
926  924.    5.0 * MAX = double: Infinity
927  925.    5.0 / MAX = double: 2.781342323134002E-308
928  926.    5.0 % MAX = double: 5.0
929  927.    ------------------- test MIN op value
930  928.    MIN + 5.0 = float:  5.0
931  929.    MIN - 5.0 = float:  -5.0
932  930.    MIN * 5.0 = float:  7.0E-45
933  931.    MIN / 5.0 = float:  0.0
934  932.    MIN % 5.0 = float:  1.4E-45
935  933.    MIN + 5.0 = double: 5.0
936  934.    MIN - 5.0 = double: -5.0
937  935.    MIN * 5.0 = double: 2.5E-323
938  936.    MIN / 5.0 = double: 0.0
939  937.    MIN % 5.0 = double: 4.9E-324
940  938.    ------------------- test value op MIN
941  939.    5.0 + MIN = float:  5.0
942  940.    5.0 - MIN = float:  5.0
943  941.    5.0 * MIN = float:  7.0E-45
944  942.    5.0 / MIN = float:  Infinity
945  943.    5.0 % MIN = float:  0.0
946  944.    5.0 + MIN = double: 5.0
947  945.    5.0 - MIN = double: 5.0
948  946.    5.0 * MIN = double: 2.5E-323
949  947.    5.0 / MIN = double: Infinity
950  948.    5.0 % MIN = double: 0.0
951  949.