Fix use-after-free in parallel_vacuum_reset_dead_items
[pgsql.git] / src / test / regress / expected / float4.out
blob1d21c4390ad71e793d7a59edc136adac48fa683a
1 --
2 -- FLOAT4
3 --
4 CREATE TABLE FLOAT4_TBL (f1  float4);
5 INSERT INTO FLOAT4_TBL(f1) VALUES ('    0.0');
6 INSERT INTO FLOAT4_TBL(f1) VALUES ('1004.30   ');
7 INSERT INTO FLOAT4_TBL(f1) VALUES ('     -34.84    ');
8 INSERT INTO FLOAT4_TBL(f1) VALUES ('1.2345678901234e+20');
9 INSERT INTO FLOAT4_TBL(f1) VALUES ('1.2345678901234e-20');
10 -- test for over and under flow
11 INSERT INTO FLOAT4_TBL(f1) VALUES ('10e70');
12 ERROR:  "10e70" is out of range for type real
13 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('10e70');
14                                            ^
15 INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e70');
16 ERROR:  "-10e70" is out of range for type real
17 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e70');
18                                            ^
19 INSERT INTO FLOAT4_TBL(f1) VALUES ('10e-70');
20 ERROR:  "10e-70" is out of range for type real
21 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('10e-70');
22                                            ^
23 INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e-70');
24 ERROR:  "-10e-70" is out of range for type real
25 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e-70');
26                                            ^
27 INSERT INTO FLOAT4_TBL(f1) VALUES ('10e70'::float8);
28 ERROR:  value out of range: overflow
29 INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e70'::float8);
30 ERROR:  value out of range: overflow
31 INSERT INTO FLOAT4_TBL(f1) VALUES ('10e-70'::float8);
32 ERROR:  value out of range: underflow
33 INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e-70'::float8);
34 ERROR:  value out of range: underflow
35 INSERT INTO FLOAT4_TBL(f1) VALUES ('10e400');
36 ERROR:  "10e400" is out of range for type real
37 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('10e400');
38                                            ^
39 INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e400');
40 ERROR:  "-10e400" is out of range for type real
41 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e400');
42                                            ^
43 INSERT INTO FLOAT4_TBL(f1) VALUES ('10e-400');
44 ERROR:  "10e-400" is out of range for type real
45 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('10e-400');
46                                            ^
47 INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e-400');
48 ERROR:  "-10e-400" is out of range for type real
49 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e-400');
50                                            ^
51 -- bad input
52 INSERT INTO FLOAT4_TBL(f1) VALUES ('');
53 ERROR:  invalid input syntax for type real: ""
54 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('');
55                                            ^
56 INSERT INTO FLOAT4_TBL(f1) VALUES ('       ');
57 ERROR:  invalid input syntax for type real: "       "
58 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('       ');
59                                            ^
60 INSERT INTO FLOAT4_TBL(f1) VALUES ('xyz');
61 ERROR:  invalid input syntax for type real: "xyz"
62 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('xyz');
63                                            ^
64 INSERT INTO FLOAT4_TBL(f1) VALUES ('5.0.0');
65 ERROR:  invalid input syntax for type real: "5.0.0"
66 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('5.0.0');
67                                            ^
68 INSERT INTO FLOAT4_TBL(f1) VALUES ('5 . 0');
69 ERROR:  invalid input syntax for type real: "5 . 0"
70 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('5 . 0');
71                                            ^
72 INSERT INTO FLOAT4_TBL(f1) VALUES ('5.   0');
73 ERROR:  invalid input syntax for type real: "5.   0"
74 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('5.   0');
75                                            ^
76 INSERT INTO FLOAT4_TBL(f1) VALUES ('     - 3.0');
77 ERROR:  invalid input syntax for type real: "     - 3.0"
78 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('     - 3.0');
79                                            ^
80 INSERT INTO FLOAT4_TBL(f1) VALUES ('123            5');
81 ERROR:  invalid input syntax for type real: "123            5"
82 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('123            5');
83                                            ^
84 -- Also try it with non-error-throwing API
85 SELECT pg_input_is_valid('34.5', 'float4');
86  pg_input_is_valid 
87 -------------------
88  t
89 (1 row)
91 SELECT pg_input_is_valid('xyz', 'float4');
92  pg_input_is_valid 
93 -------------------
94  f
95 (1 row)
97 SELECT pg_input_is_valid('1e400', 'float4');
98  pg_input_is_valid 
99 -------------------
101 (1 row)
103 SELECT * FROM pg_input_error_info('1e400', 'float4');
104                 message                | detail | hint | sql_error_code 
105 ---------------------------------------+--------+------+----------------
106  "1e400" is out of range for type real |        |      | 22003
107 (1 row)
109 -- special inputs
110 SELECT 'NaN'::float4;
111  float4 
112 --------
113     NaN
114 (1 row)
116 SELECT 'nan'::float4;
117  float4 
118 --------
119     NaN
120 (1 row)
122 SELECT '   NAN  '::float4;
123  float4 
124 --------
125     NaN
126 (1 row)
128 SELECT 'infinity'::float4;
129   float4  
130 ----------
131  Infinity
132 (1 row)
134 SELECT '          -INFINiTY   '::float4;
135   float4   
136 -----------
137  -Infinity
138 (1 row)
140 -- bad special inputs
141 SELECT 'N A N'::float4;
142 ERROR:  invalid input syntax for type real: "N A N"
143 LINE 1: SELECT 'N A N'::float4;
144                ^
145 SELECT 'NaN x'::float4;
146 ERROR:  invalid input syntax for type real: "NaN x"
147 LINE 1: SELECT 'NaN x'::float4;
148                ^
149 SELECT ' INFINITY    x'::float4;
150 ERROR:  invalid input syntax for type real: " INFINITY    x"
151 LINE 1: SELECT ' INFINITY    x'::float4;
152                ^
153 SELECT 'Infinity'::float4 + 100.0;
154  ?column? 
155 ----------
156  Infinity
157 (1 row)
159 SELECT 'Infinity'::float4 / 'Infinity'::float4;
160  ?column? 
161 ----------
162       NaN
163 (1 row)
165 SELECT '42'::float4 / 'Infinity'::float4;
166  ?column? 
167 ----------
168         0
169 (1 row)
171 SELECT 'nan'::float4 / 'nan'::float4;
172  ?column? 
173 ----------
174       NaN
175 (1 row)
177 SELECT 'nan'::float4 / '0'::float4;
178  ?column? 
179 ----------
180       NaN
181 (1 row)
183 SELECT 'nan'::numeric::float4;
184  float4 
185 --------
186     NaN
187 (1 row)
189 SELECT * FROM FLOAT4_TBL;
190       f1       
191 ---------------
192              0
193         1004.3
194         -34.84
195  1.2345679e+20
196  1.2345679e-20
197 (5 rows)
199 SELECT f.* FROM FLOAT4_TBL f WHERE f.f1 <> '1004.3';
200       f1       
201 ---------------
202              0
203         -34.84
204  1.2345679e+20
205  1.2345679e-20
206 (4 rows)
208 SELECT f.* FROM FLOAT4_TBL f WHERE f.f1 = '1004.3';
209    f1   
210 --------
211  1004.3
212 (1 row)
214 SELECT f.* FROM FLOAT4_TBL f WHERE '1004.3' > f.f1;
215       f1       
216 ---------------
217              0
218         -34.84
219  1.2345679e-20
220 (3 rows)
222 SELECT f.* FROM FLOAT4_TBL f WHERE  f.f1 < '1004.3';
223       f1       
224 ---------------
225              0
226         -34.84
227  1.2345679e-20
228 (3 rows)
230 SELECT f.* FROM FLOAT4_TBL f WHERE '1004.3' >= f.f1;
231       f1       
232 ---------------
233              0
234         1004.3
235         -34.84
236  1.2345679e-20
237 (4 rows)
239 SELECT f.* FROM FLOAT4_TBL f WHERE  f.f1 <= '1004.3';
240       f1       
241 ---------------
242              0
243         1004.3
244         -34.84
245  1.2345679e-20
246 (4 rows)
248 SELECT f.f1, f.f1 * '-10' AS x FROM FLOAT4_TBL f
249    WHERE f.f1 > '0.0';
250       f1       |       x        
251 ---------------+----------------
252         1004.3 |         -10043
253  1.2345679e+20 | -1.2345678e+21
254  1.2345679e-20 | -1.2345678e-19
255 (3 rows)
257 SELECT f.f1, f.f1 + '-10' AS x FROM FLOAT4_TBL f
258    WHERE f.f1 > '0.0';
259       f1       |       x       
260 ---------------+---------------
261         1004.3 |         994.3
262  1.2345679e+20 | 1.2345679e+20
263  1.2345679e-20 |           -10
264 (3 rows)
266 SELECT f.f1, f.f1 / '-10' AS x FROM FLOAT4_TBL f
267    WHERE f.f1 > '0.0';
268       f1       |       x        
269 ---------------+----------------
270         1004.3 |        -100.43
271  1.2345679e+20 | -1.2345679e+19
272  1.2345679e-20 | -1.2345679e-21
273 (3 rows)
275 SELECT f.f1, f.f1 - '-10' AS x FROM FLOAT4_TBL f
276    WHERE f.f1 > '0.0';
277       f1       |       x       
278 ---------------+---------------
279         1004.3 |        1014.3
280  1.2345679e+20 | 1.2345679e+20
281  1.2345679e-20 |            10
282 (3 rows)
284 -- test divide by zero
285 SELECT f.f1 / '0.0' from FLOAT4_TBL f;
286 ERROR:  division by zero
287 SELECT * FROM FLOAT4_TBL;
288       f1       
289 ---------------
290              0
291         1004.3
292         -34.84
293  1.2345679e+20
294  1.2345679e-20
295 (5 rows)
297 -- test the unary float4abs operator
298 SELECT f.f1, @f.f1 AS abs_f1 FROM FLOAT4_TBL f;
299       f1       |    abs_f1     
300 ---------------+---------------
301              0 |             0
302         1004.3 |        1004.3
303         -34.84 |         34.84
304  1.2345679e+20 | 1.2345679e+20
305  1.2345679e-20 | 1.2345679e-20
306 (5 rows)
308 UPDATE FLOAT4_TBL
309    SET f1 = FLOAT4_TBL.f1 * '-1'
310    WHERE FLOAT4_TBL.f1 > '0.0';
311 SELECT * FROM FLOAT4_TBL;
312        f1       
313 ----------------
314               0
315          -34.84
316         -1004.3
317  -1.2345679e+20
318  -1.2345679e-20
319 (5 rows)
321 -- test edge-case coercions to integer
322 SELECT '32767.4'::float4::int2;
323  int2  
324 -------
325  32767
326 (1 row)
328 SELECT '32767.6'::float4::int2;
329 ERROR:  smallint out of range
330 SELECT '-32768.4'::float4::int2;
331   int2  
332 --------
333  -32768
334 (1 row)
336 SELECT '-32768.6'::float4::int2;
337 ERROR:  smallint out of range
338 SELECT '2147483520'::float4::int4;
339     int4    
340 ------------
341  2147483520
342 (1 row)
344 SELECT '2147483647'::float4::int4;
345 ERROR:  integer out of range
346 SELECT '-2147483648.5'::float4::int4;
347     int4     
348 -------------
349  -2147483648
350 (1 row)
352 SELECT '-2147483900'::float4::int4;
353 ERROR:  integer out of range
354 SELECT '9223369837831520256'::float4::int8;
355         int8         
356 ---------------------
357  9223369837831520256
358 (1 row)
360 SELECT '9223372036854775807'::float4::int8;
361 ERROR:  bigint out of range
362 SELECT '-9223372036854775808.5'::float4::int8;
363          int8         
364 ----------------------
365  -9223372036854775808
366 (1 row)
368 SELECT '-9223380000000000000'::float4::int8;
369 ERROR:  bigint out of range
370 -- Test for correct input rounding in edge cases.
371 -- These lists are from Paxson 1991, excluding subnormals and
372 -- inputs of over 9 sig. digits.
373 SELECT float4send('5e-20'::float4);
374  float4send 
375 ------------
376  \x1f6c1e4a
377 (1 row)
379 SELECT float4send('67e14'::float4);
380  float4send 
381 ------------
382  \x59be6cea
383 (1 row)
385 SELECT float4send('985e15'::float4);
386  float4send 
387 ------------
388  \x5d5ab6c4
389 (1 row)
391 SELECT float4send('55895e-16'::float4);
392  float4send 
393 ------------
394  \x2cc4a9bd
395 (1 row)
397 SELECT float4send('7038531e-32'::float4);
398  float4send 
399 ------------
400  \x15ae43fd
401 (1 row)
403 SELECT float4send('702990899e-20'::float4);
404  float4send 
405 ------------
406  \x2cf757ca
407 (1 row)
409 SELECT float4send('3e-23'::float4);
410  float4send 
411 ------------
412  \x1a111234
413 (1 row)
415 SELECT float4send('57e18'::float4);
416  float4send 
417 ------------
418  \x6045c22c
419 (1 row)
421 SELECT float4send('789e-35'::float4);
422  float4send 
423 ------------
424  \x0a23de70
425 (1 row)
427 SELECT float4send('2539e-18'::float4);
428  float4send 
429 ------------
430  \x2736f449
431 (1 row)
433 SELECT float4send('76173e28'::float4);
434  float4send 
435 ------------
436  \x7616398a
437 (1 row)
439 SELECT float4send('887745e-11'::float4);
440  float4send 
441 ------------
442  \x3714f05c
443 (1 row)
445 SELECT float4send('5382571e-37'::float4);
446  float4send 
447 ------------
448  \x0d2eaca7
449 (1 row)
451 SELECT float4send('82381273e-35'::float4);
452  float4send 
453 ------------
454  \x128289d1
455 (1 row)
457 SELECT float4send('750486563e-38'::float4);
458  float4send 
459 ------------
460  \x0f18377e
461 (1 row)
463 -- Test that the smallest possible normalized input value inputs
464 -- correctly, either in 9-significant-digit or shortest-decimal
465 -- format.
467 -- exact val is             1.1754943508...
468 -- shortest val is          1.1754944000
469 -- midpoint to next val is  1.1754944208...
470 SELECT float4send('1.17549435e-38'::float4);
471  float4send 
472 ------------
473  \x00800000
474 (1 row)
476 SELECT float4send('1.1754944e-38'::float4);
477  float4send 
478 ------------
479  \x00800000
480 (1 row)
482 -- test output (and round-trip safety) of various values.
483 -- To ensure we're testing what we think we're testing, start with
484 -- float values specified by bit patterns (as a useful side effect,
485 -- this means we'll fail on non-IEEE platforms).
486 create type xfloat4;
487 create function xfloat4in(cstring) returns xfloat4 immutable strict
488   language internal as 'int4in';
489 NOTICE:  return type xfloat4 is only a shell
490 create function xfloat4out(xfloat4) returns cstring immutable strict
491   language internal as 'int4out';
492 NOTICE:  argument type xfloat4 is only a shell
493 LINE 1: create function xfloat4out(xfloat4) returns cstring immutabl...
494                                    ^
495 create type xfloat4 (input = xfloat4in, output = xfloat4out, like = float4);
496 create cast (xfloat4 as float4) without function;
497 create cast (float4 as xfloat4) without function;
498 create cast (xfloat4 as integer) without function;
499 create cast (integer as xfloat4) without function;
500 -- float4: seeeeeee emmmmmmm mmmmmmmm mmmmmmmm
501 -- we don't care to assume the platform's strtod() handles subnormals
502 -- correctly; those are "use at your own risk". However we do test
503 -- subnormal outputs, since those are under our control.
504 with testdata(bits) as (values
505   -- small subnormals
506   (x'00000001'),
507   (x'00000002'), (x'00000003'),
508   (x'00000010'), (x'00000011'), (x'00000100'), (x'00000101'),
509   (x'00004000'), (x'00004001'), (x'00080000'), (x'00080001'),
510   -- stress values
511   (x'0053c4f4'),  -- 7693e-42
512   (x'006c85c4'),  -- 996622e-44
513   (x'0041ca76'),  -- 60419369e-46
514   (x'004b7678'),  -- 6930161142e-48
515   -- taken from upstream testsuite
516   (x'00000007'),
517   (x'00424fe2'),
518   -- borderline between subnormal and normal
519   (x'007ffff0'), (x'007ffff1'), (x'007ffffe'), (x'007fffff'))
520 select float4send(flt) as ibits,
521        flt
522   from (select bits::integer::xfloat4::float4 as flt
523           from testdata
524         offset 0) s;
525    ibits    |      flt      
526 ------------+---------------
527  \x00000001 |         1e-45
528  \x00000002 |         3e-45
529  \x00000003 |         4e-45
530  \x00000010 |       2.2e-44
531  \x00000011 |       2.4e-44
532  \x00000100 |      3.59e-43
533  \x00000101 |       3.6e-43
534  \x00004000 |    2.2959e-41
535  \x00004001 |     2.296e-41
536  \x00080000 |   7.34684e-40
537  \x00080001 |   7.34685e-40
538  \x0053c4f4 |     7.693e-39
539  \x006c85c4 |   9.96622e-39
540  \x0041ca76 |  6.041937e-39
541  \x004b7678 |  6.930161e-39
542  \x00000007 |         1e-44
543  \x00424fe2 |    6.0898e-39
544  \x007ffff0 | 1.1754921e-38
545  \x007ffff1 | 1.1754922e-38
546  \x007ffffe | 1.1754941e-38
547  \x007fffff | 1.1754942e-38
548 (21 rows)
550 with testdata(bits) as (values
551   (x'00000000'),
552   -- smallest normal values
553   (x'00800000'), (x'00800001'), (x'00800004'), (x'00800005'),
554   (x'00800006'),
555   -- small normal values chosen for short vs. long output
556   (x'008002f1'), (x'008002f2'), (x'008002f3'),
557   (x'00800e17'), (x'00800e18'), (x'00800e19'),
558   -- assorted values (random mantissae)
559   (x'01000001'), (x'01102843'), (x'01a52c98'),
560   (x'0219c229'), (x'02e4464d'), (x'037343c1'), (x'03a91b36'),
561   (x'047ada65'), (x'0496fe87'), (x'0550844f'), (x'05999da3'),
562   (x'060ea5e2'), (x'06e63c45'), (x'07f1e548'), (x'0fc5282b'),
563   (x'1f850283'), (x'2874a9d6'),
564   -- values around 5e-08
565   (x'3356bf94'), (x'3356bf95'), (x'3356bf96'),
566   -- around 1e-07
567   (x'33d6bf94'), (x'33d6bf95'), (x'33d6bf96'),
568   -- around 3e-07 .. 1e-04
569   (x'34a10faf'), (x'34a10fb0'), (x'34a10fb1'),
570   (x'350637bc'), (x'350637bd'), (x'350637be'),
571   (x'35719786'), (x'35719787'), (x'35719788'),
572   (x'358637bc'), (x'358637bd'), (x'358637be'),
573   (x'36a7c5ab'), (x'36a7c5ac'), (x'36a7c5ad'),
574   (x'3727c5ab'), (x'3727c5ac'), (x'3727c5ad'),
575   -- format crossover at 1e-04
576   (x'38d1b714'), (x'38d1b715'), (x'38d1b716'),
577   (x'38d1b717'), (x'38d1b718'), (x'38d1b719'),
578   (x'38d1b71a'), (x'38d1b71b'), (x'38d1b71c'),
579   (x'38d1b71d'),
580   --
581   (x'38dffffe'), (x'38dfffff'), (x'38e00000'),
582   (x'38efffff'), (x'38f00000'), (x'38f00001'),
583   (x'3a83126e'), (x'3a83126f'), (x'3a831270'),
584   (x'3c23d709'), (x'3c23d70a'), (x'3c23d70b'),
585   (x'3dcccccc'), (x'3dcccccd'), (x'3dccccce'),
586   -- chosen to need 9 digits for 3dcccd70
587   (x'3dcccd6f'), (x'3dcccd70'), (x'3dcccd71'),
588   --
589   (x'3effffff'), (x'3f000000'), (x'3f000001'),
590   (x'3f333332'), (x'3f333333'), (x'3f333334'),
591   -- approach 1.0 with increasing numbers of 9s
592   (x'3f666665'), (x'3f666666'), (x'3f666667'),
593   (x'3f7d70a3'), (x'3f7d70a4'), (x'3f7d70a5'),
594   (x'3f7fbe76'), (x'3f7fbe77'), (x'3f7fbe78'),
595   (x'3f7ff971'), (x'3f7ff972'), (x'3f7ff973'),
596   (x'3f7fff57'), (x'3f7fff58'), (x'3f7fff59'),
597   (x'3f7fffee'), (x'3f7fffef'),
598   -- values very close to 1
599   (x'3f7ffff0'), (x'3f7ffff1'), (x'3f7ffff2'),
600   (x'3f7ffff3'), (x'3f7ffff4'), (x'3f7ffff5'),
601   (x'3f7ffff6'), (x'3f7ffff7'), (x'3f7ffff8'),
602   (x'3f7ffff9'), (x'3f7ffffa'), (x'3f7ffffb'),
603   (x'3f7ffffc'), (x'3f7ffffd'), (x'3f7ffffe'),
604   (x'3f7fffff'),
605   (x'3f800000'),
606   (x'3f800001'), (x'3f800002'), (x'3f800003'),
607   (x'3f800004'), (x'3f800005'), (x'3f800006'),
608   (x'3f800007'), (x'3f800008'), (x'3f800009'),
609   -- values 1 to 1.1
610   (x'3f80000f'), (x'3f800010'), (x'3f800011'),
611   (x'3f800012'), (x'3f800013'), (x'3f800014'),
612   (x'3f800017'), (x'3f800018'), (x'3f800019'),
613   (x'3f80001a'), (x'3f80001b'), (x'3f80001c'),
614   (x'3f800029'), (x'3f80002a'), (x'3f80002b'),
615   (x'3f800053'), (x'3f800054'), (x'3f800055'),
616   (x'3f800346'), (x'3f800347'), (x'3f800348'),
617   (x'3f8020c4'), (x'3f8020c5'), (x'3f8020c6'),
618   (x'3f8147ad'), (x'3f8147ae'), (x'3f8147af'),
619   (x'3f8ccccc'), (x'3f8ccccd'), (x'3f8cccce'),
620   --
621   (x'3fc90fdb'), -- pi/2
622   (x'402df854'), -- e
623   (x'40490fdb'), -- pi
624   --
625   (x'409fffff'), (x'40a00000'), (x'40a00001'),
626   (x'40afffff'), (x'40b00000'), (x'40b00001'),
627   (x'411fffff'), (x'41200000'), (x'41200001'),
628   (x'42c7ffff'), (x'42c80000'), (x'42c80001'),
629   (x'4479ffff'), (x'447a0000'), (x'447a0001'),
630   (x'461c3fff'), (x'461c4000'), (x'461c4001'),
631   (x'47c34fff'), (x'47c35000'), (x'47c35001'),
632   (x'497423ff'), (x'49742400'), (x'49742401'),
633   (x'4b18967f'), (x'4b189680'), (x'4b189681'),
634   (x'4cbebc1f'), (x'4cbebc20'), (x'4cbebc21'),
635   (x'4e6e6b27'), (x'4e6e6b28'), (x'4e6e6b29'),
636   (x'501502f8'), (x'501502f9'), (x'501502fa'),
637   (x'51ba43b6'), (x'51ba43b7'), (x'51ba43b8'),
638   -- stress values
639   (x'1f6c1e4a'),  -- 5e-20
640   (x'59be6cea'),  -- 67e14
641   (x'5d5ab6c4'),  -- 985e15
642   (x'2cc4a9bd'),  -- 55895e-16
643   (x'15ae43fd'),  -- 7038531e-32
644   (x'2cf757ca'),  -- 702990899e-20
645   (x'665ba998'),  -- 25933168707e13
646   (x'743c3324'),  -- 596428896559e20
647   -- exercise fixed-point memmoves
648   (x'47f1205a'),
649   (x'4640e6ae'),
650   (x'449a5225'),
651   (x'42f6e9d5'),
652   (x'414587dd'),
653   (x'3f9e064b'),
654   -- these cases come from the upstream's testsuite
655   -- BoundaryRoundEven
656   (x'4c000004'),
657   (x'50061c46'),
658   (x'510006a8'),
659   -- ExactValueRoundEven
660   (x'48951f84'),
661   (x'45fd1840'),
662   -- LotsOfTrailingZeros
663   (x'39800000'),
664   (x'3b200000'),
665   (x'3b900000'),
666   (x'3bd00000'),
667   -- Regression
668   (x'63800000'),
669   (x'4b000000'),
670   (x'4b800000'),
671   (x'4c000001'),
672   (x'4c800b0d'),
673   (x'00d24584'),
674   (x'00d90b88'),
675   (x'45803f34'),
676   (x'4f9f24f7'),
677   (x'3a8722c3'),
678   (x'5c800041'),
679   (x'15ae43fd'),
680   (x'5d4cccfb'),
681   (x'4c800001'),
682   (x'57800ed8'),
683   (x'5f000000'),
684   (x'700000f0'),
685   (x'5f23e9ac'),
686   (x'5e9502f9'),
687   (x'5e8012b1'),
688   (x'3c000028'),
689   (x'60cde861'),
690   (x'03aa2a50'),
691   (x'43480000'),
692   (x'4c000000'),
693   -- LooksLikePow5
694   (x'5D1502F9'),
695   (x'5D9502F9'),
696   (x'5E1502F9'),
697   -- OutputLength
698   (x'3f99999a'),
699   (x'3f9d70a4'),
700   (x'3f9df3b6'),
701   (x'3f9e0419'),
702   (x'3f9e0610'),
703   (x'3f9e064b'),
704   (x'3f9e0651'),
705   (x'03d20cfe')
707 select float4send(flt) as ibits,
708        flt,
709        flt::text::float4 as r_flt,
710        float4send(flt::text::float4) as obits,
711        float4send(flt::text::float4) = float4send(flt) as correct
712   from (select bits::integer::xfloat4::float4 as flt
713           from testdata
714         offset 0) s;
715    ibits    |      flt       |     r_flt      |   obits    | correct 
716 ------------+----------------+----------------+------------+---------
717  \x00000000 |              0 |              0 | \x00000000 | t
718  \x00800000 |  1.1754944e-38 |  1.1754944e-38 | \x00800000 | t
719  \x00800001 |  1.1754945e-38 |  1.1754945e-38 | \x00800001 | t
720  \x00800004 |  1.1754949e-38 |  1.1754949e-38 | \x00800004 | t
721  \x00800005 |   1.175495e-38 |   1.175495e-38 | \x00800005 | t
722  \x00800006 |  1.1754952e-38 |  1.1754952e-38 | \x00800006 | t
723  \x008002f1 |  1.1755999e-38 |  1.1755999e-38 | \x008002f1 | t
724  \x008002f2 |     1.1756e-38 |     1.1756e-38 | \x008002f2 | t
725  \x008002f3 |  1.1756001e-38 |  1.1756001e-38 | \x008002f3 | t
726  \x00800e17 |  1.1759998e-38 |  1.1759998e-38 | \x00800e17 | t
727  \x00800e18 |      1.176e-38 |      1.176e-38 | \x00800e18 | t
728  \x00800e19 |  1.1760001e-38 |  1.1760001e-38 | \x00800e19 | t
729  \x01000001 |   2.350989e-38 |   2.350989e-38 | \x01000001 | t
730  \x01102843 |   2.647751e-38 |   2.647751e-38 | \x01102843 | t
731  \x01a52c98 |  6.0675416e-38 |  6.0675416e-38 | \x01a52c98 | t
732  \x0219c229 |  1.1296386e-37 |  1.1296386e-37 | \x0219c229 | t
733  \x02e4464d |   3.354194e-37 |   3.354194e-37 | \x02e4464d | t
734  \x037343c1 |   7.148906e-37 |   7.148906e-37 | \x037343c1 | t
735  \x03a91b36 |   9.939175e-37 |   9.939175e-37 | \x03a91b36 | t
736  \x047ada65 |   2.948764e-36 |   2.948764e-36 | \x047ada65 | t
737  \x0496fe87 |  3.5498577e-36 |  3.5498577e-36 | \x0496fe87 | t
738  \x0550844f |   9.804414e-36 |   9.804414e-36 | \x0550844f | t
739  \x05999da3 |  1.4445957e-35 |  1.4445957e-35 | \x05999da3 | t
740  \x060ea5e2 |  2.6829103e-35 |  2.6829103e-35 | \x060ea5e2 | t
741  \x06e63c45 |   8.660494e-35 |   8.660494e-35 | \x06e63c45 | t
742  \x07f1e548 |   3.639641e-34 |   3.639641e-34 | \x07f1e548 | t
743  \x0fc5282b |  1.9441172e-29 |  1.9441172e-29 | \x0fc5282b | t
744  \x1f850283 |  5.6331846e-20 |  5.6331846e-20 | \x1f850283 | t
745  \x2874a9d6 |  1.3581548e-14 |  1.3581548e-14 | \x2874a9d6 | t
746  \x3356bf94 |  4.9999997e-08 |  4.9999997e-08 | \x3356bf94 | t
747  \x3356bf95 |          5e-08 |          5e-08 | \x3356bf95 | t
748  \x3356bf96 |  5.0000004e-08 |  5.0000004e-08 | \x3356bf96 | t
749  \x33d6bf94 |  9.9999994e-08 |  9.9999994e-08 | \x33d6bf94 | t
750  \x33d6bf95 |          1e-07 |          1e-07 | \x33d6bf95 | t
751  \x33d6bf96 |  1.0000001e-07 |  1.0000001e-07 | \x33d6bf96 | t
752  \x34a10faf |  2.9999998e-07 |  2.9999998e-07 | \x34a10faf | t
753  \x34a10fb0 |          3e-07 |          3e-07 | \x34a10fb0 | t
754  \x34a10fb1 |  3.0000004e-07 |  3.0000004e-07 | \x34a10fb1 | t
755  \x350637bc |  4.9999994e-07 |  4.9999994e-07 | \x350637bc | t
756  \x350637bd |          5e-07 |          5e-07 | \x350637bd | t
757  \x350637be |  5.0000006e-07 |  5.0000006e-07 | \x350637be | t
758  \x35719786 |   8.999999e-07 |   8.999999e-07 | \x35719786 | t
759  \x35719787 |          9e-07 |          9e-07 | \x35719787 | t
760  \x35719788 |  9.0000003e-07 |  9.0000003e-07 | \x35719788 | t
761  \x358637bc |   9.999999e-07 |   9.999999e-07 | \x358637bc | t
762  \x358637bd |          1e-06 |          1e-06 | \x358637bd | t
763  \x358637be |  1.0000001e-06 |  1.0000001e-06 | \x358637be | t
764  \x36a7c5ab |  4.9999994e-06 |  4.9999994e-06 | \x36a7c5ab | t
765  \x36a7c5ac |          5e-06 |          5e-06 | \x36a7c5ac | t
766  \x36a7c5ad |  5.0000003e-06 |  5.0000003e-06 | \x36a7c5ad | t
767  \x3727c5ab |   9.999999e-06 |   9.999999e-06 | \x3727c5ab | t
768  \x3727c5ac |          1e-05 |          1e-05 | \x3727c5ac | t
769  \x3727c5ad |  1.0000001e-05 |  1.0000001e-05 | \x3727c5ad | t
770  \x38d1b714 |  9.9999976e-05 |  9.9999976e-05 | \x38d1b714 | t
771  \x38d1b715 |   9.999998e-05 |   9.999998e-05 | \x38d1b715 | t
772  \x38d1b716 |   9.999999e-05 |   9.999999e-05 | \x38d1b716 | t
773  \x38d1b717 |         0.0001 |         0.0001 | \x38d1b717 | t
774  \x38d1b718 | 0.000100000005 | 0.000100000005 | \x38d1b718 | t
775  \x38d1b719 |  0.00010000001 |  0.00010000001 | \x38d1b719 | t
776  \x38d1b71a |  0.00010000002 |  0.00010000002 | \x38d1b71a | t
777  \x38d1b71b |  0.00010000003 |  0.00010000003 | \x38d1b71b | t
778  \x38d1b71c | 0.000100000034 | 0.000100000034 | \x38d1b71c | t
779  \x38d1b71d |  0.00010000004 |  0.00010000004 | \x38d1b71d | t
780  \x38dffffe |  0.00010681151 |  0.00010681151 | \x38dffffe | t
781  \x38dfffff | 0.000106811516 | 0.000106811516 | \x38dfffff | t
782  \x38e00000 |  0.00010681152 |  0.00010681152 | \x38e00000 | t
783  \x38efffff |  0.00011444091 |  0.00011444091 | \x38efffff | t
784  \x38f00000 |  0.00011444092 |  0.00011444092 | \x38f00000 | t
785  \x38f00001 | 0.000114440925 | 0.000114440925 | \x38f00001 | t
786  \x3a83126e |   0.0009999999 |   0.0009999999 | \x3a83126e | t
787  \x3a83126f |          0.001 |          0.001 | \x3a83126f | t
788  \x3a831270 |   0.0010000002 |   0.0010000002 | \x3a831270 | t
789  \x3c23d709 |    0.009999999 |    0.009999999 | \x3c23d709 | t
790  \x3c23d70a |           0.01 |           0.01 | \x3c23d70a | t
791  \x3c23d70b |    0.010000001 |    0.010000001 | \x3c23d70b | t
792  \x3dcccccc |    0.099999994 |    0.099999994 | \x3dcccccc | t
793  \x3dcccccd |            0.1 |            0.1 | \x3dcccccd | t
794  \x3dccccce |     0.10000001 |     0.10000001 | \x3dccccce | t
795  \x3dcccd6f |     0.10000121 |     0.10000121 | \x3dcccd6f | t
796  \x3dcccd70 |    0.100001216 |    0.100001216 | \x3dcccd70 | t
797  \x3dcccd71 |     0.10000122 |     0.10000122 | \x3dcccd71 | t
798  \x3effffff |     0.49999997 |     0.49999997 | \x3effffff | t
799  \x3f000000 |            0.5 |            0.5 | \x3f000000 | t
800  \x3f000001 |     0.50000006 |     0.50000006 | \x3f000001 | t
801  \x3f333332 |      0.6999999 |      0.6999999 | \x3f333332 | t
802  \x3f333333 |            0.7 |            0.7 | \x3f333333 | t
803  \x3f333334 |     0.70000005 |     0.70000005 | \x3f333334 | t
804  \x3f666665 |      0.8999999 |      0.8999999 | \x3f666665 | t
805  \x3f666666 |            0.9 |            0.9 | \x3f666666 | t
806  \x3f666667 |     0.90000004 |     0.90000004 | \x3f666667 | t
807  \x3f7d70a3 |     0.98999995 |     0.98999995 | \x3f7d70a3 | t
808  \x3f7d70a4 |           0.99 |           0.99 | \x3f7d70a4 | t
809  \x3f7d70a5 |     0.99000007 |     0.99000007 | \x3f7d70a5 | t
810  \x3f7fbe76 |     0.99899995 |     0.99899995 | \x3f7fbe76 | t
811  \x3f7fbe77 |          0.999 |          0.999 | \x3f7fbe77 | t
812  \x3f7fbe78 |      0.9990001 |      0.9990001 | \x3f7fbe78 | t
813  \x3f7ff971 |      0.9998999 |      0.9998999 | \x3f7ff971 | t
814  \x3f7ff972 |         0.9999 |         0.9999 | \x3f7ff972 | t
815  \x3f7ff973 |     0.99990004 |     0.99990004 | \x3f7ff973 | t
816  \x3f7fff57 |      0.9999899 |      0.9999899 | \x3f7fff57 | t
817  \x3f7fff58 |        0.99999 |        0.99999 | \x3f7fff58 | t
818  \x3f7fff59 |     0.99999005 |     0.99999005 | \x3f7fff59 | t
819  \x3f7fffee |      0.9999989 |      0.9999989 | \x3f7fffee | t
820  \x3f7fffef |       0.999999 |       0.999999 | \x3f7fffef | t
821  \x3f7ffff0 |     0.99999905 |     0.99999905 | \x3f7ffff0 | t
822  \x3f7ffff1 |      0.9999991 |      0.9999991 | \x3f7ffff1 | t
823  \x3f7ffff2 |     0.99999917 |     0.99999917 | \x3f7ffff2 | t
824  \x3f7ffff3 |      0.9999992 |      0.9999992 | \x3f7ffff3 | t
825  \x3f7ffff4 |      0.9999993 |      0.9999993 | \x3f7ffff4 | t
826  \x3f7ffff5 |     0.99999934 |     0.99999934 | \x3f7ffff5 | t
827  \x3f7ffff6 |      0.9999994 |      0.9999994 | \x3f7ffff6 | t
828  \x3f7ffff7 |     0.99999946 |     0.99999946 | \x3f7ffff7 | t
829  \x3f7ffff8 |      0.9999995 |      0.9999995 | \x3f7ffff8 | t
830  \x3f7ffff9 |      0.9999996 |      0.9999996 | \x3f7ffff9 | t
831  \x3f7ffffa |     0.99999964 |     0.99999964 | \x3f7ffffa | t
832  \x3f7ffffb |      0.9999997 |      0.9999997 | \x3f7ffffb | t
833  \x3f7ffffc |     0.99999976 |     0.99999976 | \x3f7ffffc | t
834  \x3f7ffffd |      0.9999998 |      0.9999998 | \x3f7ffffd | t
835  \x3f7ffffe |      0.9999999 |      0.9999999 | \x3f7ffffe | t
836  \x3f7fffff |     0.99999994 |     0.99999994 | \x3f7fffff | t
837  \x3f800000 |              1 |              1 | \x3f800000 | t
838  \x3f800001 |      1.0000001 |      1.0000001 | \x3f800001 | t
839  \x3f800002 |      1.0000002 |      1.0000002 | \x3f800002 | t
840  \x3f800003 |      1.0000004 |      1.0000004 | \x3f800003 | t
841  \x3f800004 |      1.0000005 |      1.0000005 | \x3f800004 | t
842  \x3f800005 |      1.0000006 |      1.0000006 | \x3f800005 | t
843  \x3f800006 |      1.0000007 |      1.0000007 | \x3f800006 | t
844  \x3f800007 |      1.0000008 |      1.0000008 | \x3f800007 | t
845  \x3f800008 |       1.000001 |       1.000001 | \x3f800008 | t
846  \x3f800009 |      1.0000011 |      1.0000011 | \x3f800009 | t
847  \x3f80000f |      1.0000018 |      1.0000018 | \x3f80000f | t
848  \x3f800010 |      1.0000019 |      1.0000019 | \x3f800010 | t
849  \x3f800011 |       1.000002 |       1.000002 | \x3f800011 | t
850  \x3f800012 |      1.0000021 |      1.0000021 | \x3f800012 | t
851  \x3f800013 |      1.0000023 |      1.0000023 | \x3f800013 | t
852  \x3f800014 |      1.0000024 |      1.0000024 | \x3f800014 | t
853  \x3f800017 |      1.0000027 |      1.0000027 | \x3f800017 | t
854  \x3f800018 |      1.0000029 |      1.0000029 | \x3f800018 | t
855  \x3f800019 |       1.000003 |       1.000003 | \x3f800019 | t
856  \x3f80001a |      1.0000031 |      1.0000031 | \x3f80001a | t
857  \x3f80001b |      1.0000032 |      1.0000032 | \x3f80001b | t
858  \x3f80001c |      1.0000033 |      1.0000033 | \x3f80001c | t
859  \x3f800029 |      1.0000049 |      1.0000049 | \x3f800029 | t
860  \x3f80002a |       1.000005 |       1.000005 | \x3f80002a | t
861  \x3f80002b |      1.0000051 |      1.0000051 | \x3f80002b | t
862  \x3f800053 |      1.0000099 |      1.0000099 | \x3f800053 | t
863  \x3f800054 |        1.00001 |        1.00001 | \x3f800054 | t
864  \x3f800055 |      1.0000101 |      1.0000101 | \x3f800055 | t
865  \x3f800346 |      1.0000999 |      1.0000999 | \x3f800346 | t
866  \x3f800347 |         1.0001 |         1.0001 | \x3f800347 | t
867  \x3f800348 |      1.0001001 |      1.0001001 | \x3f800348 | t
868  \x3f8020c4 |      1.0009999 |      1.0009999 | \x3f8020c4 | t
869  \x3f8020c5 |          1.001 |          1.001 | \x3f8020c5 | t
870  \x3f8020c6 |      1.0010002 |      1.0010002 | \x3f8020c6 | t
871  \x3f8147ad |      1.0099999 |      1.0099999 | \x3f8147ad | t
872  \x3f8147ae |           1.01 |           1.01 | \x3f8147ae | t
873  \x3f8147af |      1.0100001 |      1.0100001 | \x3f8147af | t
874  \x3f8ccccc |      1.0999999 |      1.0999999 | \x3f8ccccc | t
875  \x3f8ccccd |            1.1 |            1.1 | \x3f8ccccd | t
876  \x3f8cccce |      1.1000001 |      1.1000001 | \x3f8cccce | t
877  \x3fc90fdb |      1.5707964 |      1.5707964 | \x3fc90fdb | t
878  \x402df854 |      2.7182817 |      2.7182817 | \x402df854 | t
879  \x40490fdb |      3.1415927 |      3.1415927 | \x40490fdb | t
880  \x409fffff |      4.9999995 |      4.9999995 | \x409fffff | t
881  \x40a00000 |              5 |              5 | \x40a00000 | t
882  \x40a00001 |      5.0000005 |      5.0000005 | \x40a00001 | t
883  \x40afffff |      5.4999995 |      5.4999995 | \x40afffff | t
884  \x40b00000 |            5.5 |            5.5 | \x40b00000 | t
885  \x40b00001 |      5.5000005 |      5.5000005 | \x40b00001 | t
886  \x411fffff |       9.999999 |       9.999999 | \x411fffff | t
887  \x41200000 |             10 |             10 | \x41200000 | t
888  \x41200001 |      10.000001 |      10.000001 | \x41200001 | t
889  \x42c7ffff |       99.99999 |       99.99999 | \x42c7ffff | t
890  \x42c80000 |            100 |            100 | \x42c80000 | t
891  \x42c80001 |      100.00001 |      100.00001 | \x42c80001 | t
892  \x4479ffff |      999.99994 |      999.99994 | \x4479ffff | t
893  \x447a0000 |           1000 |           1000 | \x447a0000 | t
894  \x447a0001 |     1000.00006 |     1000.00006 | \x447a0001 | t
895  \x461c3fff |       9999.999 |       9999.999 | \x461c3fff | t
896  \x461c4000 |          10000 |          10000 | \x461c4000 | t
897  \x461c4001 |      10000.001 |      10000.001 | \x461c4001 | t
898  \x47c34fff |       99999.99 |       99999.99 | \x47c34fff | t
899  \x47c35000 |         100000 |         100000 | \x47c35000 | t
900  \x47c35001 |      100000.01 |      100000.01 | \x47c35001 | t
901  \x497423ff |      999999.94 |      999999.94 | \x497423ff | t
902  \x49742400 |          1e+06 |          1e+06 | \x49742400 | t
903  \x49742401 | 1.00000006e+06 | 1.00000006e+06 | \x49742401 | t
904  \x4b18967f |   9.999999e+06 |   9.999999e+06 | \x4b18967f | t
905  \x4b189680 |          1e+07 |          1e+07 | \x4b189680 | t
906  \x4b189681 |  1.0000001e+07 |  1.0000001e+07 | \x4b189681 | t
907  \x4cbebc1f |   9.999999e+07 |   9.999999e+07 | \x4cbebc1f | t
908  \x4cbebc20 |          1e+08 |          1e+08 | \x4cbebc20 | t
909  \x4cbebc21 |  1.0000001e+08 |  1.0000001e+08 | \x4cbebc21 | t
910  \x4e6e6b27 |  9.9999994e+08 |  9.9999994e+08 | \x4e6e6b27 | t
911  \x4e6e6b28 |          1e+09 |          1e+09 | \x4e6e6b28 | t
912  \x4e6e6b29 | 1.00000006e+09 | 1.00000006e+09 | \x4e6e6b29 | t
913  \x501502f8 |   9.999999e+09 |   9.999999e+09 | \x501502f8 | t
914  \x501502f9 |          1e+10 |          1e+10 | \x501502f9 | t
915  \x501502fa |  1.0000001e+10 |  1.0000001e+10 | \x501502fa | t
916  \x51ba43b6 |   9.999999e+10 |   9.999999e+10 | \x51ba43b6 | t
917  \x51ba43b7 |          1e+11 |          1e+11 | \x51ba43b7 | t
918  \x51ba43b8 |  1.0000001e+11 |  1.0000001e+11 | \x51ba43b8 | t
919  \x1f6c1e4a |          5e-20 |          5e-20 | \x1f6c1e4a | t
920  \x59be6cea |        6.7e+15 |        6.7e+15 | \x59be6cea | t
921  \x5d5ab6c4 |       9.85e+17 |       9.85e+17 | \x5d5ab6c4 | t
922  \x2cc4a9bd |     5.5895e-12 |     5.5895e-12 | \x2cc4a9bd | t
923  \x15ae43fd |   7.038531e-26 |   7.038531e-26 | \x15ae43fd | t
924  \x2cf757ca |  7.0299088e-12 |  7.0299088e-12 | \x2cf757ca | t
925  \x665ba998 |  2.5933168e+23 |  2.5933168e+23 | \x665ba998 | t
926  \x743c3324 |  5.9642887e+31 |  5.9642887e+31 | \x743c3324 | t
927  \x47f1205a |       123456.7 |       123456.7 | \x47f1205a | t
928  \x4640e6ae |       12345.67 |       12345.67 | \x4640e6ae | t
929  \x449a5225 |       1234.567 |       1234.567 | \x449a5225 | t
930  \x42f6e9d5 |       123.4567 |       123.4567 | \x42f6e9d5 | t
931  \x414587dd |       12.34567 |       12.34567 | \x414587dd | t
932  \x3f9e064b |       1.234567 |       1.234567 | \x3f9e064b | t
933  \x4c000004 |  3.3554448e+07 |  3.3554448e+07 | \x4c000004 | t
934  \x50061c46 |   8.999999e+09 |   8.999999e+09 | \x50061c46 | t
935  \x510006a8 |  3.4366718e+10 |  3.4366718e+10 | \x510006a8 | t
936  \x48951f84 |      305404.12 |      305404.12 | \x48951f84 | t
937  \x45fd1840 |      8099.0312 |      8099.0312 | \x45fd1840 | t
938  \x39800000 |  0.00024414062 |  0.00024414062 | \x39800000 | t
939  \x3b200000 |   0.0024414062 |   0.0024414062 | \x3b200000 | t
940  \x3b900000 |   0.0043945312 |   0.0043945312 | \x3b900000 | t
941  \x3bd00000 |   0.0063476562 |   0.0063476562 | \x3bd00000 | t
942  \x63800000 |  4.7223665e+21 |  4.7223665e+21 | \x63800000 | t
943  \x4b000000 |   8.388608e+06 |   8.388608e+06 | \x4b000000 | t
944  \x4b800000 |  1.6777216e+07 |  1.6777216e+07 | \x4b800000 | t
945  \x4c000001 |  3.3554436e+07 |  3.3554436e+07 | \x4c000001 | t
946  \x4c800b0d |  6.7131496e+07 |  6.7131496e+07 | \x4c800b0d | t
947  \x00d24584 |  1.9310392e-38 |  1.9310392e-38 | \x00d24584 | t
948  \x00d90b88 |   1.993244e-38 |   1.993244e-38 | \x00d90b88 | t
949  \x45803f34 |      4103.9004 |      4103.9004 | \x45803f34 | t
950  \x4f9f24f7 |  5.3399997e+09 |  5.3399997e+09 | \x4f9f24f7 | t
951  \x3a8722c3 |   0.0010310042 |   0.0010310042 | \x3a8722c3 | t
952  \x5c800041 |   2.882326e+17 |   2.882326e+17 | \x5c800041 | t
953  \x15ae43fd |   7.038531e-26 |   7.038531e-26 | \x15ae43fd | t
954  \x5d4cccfb |   9.223404e+17 |   9.223404e+17 | \x5d4cccfb | t
955  \x4c800001 |   6.710887e+07 |   6.710887e+07 | \x4c800001 | t
956  \x57800ed8 |   2.816025e+14 |   2.816025e+14 | \x57800ed8 | t
957  \x5f000000 |   9.223372e+18 |   9.223372e+18 | \x5f000000 | t
958  \x700000f0 |  1.5846086e+29 |  1.5846086e+29 | \x700000f0 | t
959  \x5f23e9ac |  1.1811161e+19 |  1.1811161e+19 | \x5f23e9ac | t
960  \x5e9502f9 |   5.368709e+18 |   5.368709e+18 | \x5e9502f9 | t
961  \x5e8012b1 |  4.6143166e+18 |  4.6143166e+18 | \x5e8012b1 | t
962  \x3c000028 |    0.007812537 |    0.007812537 | \x3c000028 | t
963  \x60cde861 | 1.18697725e+20 | 1.18697725e+20 | \x60cde861 | t
964  \x03aa2a50 | 1.00014165e-36 | 1.00014165e-36 | \x03aa2a50 | t
965  \x43480000 |            200 |            200 | \x43480000 | t
966  \x4c000000 |  3.3554432e+07 |  3.3554432e+07 | \x4c000000 | t
967  \x5d1502f9 |  6.7108864e+17 |  6.7108864e+17 | \x5d1502f9 | t
968  \x5d9502f9 |  1.3421773e+18 |  1.3421773e+18 | \x5d9502f9 | t
969  \x5e1502f9 |  2.6843546e+18 |  2.6843546e+18 | \x5e1502f9 | t
970  \x3f99999a |            1.2 |            1.2 | \x3f99999a | t
971  \x3f9d70a4 |           1.23 |           1.23 | \x3f9d70a4 | t
972  \x3f9df3b6 |          1.234 |          1.234 | \x3f9df3b6 | t
973  \x3f9e0419 |         1.2345 |         1.2345 | \x3f9e0419 | t
974  \x3f9e0610 |        1.23456 |        1.23456 | \x3f9e0610 | t
975  \x3f9e064b |       1.234567 |       1.234567 | \x3f9e064b | t
976  \x3f9e0651 |      1.2345678 |      1.2345678 | \x3f9e0651 | t
977  \x03d20cfe | 1.23456735e-36 | 1.23456735e-36 | \x03d20cfe | t
978 (261 rows)
980 -- clean up, lest opr_sanity complain
981 drop type xfloat4 cascade;
982 NOTICE:  drop cascades to 6 other objects
983 DETAIL:  drop cascades to function xfloat4in(cstring)
984 drop cascades to function xfloat4out(xfloat4)
985 drop cascades to cast from xfloat4 to real
986 drop cascades to cast from real to xfloat4
987 drop cascades to cast from xfloat4 to integer
988 drop cascades to cast from integer to xfloat4