case  1: literal 10 x MAX                                 => MAX
case  2: literal just above MAX                           => MAX
case  3: literal just below MAX                           => below MAX by 1.0e-13
case  4: literal -10 x MAX                                => -MAX
case  5: string 10 x MAX                                  => MAX
case  6: string just above MAX                            => MAX
case  7: string just below MAX                            => below MAX by 1.0e-13
case  8: string, digits only, 10 x MAX                    => MAX
case  9: string MAX itself                                => MAX
case 10: POSIX::DBL_MAX                                   => MAX
case 11: MAX + MAX                                        => MAX  [warning: Floating point overflow in addition (+), result set to MAX]
case 12: -MAX - MAX                                       => -MAX  [warning: Floating point overflow in subtraction (-), result set to -MAX]
case 13: MAX/2 * 4                                        => MAX  [warning: Floating point overflow in multiplication (*), result set to MAX]
case 14: -MAX * 10                                        => -MAX  [warning: Floating point overflow in multiplication (*), result set to -MAX]
case 15: MAX / 0.5                                        => MAX  [warning: Floating point overflow in division (/), result set to MAX]
case 16: MAX / -0.25                                      => -MAX  [warning: Floating point overflow in division (/), result set to -MAX]
case 17: $x *= 10 on MAX                                  => MAX  [warning: Floating point overflow in multiplication (*), result set to MAX]
case 18: $x += $x on MAX                                  => MAX  [warning: Floating point overflow in addition (+), result set to MAX]
case 19: 2 ** (a power over MAX)                          => MAX  [warning: Floating point overflow in exponentiation (**), result set to MAX]
case 20: (-2) ** (odd power over MAX)                     => -MAX  [warning: Floating point overflow in exponentiation (**), result set to -MAX]
case 21: 10 ** (a power over MAX)                         => MAX
case 22: exp(log(MAX) + 1)                                => MAX
case 23: hex of too many digits                           => MAX  [warning: Integer overflow in hexadecimal number]  [warning: Floating point overflow in hexadecimal number, result set to MAX]  [warning: Hexadecimal number > 0xffffffff non-portable]
case 24: oct of too many digits                           => MAX  [warning: Integer overflow in octal number]  [warning: Floating point overflow in octal number, result set to MAX]  [warning: Octal number > 037777777777 non-portable]
case 25: constant folding: literal MAX * 10               => MAX  [warning: Floating point overflow in multiplication (*), result set to MAX]
case 26: List::Util::sum(MAX, MAX, 1)                     => MAX  [warning: Floating point overflow in List::Util::sum, result set to MAX]
case 27: MAX * 10 inside eval: $@ empty                   => MAX  [warning: Floating point overflow in multiplication (*), result set to MAX]
case 28: MAX * 10 without warnings                        => MAX
case 29: ordinary numbers unchanged                       => 3.14159 6.02e+23 -2.5e-10 1e+37 1.23456789e+19 0.3 2.5e+10 3.5 1024 1e+15
case 30: MAX - MAX (not IEEE: 0)                          => 0
case 31: XS overflow inside eval (Time::HiRes::alarm)     => caught: Floating point overflow in subroutine entry
case 32: reserved operand inside eval (unpack d)          => caught: Reserved floating point operand in unpack
case 33: FAULT, exit status %X00018292
RUN_OVERFLOW: 32 of 33 cases ran, 1 faulted
