
(FPCore (x y)
:precision binary64
:pre TRUE
(let* ((t_0 (sqrt (+ (pow (- y 0.275) 2.0) (pow (- x 0.275) 2.0)))))
(fmin
(fmin
(fmin
(fmin
(fmax (fmax (fmax (- y 0.55) (- y)) (- x 0.825)) (- 0.725 x))
(- (sqrt (+ (pow (- y 0.7) 2.0) (pow (- x 0.775) 2.0))) 0.075))
(fmax (fmax (fmax (- y) (- y 0.275)) (- x 0.55)) (- 0.45 x)))
(fmax (fmax (fmax (- y) (- y 1.0)) (- x 0.1)) (- x)))
(fmax
(fmax
(fmax (fmax (fmax (- y 0.55) (- x 0.55)) (- x)) (- 0.275 y))
(- 0.175 t_0))
(- t_0 0.275)))))double code(double x, double y) {
double t_0 = sqrt((pow((y - 0.275), 2.0) + pow((x - 0.275), 2.0)));
return fmin(fmin(fmin(fmin(fmax(fmax(fmax((y - 0.55), -y), (x - 0.825)), (0.725 - x)), (sqrt((pow((y - 0.7), 2.0) + pow((x - 0.775), 2.0))) - 0.075)), fmax(fmax(fmax(-y, (y - 0.275)), (x - 0.55)), (0.45 - x))), fmax(fmax(fmax(-y, (y - 1.0)), (x - 0.1)), -x)), fmax(fmax(fmax(fmax(fmax((y - 0.55), (x - 0.55)), -x), (0.275 - y)), (0.175 - t_0)), (t_0 - 0.275)));
}
real(8) function code(x, y)
use fmin_fmax_functions
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: t_0
t_0 = sqrt((((y - 0.275d0) ** 2.0d0) + ((x - 0.275d0) ** 2.0d0)))
code = fmin(fmin(fmin(fmin(fmax(fmax(fmax((y - 0.55d0), -y), (x - 0.825d0)), (0.725d0 - x)), (sqrt((((y - 0.7d0) ** 2.0d0) + ((x - 0.775d0) ** 2.0d0))) - 0.075d0)), fmax(fmax(fmax(-y, (y - 0.275d0)), (x - 0.55d0)), (0.45d0 - x))), fmax(fmax(fmax(-y, (y - 1.0d0)), (x - 0.1d0)), -x)), fmax(fmax(fmax(fmax(fmax((y - 0.55d0), (x - 0.55d0)), -x), (0.275d0 - y)), (0.175d0 - t_0)), (t_0 - 0.275d0)))
end function
public static double code(double x, double y) {
double t_0 = Math.sqrt((Math.pow((y - 0.275), 2.0) + Math.pow((x - 0.275), 2.0)));
return fmin(fmin(fmin(fmin(fmax(fmax(fmax((y - 0.55), -y), (x - 0.825)), (0.725 - x)), (Math.sqrt((Math.pow((y - 0.7), 2.0) + Math.pow((x - 0.775), 2.0))) - 0.075)), fmax(fmax(fmax(-y, (y - 0.275)), (x - 0.55)), (0.45 - x))), fmax(fmax(fmax(-y, (y - 1.0)), (x - 0.1)), -x)), fmax(fmax(fmax(fmax(fmax((y - 0.55), (x - 0.55)), -x), (0.275 - y)), (0.175 - t_0)), (t_0 - 0.275)));
}
def code(x, y): t_0 = math.sqrt((math.pow((y - 0.275), 2.0) + math.pow((x - 0.275), 2.0))) return fmin(fmin(fmin(fmin(fmax(fmax(fmax((y - 0.55), -y), (x - 0.825)), (0.725 - x)), (math.sqrt((math.pow((y - 0.7), 2.0) + math.pow((x - 0.775), 2.0))) - 0.075)), fmax(fmax(fmax(-y, (y - 0.275)), (x - 0.55)), (0.45 - x))), fmax(fmax(fmax(-y, (y - 1.0)), (x - 0.1)), -x)), fmax(fmax(fmax(fmax(fmax((y - 0.55), (x - 0.55)), -x), (0.275 - y)), (0.175 - t_0)), (t_0 - 0.275)))
function code(x, y) t_0 = sqrt(Float64((Float64(y - 0.275) ^ 2.0) + (Float64(x - 0.275) ^ 2.0))) return fmin(fmin(fmin(fmin(fmax(fmax(fmax(Float64(y - 0.55), Float64(-y)), Float64(x - 0.825)), Float64(0.725 - x)), Float64(sqrt(Float64((Float64(y - 0.7) ^ 2.0) + (Float64(x - 0.775) ^ 2.0))) - 0.075)), fmax(fmax(fmax(Float64(-y), Float64(y - 0.275)), Float64(x - 0.55)), Float64(0.45 - x))), fmax(fmax(fmax(Float64(-y), Float64(y - 1.0)), Float64(x - 0.1)), Float64(-x))), fmax(fmax(fmax(fmax(fmax(Float64(y - 0.55), Float64(x - 0.55)), Float64(-x)), Float64(0.275 - y)), Float64(0.175 - t_0)), Float64(t_0 - 0.275))) end
function tmp = code(x, y) t_0 = sqrt((((y - 0.275) ^ 2.0) + ((x - 0.275) ^ 2.0))); tmp = min(min(min(min(max(max(max((y - 0.55), -y), (x - 0.825)), (0.725 - x)), (sqrt((((y - 0.7) ^ 2.0) + ((x - 0.775) ^ 2.0))) - 0.075)), max(max(max(-y, (y - 0.275)), (x - 0.55)), (0.45 - x))), max(max(max(-y, (y - 1.0)), (x - 0.1)), -x)), max(max(max(max(max((y - 0.55), (x - 0.55)), -x), (0.275 - y)), (0.175 - t_0)), (t_0 - 0.275))); end
code[x_, y_] := Block[{t$95$0 = N[Sqrt[N[(N[Power[N[(y - 0.275), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[N[(x - 0.275), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]}, N[Min[N[Min[N[Min[N[Min[N[Max[N[Max[N[Max[N[(y - 0.55), $MachinePrecision], (-y)], $MachinePrecision], N[(x - 0.825), $MachinePrecision]], $MachinePrecision], N[(0.725 - x), $MachinePrecision]], $MachinePrecision], N[(N[Sqrt[N[(N[Power[N[(y - 0.7), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[N[(x - 0.775), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - 0.075), $MachinePrecision]], $MachinePrecision], N[Max[N[Max[N[Max[(-y), N[(y - 0.275), $MachinePrecision]], $MachinePrecision], N[(x - 0.55), $MachinePrecision]], $MachinePrecision], N[(0.45 - x), $MachinePrecision]], $MachinePrecision]], $MachinePrecision], N[Max[N[Max[N[Max[(-y), N[(y - 1.0), $MachinePrecision]], $MachinePrecision], N[(x - 0.1), $MachinePrecision]], $MachinePrecision], (-x)], $MachinePrecision]], $MachinePrecision], N[Max[N[Max[N[Max[N[Max[N[Max[N[(y - 0.55), $MachinePrecision], N[(x - 0.55), $MachinePrecision]], $MachinePrecision], (-x)], $MachinePrecision], N[(0.275 - y), $MachinePrecision]], $MachinePrecision], N[(0.175 - t$95$0), $MachinePrecision]], $MachinePrecision], N[(t$95$0 - 0.275), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]]
f(x, y): x in [-inf, +inf], y in [-inf, +inf] code: THEORY BEGIN f(x, y: real): real = LET t_0 = (sqrt((((y - (27500000000000002220446049250313080847263336181640625e-53)) ^ (2)) + ((x - (27500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) IN LET tmp_679 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_680 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_678 = IF (tmp_679 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_680 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_683 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_684 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_682 = IF (tmp_683 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_684 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_676 = IF (tmp_678 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_682 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_692 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_693 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_691 = IF (tmp_692 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_693 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_696 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_697 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_695 = IF (tmp_696 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_697 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_689 = IF (tmp_691 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_695 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_671 = IF (tmp_676 < ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56))) THEN tmp_689 ELSE ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ENDIF IN LET tmp_705 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_706 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_704 = IF (tmp_705 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_706 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_709 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_710 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_708 = IF (tmp_709 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_710 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_702 = IF (tmp_704 > ((450000000000000011102230246251565404236316680908203125e-54) - x)) THEN tmp_708 ELSE ((450000000000000011102230246251565404236316680908203125e-54) - x) ENDIF IN LET tmp_732 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_733 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_731 = IF (tmp_732 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_733 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_736 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_737 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_735 = IF (tmp_736 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_737 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_729 = IF (tmp_731 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_735 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_745 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_746 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_744 = IF (tmp_745 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_746 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_749 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_750 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_748 = IF (tmp_749 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_750 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_742 = IF (tmp_744 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_748 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_724 = IF (tmp_729 < ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56))) THEN tmp_742 ELSE ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ENDIF IN LET tmp_758 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_759 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_757 = IF (tmp_758 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_759 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_762 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_763 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_761 = IF (tmp_762 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_763 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_755 = IF (tmp_757 > ((450000000000000011102230246251565404236316680908203125e-54) - x)) THEN tmp_761 ELSE ((450000000000000011102230246251565404236316680908203125e-54) - x) ENDIF IN LET tmp_657 = IF (tmp_671 < tmp_702) THEN tmp_724 ELSE tmp_755 ENDIF IN LET tmp_771 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_772 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_770 = IF (tmp_771 > (x - (1000000000000000055511151231257827021181583404541015625e-55))) THEN tmp_772 ELSE (x - (1000000000000000055511151231257827021181583404541015625e-55)) ENDIF IN LET tmp_775 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_776 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_774 = IF (tmp_775 > (x - (1000000000000000055511151231257827021181583404541015625e-55))) THEN tmp_776 ELSE (x - (1000000000000000055511151231257827021181583404541015625e-55)) ENDIF IN LET tmp_768 = IF (tmp_770 > (- x)) THEN tmp_774 ELSE (- x) ENDIF IN LET tmp_839 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_840 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_838 = IF (tmp_839 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_840 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_843 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_844 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_842 = IF (tmp_843 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_844 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_836 = IF (tmp_838 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_842 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_852 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_853 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_851 = IF (tmp_852 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_853 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_856 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_857 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_855 = IF (tmp_856 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_857 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_849 = IF (tmp_851 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_855 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_831 = IF (tmp_836 < ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56))) THEN tmp_849 ELSE ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ENDIF IN LET tmp_865 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_866 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_864 = IF (tmp_865 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_866 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_869 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_870 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_868 = IF (tmp_869 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_870 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_862 = IF (tmp_864 > ((450000000000000011102230246251565404236316680908203125e-54) - x)) THEN tmp_868 ELSE ((450000000000000011102230246251565404236316680908203125e-54) - x) ENDIF IN LET tmp_892 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_893 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_891 = IF (tmp_892 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_893 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_896 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_897 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_895 = IF (tmp_896 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_897 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_889 = IF (tmp_891 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_895 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_905 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_906 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_904 = IF (tmp_905 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_906 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_909 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_910 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_908 = IF (tmp_909 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_910 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_902 = IF (tmp_904 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_908 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_884 = IF (tmp_889 < ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56))) THEN tmp_902 ELSE ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ENDIF IN LET tmp_918 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_919 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_917 = IF (tmp_918 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_919 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_922 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_923 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_921 = IF (tmp_922 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_923 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_915 = IF (tmp_917 > ((450000000000000011102230246251565404236316680908203125e-54) - x)) THEN tmp_921 ELSE ((450000000000000011102230246251565404236316680908203125e-54) - x) ENDIF IN LET tmp_817 = IF (tmp_831 < tmp_862) THEN tmp_884 ELSE tmp_915 ENDIF IN LET tmp_931 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_932 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_930 = IF (tmp_931 > (x - (1000000000000000055511151231257827021181583404541015625e-55))) THEN tmp_932 ELSE (x - (1000000000000000055511151231257827021181583404541015625e-55)) ENDIF IN LET tmp_935 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_936 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_934 = IF (tmp_935 > (x - (1000000000000000055511151231257827021181583404541015625e-55))) THEN tmp_936 ELSE (x - (1000000000000000055511151231257827021181583404541015625e-55)) ENDIF IN LET tmp_928 = IF (tmp_930 > (- x)) THEN tmp_934 ELSE (- x) ENDIF IN LET tmp_616 = IF (tmp_657 < tmp_768) THEN tmp_817 ELSE tmp_928 ENDIF IN LET tmp_999 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1000 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_998 = IF (tmp_999 > (- x)) THEN tmp_1000 ELSE (- x) ENDIF IN LET tmp_1003 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1004 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1002 = IF (tmp_1003 > (- x)) THEN tmp_1004 ELSE (- x) ENDIF IN LET tmp_996 = IF (tmp_998 > ((27500000000000002220446049250313080847263336181640625e-53) - y)) THEN tmp_1002 ELSE ((27500000000000002220446049250313080847263336181640625e-53) - y) ENDIF IN LET tmp_1012 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1013 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1011 = IF (tmp_1012 > (- x)) THEN tmp_1013 ELSE (- x) ENDIF IN LET tmp_1016 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1017 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1015 = IF (tmp_1016 > (- x)) THEN tmp_1017 ELSE (- x) ENDIF IN LET tmp_1009 = IF (tmp_1011 > ((27500000000000002220446049250313080847263336181640625e-53) - y)) THEN tmp_1015 ELSE ((27500000000000002220446049250313080847263336181640625e-53) - y) ENDIF IN LET tmp_991 = IF (tmp_996 > ((174999999999999988897769753748434595763683319091796875e-54) - t_0)) THEN tmp_1009 ELSE ((174999999999999988897769753748434595763683319091796875e-54) - t_0) ENDIF IN LET tmp_1039 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1040 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1038 = IF (tmp_1039 > (- x)) THEN tmp_1040 ELSE (- x) ENDIF IN LET tmp_1043 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1044 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1042 = IF (tmp_1043 > (- x)) THEN tmp_1044 ELSE (- x) ENDIF IN LET tmp_1036 = IF (tmp_1038 > ((27500000000000002220446049250313080847263336181640625e-53) - y)) THEN tmp_1042 ELSE ((27500000000000002220446049250313080847263336181640625e-53) - y) ENDIF IN LET tmp_1052 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1053 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1051 = IF (tmp_1052 > (- x)) THEN tmp_1053 ELSE (- x) ENDIF IN LET tmp_1056 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1057 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1055 = IF (tmp_1056 > (- x)) THEN tmp_1057 ELSE (- x) ENDIF IN LET tmp_1049 = IF (tmp_1051 > ((27500000000000002220446049250313080847263336181640625e-53) - y)) THEN tmp_1055 ELSE ((27500000000000002220446049250313080847263336181640625e-53) - y) ENDIF IN LET tmp_1031 = IF (tmp_1036 > ((174999999999999988897769753748434595763683319091796875e-54) - t_0)) THEN tmp_1049 ELSE ((174999999999999988897769753748434595763683319091796875e-54) - t_0) ENDIF IN LET tmp_977 = IF (tmp_991 > (t_0 - (27500000000000002220446049250313080847263336181640625e-53))) THEN tmp_1031 ELSE (t_0 - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1268 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1269 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1267 = IF (tmp_1268 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1269 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1272 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1273 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1271 = IF (tmp_1272 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1273 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1265 = IF (tmp_1267 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_1271 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_1281 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1282 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1280 = IF (tmp_1281 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1282 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1285 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1286 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1284 = IF (tmp_1285 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1286 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1278 = IF (tmp_1280 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_1284 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_1260 = IF (tmp_1265 < ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56))) THEN tmp_1278 ELSE ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ENDIF IN LET tmp_1294 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1295 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1293 = IF (tmp_1294 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_1295 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1298 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1299 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1297 = IF (tmp_1298 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_1299 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1291 = IF (tmp_1293 > ((450000000000000011102230246251565404236316680908203125e-54) - x)) THEN tmp_1297 ELSE ((450000000000000011102230246251565404236316680908203125e-54) - x) ENDIF IN LET tmp_1321 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1322 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1320 = IF (tmp_1321 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1322 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1325 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1326 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1324 = IF (tmp_1325 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1326 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1318 = IF (tmp_1320 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_1324 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_1334 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1335 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1333 = IF (tmp_1334 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1335 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1338 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1339 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1337 = IF (tmp_1338 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1339 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1331 = IF (tmp_1333 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_1337 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_1313 = IF (tmp_1318 < ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56))) THEN tmp_1331 ELSE ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ENDIF IN LET tmp_1347 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1348 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1346 = IF (tmp_1347 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_1348 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1351 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1352 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1350 = IF (tmp_1351 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_1352 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1344 = IF (tmp_1346 > ((450000000000000011102230246251565404236316680908203125e-54) - x)) THEN tmp_1350 ELSE ((450000000000000011102230246251565404236316680908203125e-54) - x) ENDIF IN LET tmp_1246 = IF (tmp_1260 < tmp_1291) THEN tmp_1313 ELSE tmp_1344 ENDIF IN LET tmp_1360 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_1361 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_1359 = IF (tmp_1360 > (x - (1000000000000000055511151231257827021181583404541015625e-55))) THEN tmp_1361 ELSE (x - (1000000000000000055511151231257827021181583404541015625e-55)) ENDIF IN LET tmp_1364 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_1365 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_1363 = IF (tmp_1364 > (x - (1000000000000000055511151231257827021181583404541015625e-55))) THEN tmp_1365 ELSE (x - (1000000000000000055511151231257827021181583404541015625e-55)) ENDIF IN LET tmp_1357 = IF (tmp_1359 > (- x)) THEN tmp_1363 ELSE (- x) ENDIF IN LET tmp_1428 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1429 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1427 = IF (tmp_1428 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1429 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1432 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1433 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1431 = IF (tmp_1432 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1433 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1425 = IF (tmp_1427 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_1431 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_1441 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1442 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1440 = IF (tmp_1441 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1442 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1445 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1446 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1444 = IF (tmp_1445 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1446 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1438 = IF (tmp_1440 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_1444 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_1420 = IF (tmp_1425 < ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56))) THEN tmp_1438 ELSE ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ENDIF IN LET tmp_1454 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1455 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1453 = IF (tmp_1454 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_1455 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1458 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1459 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1457 = IF (tmp_1458 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_1459 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1451 = IF (tmp_1453 > ((450000000000000011102230246251565404236316680908203125e-54) - x)) THEN tmp_1457 ELSE ((450000000000000011102230246251565404236316680908203125e-54) - x) ENDIF IN LET tmp_1481 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1482 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1480 = IF (tmp_1481 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1482 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1485 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1486 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1484 = IF (tmp_1485 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1486 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1478 = IF (tmp_1480 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_1484 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_1494 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1495 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1493 = IF (tmp_1494 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1495 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1498 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1499 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1497 = IF (tmp_1498 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1499 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1491 = IF (tmp_1493 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_1497 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_1473 = IF (tmp_1478 < ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56))) THEN tmp_1491 ELSE ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ENDIF IN LET tmp_1507 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1508 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1506 = IF (tmp_1507 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_1508 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1511 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1512 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1510 = IF (tmp_1511 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_1512 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1504 = IF (tmp_1506 > ((450000000000000011102230246251565404236316680908203125e-54) - x)) THEN tmp_1510 ELSE ((450000000000000011102230246251565404236316680908203125e-54) - x) ENDIF IN LET tmp_1406 = IF (tmp_1420 < tmp_1451) THEN tmp_1473 ELSE tmp_1504 ENDIF IN LET tmp_1520 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_1521 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_1519 = IF (tmp_1520 > (x - (1000000000000000055511151231257827021181583404541015625e-55))) THEN tmp_1521 ELSE (x - (1000000000000000055511151231257827021181583404541015625e-55)) ENDIF IN LET tmp_1524 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_1525 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_1523 = IF (tmp_1524 > (x - (1000000000000000055511151231257827021181583404541015625e-55))) THEN tmp_1525 ELSE (x - (1000000000000000055511151231257827021181583404541015625e-55)) ENDIF IN LET tmp_1517 = IF (tmp_1519 > (- x)) THEN tmp_1523 ELSE (- x) ENDIF IN LET tmp_1205 = IF (tmp_1246 < tmp_1357) THEN tmp_1406 ELSE tmp_1517 ENDIF IN LET tmp_1588 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1589 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1587 = IF (tmp_1588 > (- x)) THEN tmp_1589 ELSE (- x) ENDIF IN LET tmp_1592 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1593 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1591 = IF (tmp_1592 > (- x)) THEN tmp_1593 ELSE (- x) ENDIF IN LET tmp_1585 = IF (tmp_1587 > ((27500000000000002220446049250313080847263336181640625e-53) - y)) THEN tmp_1591 ELSE ((27500000000000002220446049250313080847263336181640625e-53) - y) ENDIF IN LET tmp_1601 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1602 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1600 = IF (tmp_1601 > (- x)) THEN tmp_1602 ELSE (- x) ENDIF IN LET tmp_1605 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1606 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1604 = IF (tmp_1605 > (- x)) THEN tmp_1606 ELSE (- x) ENDIF IN LET tmp_1598 = IF (tmp_1600 > ((27500000000000002220446049250313080847263336181640625e-53) - y)) THEN tmp_1604 ELSE ((27500000000000002220446049250313080847263336181640625e-53) - y) ENDIF IN LET tmp_1580 = IF (tmp_1585 > ((174999999999999988897769753748434595763683319091796875e-54) - t_0)) THEN tmp_1598 ELSE ((174999999999999988897769753748434595763683319091796875e-54) - t_0) ENDIF IN LET tmp_1628 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1629 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1627 = IF (tmp_1628 > (- x)) THEN tmp_1629 ELSE (- x) ENDIF IN LET tmp_1632 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1633 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1631 = IF (tmp_1632 > (- x)) THEN tmp_1633 ELSE (- x) ENDIF IN LET tmp_1625 = IF (tmp_1627 > ((27500000000000002220446049250313080847263336181640625e-53) - y)) THEN tmp_1631 ELSE ((27500000000000002220446049250313080847263336181640625e-53) - y) ENDIF IN LET tmp_1641 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1642 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1640 = IF (tmp_1641 > (- x)) THEN tmp_1642 ELSE (- x) ENDIF IN LET tmp_1645 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1646 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1644 = IF (tmp_1645 > (- x)) THEN tmp_1646 ELSE (- x) ENDIF IN LET tmp_1638 = IF (tmp_1640 > ((27500000000000002220446049250313080847263336181640625e-53) - y)) THEN tmp_1644 ELSE ((27500000000000002220446049250313080847263336181640625e-53) - y) ENDIF IN LET tmp_1620 = IF (tmp_1625 > ((174999999999999988897769753748434595763683319091796875e-54) - t_0)) THEN tmp_1638 ELSE ((174999999999999988897769753748434595763683319091796875e-54) - t_0) ENDIF IN LET tmp_1566 = IF (tmp_1580 > (t_0 - (27500000000000002220446049250313080847263336181640625e-53))) THEN tmp_1620 ELSE (t_0 - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_468 = IF (tmp_616 < tmp_977) THEN tmp_1205 ELSE tmp_1566 ENDIF IN tmp_468 END code
\begin{array}{l}
t_0 := \sqrt{{\left(y - 0.275\right)}^{2} + {\left(x - 0.275\right)}^{2}}\\
\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - 0.55, -y\right), x - 0.825\right), 0.725 - x\right), \sqrt{{\left(y - 0.7\right)}^{2} + {\left(x - 0.775\right)}^{2}} - 0.075\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 0.275\right), x - 0.55\right), 0.45 - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - 0.1\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - 0.55, x - 0.55\right), -x\right), 0.275 - y\right), 0.175 - t\_0\right), t\_0 - 0.275\right)\right)
\end{array}
Herbie found 6 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y)
:precision binary64
:pre TRUE
(let* ((t_0 (sqrt (+ (pow (- y 0.275) 2.0) (pow (- x 0.275) 2.0)))))
(fmin
(fmin
(fmin
(fmin
(fmax (fmax (fmax (- y 0.55) (- y)) (- x 0.825)) (- 0.725 x))
(- (sqrt (+ (pow (- y 0.7) 2.0) (pow (- x 0.775) 2.0))) 0.075))
(fmax (fmax (fmax (- y) (- y 0.275)) (- x 0.55)) (- 0.45 x)))
(fmax (fmax (fmax (- y) (- y 1.0)) (- x 0.1)) (- x)))
(fmax
(fmax
(fmax (fmax (fmax (- y 0.55) (- x 0.55)) (- x)) (- 0.275 y))
(- 0.175 t_0))
(- t_0 0.275)))))double code(double x, double y) {
double t_0 = sqrt((pow((y - 0.275), 2.0) + pow((x - 0.275), 2.0)));
return fmin(fmin(fmin(fmin(fmax(fmax(fmax((y - 0.55), -y), (x - 0.825)), (0.725 - x)), (sqrt((pow((y - 0.7), 2.0) + pow((x - 0.775), 2.0))) - 0.075)), fmax(fmax(fmax(-y, (y - 0.275)), (x - 0.55)), (0.45 - x))), fmax(fmax(fmax(-y, (y - 1.0)), (x - 0.1)), -x)), fmax(fmax(fmax(fmax(fmax((y - 0.55), (x - 0.55)), -x), (0.275 - y)), (0.175 - t_0)), (t_0 - 0.275)));
}
real(8) function code(x, y)
use fmin_fmax_functions
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: t_0
t_0 = sqrt((((y - 0.275d0) ** 2.0d0) + ((x - 0.275d0) ** 2.0d0)))
code = fmin(fmin(fmin(fmin(fmax(fmax(fmax((y - 0.55d0), -y), (x - 0.825d0)), (0.725d0 - x)), (sqrt((((y - 0.7d0) ** 2.0d0) + ((x - 0.775d0) ** 2.0d0))) - 0.075d0)), fmax(fmax(fmax(-y, (y - 0.275d0)), (x - 0.55d0)), (0.45d0 - x))), fmax(fmax(fmax(-y, (y - 1.0d0)), (x - 0.1d0)), -x)), fmax(fmax(fmax(fmax(fmax((y - 0.55d0), (x - 0.55d0)), -x), (0.275d0 - y)), (0.175d0 - t_0)), (t_0 - 0.275d0)))
end function
public static double code(double x, double y) {
double t_0 = Math.sqrt((Math.pow((y - 0.275), 2.0) + Math.pow((x - 0.275), 2.0)));
return fmin(fmin(fmin(fmin(fmax(fmax(fmax((y - 0.55), -y), (x - 0.825)), (0.725 - x)), (Math.sqrt((Math.pow((y - 0.7), 2.0) + Math.pow((x - 0.775), 2.0))) - 0.075)), fmax(fmax(fmax(-y, (y - 0.275)), (x - 0.55)), (0.45 - x))), fmax(fmax(fmax(-y, (y - 1.0)), (x - 0.1)), -x)), fmax(fmax(fmax(fmax(fmax((y - 0.55), (x - 0.55)), -x), (0.275 - y)), (0.175 - t_0)), (t_0 - 0.275)));
}
def code(x, y): t_0 = math.sqrt((math.pow((y - 0.275), 2.0) + math.pow((x - 0.275), 2.0))) return fmin(fmin(fmin(fmin(fmax(fmax(fmax((y - 0.55), -y), (x - 0.825)), (0.725 - x)), (math.sqrt((math.pow((y - 0.7), 2.0) + math.pow((x - 0.775), 2.0))) - 0.075)), fmax(fmax(fmax(-y, (y - 0.275)), (x - 0.55)), (0.45 - x))), fmax(fmax(fmax(-y, (y - 1.0)), (x - 0.1)), -x)), fmax(fmax(fmax(fmax(fmax((y - 0.55), (x - 0.55)), -x), (0.275 - y)), (0.175 - t_0)), (t_0 - 0.275)))
function code(x, y) t_0 = sqrt(Float64((Float64(y - 0.275) ^ 2.0) + (Float64(x - 0.275) ^ 2.0))) return fmin(fmin(fmin(fmin(fmax(fmax(fmax(Float64(y - 0.55), Float64(-y)), Float64(x - 0.825)), Float64(0.725 - x)), Float64(sqrt(Float64((Float64(y - 0.7) ^ 2.0) + (Float64(x - 0.775) ^ 2.0))) - 0.075)), fmax(fmax(fmax(Float64(-y), Float64(y - 0.275)), Float64(x - 0.55)), Float64(0.45 - x))), fmax(fmax(fmax(Float64(-y), Float64(y - 1.0)), Float64(x - 0.1)), Float64(-x))), fmax(fmax(fmax(fmax(fmax(Float64(y - 0.55), Float64(x - 0.55)), Float64(-x)), Float64(0.275 - y)), Float64(0.175 - t_0)), Float64(t_0 - 0.275))) end
function tmp = code(x, y) t_0 = sqrt((((y - 0.275) ^ 2.0) + ((x - 0.275) ^ 2.0))); tmp = min(min(min(min(max(max(max((y - 0.55), -y), (x - 0.825)), (0.725 - x)), (sqrt((((y - 0.7) ^ 2.0) + ((x - 0.775) ^ 2.0))) - 0.075)), max(max(max(-y, (y - 0.275)), (x - 0.55)), (0.45 - x))), max(max(max(-y, (y - 1.0)), (x - 0.1)), -x)), max(max(max(max(max((y - 0.55), (x - 0.55)), -x), (0.275 - y)), (0.175 - t_0)), (t_0 - 0.275))); end
code[x_, y_] := Block[{t$95$0 = N[Sqrt[N[(N[Power[N[(y - 0.275), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[N[(x - 0.275), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]}, N[Min[N[Min[N[Min[N[Min[N[Max[N[Max[N[Max[N[(y - 0.55), $MachinePrecision], (-y)], $MachinePrecision], N[(x - 0.825), $MachinePrecision]], $MachinePrecision], N[(0.725 - x), $MachinePrecision]], $MachinePrecision], N[(N[Sqrt[N[(N[Power[N[(y - 0.7), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[N[(x - 0.775), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - 0.075), $MachinePrecision]], $MachinePrecision], N[Max[N[Max[N[Max[(-y), N[(y - 0.275), $MachinePrecision]], $MachinePrecision], N[(x - 0.55), $MachinePrecision]], $MachinePrecision], N[(0.45 - x), $MachinePrecision]], $MachinePrecision]], $MachinePrecision], N[Max[N[Max[N[Max[(-y), N[(y - 1.0), $MachinePrecision]], $MachinePrecision], N[(x - 0.1), $MachinePrecision]], $MachinePrecision], (-x)], $MachinePrecision]], $MachinePrecision], N[Max[N[Max[N[Max[N[Max[N[Max[N[(y - 0.55), $MachinePrecision], N[(x - 0.55), $MachinePrecision]], $MachinePrecision], (-x)], $MachinePrecision], N[(0.275 - y), $MachinePrecision]], $MachinePrecision], N[(0.175 - t$95$0), $MachinePrecision]], $MachinePrecision], N[(t$95$0 - 0.275), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]]
f(x, y): x in [-inf, +inf], y in [-inf, +inf] code: THEORY BEGIN f(x, y: real): real = LET t_0 = (sqrt((((y - (27500000000000002220446049250313080847263336181640625e-53)) ^ (2)) + ((x - (27500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) IN LET tmp_679 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_680 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_678 = IF (tmp_679 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_680 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_683 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_684 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_682 = IF (tmp_683 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_684 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_676 = IF (tmp_678 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_682 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_692 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_693 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_691 = IF (tmp_692 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_693 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_696 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_697 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_695 = IF (tmp_696 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_697 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_689 = IF (tmp_691 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_695 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_671 = IF (tmp_676 < ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56))) THEN tmp_689 ELSE ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ENDIF IN LET tmp_705 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_706 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_704 = IF (tmp_705 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_706 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_709 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_710 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_708 = IF (tmp_709 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_710 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_702 = IF (tmp_704 > ((450000000000000011102230246251565404236316680908203125e-54) - x)) THEN tmp_708 ELSE ((450000000000000011102230246251565404236316680908203125e-54) - x) ENDIF IN LET tmp_732 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_733 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_731 = IF (tmp_732 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_733 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_736 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_737 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_735 = IF (tmp_736 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_737 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_729 = IF (tmp_731 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_735 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_745 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_746 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_744 = IF (tmp_745 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_746 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_749 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_750 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_748 = IF (tmp_749 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_750 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_742 = IF (tmp_744 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_748 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_724 = IF (tmp_729 < ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56))) THEN tmp_742 ELSE ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ENDIF IN LET tmp_758 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_759 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_757 = IF (tmp_758 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_759 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_762 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_763 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_761 = IF (tmp_762 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_763 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_755 = IF (tmp_757 > ((450000000000000011102230246251565404236316680908203125e-54) - x)) THEN tmp_761 ELSE ((450000000000000011102230246251565404236316680908203125e-54) - x) ENDIF IN LET tmp_657 = IF (tmp_671 < tmp_702) THEN tmp_724 ELSE tmp_755 ENDIF IN LET tmp_771 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_772 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_770 = IF (tmp_771 > (x - (1000000000000000055511151231257827021181583404541015625e-55))) THEN tmp_772 ELSE (x - (1000000000000000055511151231257827021181583404541015625e-55)) ENDIF IN LET tmp_775 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_776 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_774 = IF (tmp_775 > (x - (1000000000000000055511151231257827021181583404541015625e-55))) THEN tmp_776 ELSE (x - (1000000000000000055511151231257827021181583404541015625e-55)) ENDIF IN LET tmp_768 = IF (tmp_770 > (- x)) THEN tmp_774 ELSE (- x) ENDIF IN LET tmp_839 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_840 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_838 = IF (tmp_839 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_840 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_843 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_844 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_842 = IF (tmp_843 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_844 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_836 = IF (tmp_838 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_842 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_852 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_853 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_851 = IF (tmp_852 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_853 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_856 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_857 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_855 = IF (tmp_856 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_857 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_849 = IF (tmp_851 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_855 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_831 = IF (tmp_836 < ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56))) THEN tmp_849 ELSE ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ENDIF IN LET tmp_865 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_866 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_864 = IF (tmp_865 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_866 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_869 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_870 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_868 = IF (tmp_869 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_870 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_862 = IF (tmp_864 > ((450000000000000011102230246251565404236316680908203125e-54) - x)) THEN tmp_868 ELSE ((450000000000000011102230246251565404236316680908203125e-54) - x) ENDIF IN LET tmp_892 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_893 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_891 = IF (tmp_892 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_893 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_896 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_897 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_895 = IF (tmp_896 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_897 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_889 = IF (tmp_891 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_895 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_905 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_906 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_904 = IF (tmp_905 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_906 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_909 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_910 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_908 = IF (tmp_909 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_910 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_902 = IF (tmp_904 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_908 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_884 = IF (tmp_889 < ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56))) THEN tmp_902 ELSE ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ENDIF IN LET tmp_918 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_919 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_917 = IF (tmp_918 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_919 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_922 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_923 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_921 = IF (tmp_922 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_923 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_915 = IF (tmp_917 > ((450000000000000011102230246251565404236316680908203125e-54) - x)) THEN tmp_921 ELSE ((450000000000000011102230246251565404236316680908203125e-54) - x) ENDIF IN LET tmp_817 = IF (tmp_831 < tmp_862) THEN tmp_884 ELSE tmp_915 ENDIF IN LET tmp_931 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_932 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_930 = IF (tmp_931 > (x - (1000000000000000055511151231257827021181583404541015625e-55))) THEN tmp_932 ELSE (x - (1000000000000000055511151231257827021181583404541015625e-55)) ENDIF IN LET tmp_935 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_936 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_934 = IF (tmp_935 > (x - (1000000000000000055511151231257827021181583404541015625e-55))) THEN tmp_936 ELSE (x - (1000000000000000055511151231257827021181583404541015625e-55)) ENDIF IN LET tmp_928 = IF (tmp_930 > (- x)) THEN tmp_934 ELSE (- x) ENDIF IN LET tmp_616 = IF (tmp_657 < tmp_768) THEN tmp_817 ELSE tmp_928 ENDIF IN LET tmp_999 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1000 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_998 = IF (tmp_999 > (- x)) THEN tmp_1000 ELSE (- x) ENDIF IN LET tmp_1003 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1004 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1002 = IF (tmp_1003 > (- x)) THEN tmp_1004 ELSE (- x) ENDIF IN LET tmp_996 = IF (tmp_998 > ((27500000000000002220446049250313080847263336181640625e-53) - y)) THEN tmp_1002 ELSE ((27500000000000002220446049250313080847263336181640625e-53) - y) ENDIF IN LET tmp_1012 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1013 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1011 = IF (tmp_1012 > (- x)) THEN tmp_1013 ELSE (- x) ENDIF IN LET tmp_1016 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1017 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1015 = IF (tmp_1016 > (- x)) THEN tmp_1017 ELSE (- x) ENDIF IN LET tmp_1009 = IF (tmp_1011 > ((27500000000000002220446049250313080847263336181640625e-53) - y)) THEN tmp_1015 ELSE ((27500000000000002220446049250313080847263336181640625e-53) - y) ENDIF IN LET tmp_991 = IF (tmp_996 > ((174999999999999988897769753748434595763683319091796875e-54) - t_0)) THEN tmp_1009 ELSE ((174999999999999988897769753748434595763683319091796875e-54) - t_0) ENDIF IN LET tmp_1039 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1040 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1038 = IF (tmp_1039 > (- x)) THEN tmp_1040 ELSE (- x) ENDIF IN LET tmp_1043 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1044 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1042 = IF (tmp_1043 > (- x)) THEN tmp_1044 ELSE (- x) ENDIF IN LET tmp_1036 = IF (tmp_1038 > ((27500000000000002220446049250313080847263336181640625e-53) - y)) THEN tmp_1042 ELSE ((27500000000000002220446049250313080847263336181640625e-53) - y) ENDIF IN LET tmp_1052 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1053 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1051 = IF (tmp_1052 > (- x)) THEN tmp_1053 ELSE (- x) ENDIF IN LET tmp_1056 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1057 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1055 = IF (tmp_1056 > (- x)) THEN tmp_1057 ELSE (- x) ENDIF IN LET tmp_1049 = IF (tmp_1051 > ((27500000000000002220446049250313080847263336181640625e-53) - y)) THEN tmp_1055 ELSE ((27500000000000002220446049250313080847263336181640625e-53) - y) ENDIF IN LET tmp_1031 = IF (tmp_1036 > ((174999999999999988897769753748434595763683319091796875e-54) - t_0)) THEN tmp_1049 ELSE ((174999999999999988897769753748434595763683319091796875e-54) - t_0) ENDIF IN LET tmp_977 = IF (tmp_991 > (t_0 - (27500000000000002220446049250313080847263336181640625e-53))) THEN tmp_1031 ELSE (t_0 - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1268 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1269 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1267 = IF (tmp_1268 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1269 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1272 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1273 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1271 = IF (tmp_1272 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1273 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1265 = IF (tmp_1267 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_1271 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_1281 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1282 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1280 = IF (tmp_1281 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1282 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1285 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1286 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1284 = IF (tmp_1285 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1286 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1278 = IF (tmp_1280 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_1284 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_1260 = IF (tmp_1265 < ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56))) THEN tmp_1278 ELSE ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ENDIF IN LET tmp_1294 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1295 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1293 = IF (tmp_1294 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_1295 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1298 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1299 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1297 = IF (tmp_1298 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_1299 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1291 = IF (tmp_1293 > ((450000000000000011102230246251565404236316680908203125e-54) - x)) THEN tmp_1297 ELSE ((450000000000000011102230246251565404236316680908203125e-54) - x) ENDIF IN LET tmp_1321 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1322 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1320 = IF (tmp_1321 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1322 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1325 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1326 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1324 = IF (tmp_1325 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1326 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1318 = IF (tmp_1320 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_1324 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_1334 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1335 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1333 = IF (tmp_1334 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1335 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1338 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1339 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1337 = IF (tmp_1338 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1339 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1331 = IF (tmp_1333 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_1337 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_1313 = IF (tmp_1318 < ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56))) THEN tmp_1331 ELSE ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ENDIF IN LET tmp_1347 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1348 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1346 = IF (tmp_1347 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_1348 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1351 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1352 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1350 = IF (tmp_1351 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_1352 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1344 = IF (tmp_1346 > ((450000000000000011102230246251565404236316680908203125e-54) - x)) THEN tmp_1350 ELSE ((450000000000000011102230246251565404236316680908203125e-54) - x) ENDIF IN LET tmp_1246 = IF (tmp_1260 < tmp_1291) THEN tmp_1313 ELSE tmp_1344 ENDIF IN LET tmp_1360 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_1361 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_1359 = IF (tmp_1360 > (x - (1000000000000000055511151231257827021181583404541015625e-55))) THEN tmp_1361 ELSE (x - (1000000000000000055511151231257827021181583404541015625e-55)) ENDIF IN LET tmp_1364 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_1365 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_1363 = IF (tmp_1364 > (x - (1000000000000000055511151231257827021181583404541015625e-55))) THEN tmp_1365 ELSE (x - (1000000000000000055511151231257827021181583404541015625e-55)) ENDIF IN LET tmp_1357 = IF (tmp_1359 > (- x)) THEN tmp_1363 ELSE (- x) ENDIF IN LET tmp_1428 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1429 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1427 = IF (tmp_1428 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1429 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1432 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1433 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1431 = IF (tmp_1432 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1433 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1425 = IF (tmp_1427 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_1431 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_1441 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1442 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1440 = IF (tmp_1441 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1442 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1445 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1446 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1444 = IF (tmp_1445 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1446 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1438 = IF (tmp_1440 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_1444 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_1420 = IF (tmp_1425 < ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56))) THEN tmp_1438 ELSE ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ENDIF IN LET tmp_1454 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1455 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1453 = IF (tmp_1454 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_1455 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1458 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1459 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1457 = IF (tmp_1458 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_1459 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1451 = IF (tmp_1453 > ((450000000000000011102230246251565404236316680908203125e-54) - x)) THEN tmp_1457 ELSE ((450000000000000011102230246251565404236316680908203125e-54) - x) ENDIF IN LET tmp_1481 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1482 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1480 = IF (tmp_1481 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1482 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1485 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1486 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1484 = IF (tmp_1485 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1486 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1478 = IF (tmp_1480 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_1484 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_1494 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1495 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1493 = IF (tmp_1494 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1495 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1498 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1499 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (- y)) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (- y) ENDIF IN LET tmp_1497 = IF (tmp_1498 > (x - (8249999999999999555910790149937383830547332763671875e-52))) THEN tmp_1499 ELSE (x - (8249999999999999555910790149937383830547332763671875e-52)) ENDIF IN LET tmp_1491 = IF (tmp_1493 > ((72499999999999997779553950749686919152736663818359375e-53) - x)) THEN tmp_1497 ELSE ((72499999999999997779553950749686919152736663818359375e-53) - x) ENDIF IN LET tmp_1473 = IF (tmp_1478 < ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56))) THEN tmp_1491 ELSE ((sqrt((((y - (6999999999999999555910790149937383830547332763671875e-52)) ^ (2)) + ((x - (77500000000000002220446049250313080847263336181640625e-53)) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ENDIF IN LET tmp_1507 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1508 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1506 = IF (tmp_1507 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_1508 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1511 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1512 = IF ((- y) > (y - (27500000000000002220446049250313080847263336181640625e-53))) THEN (- y) ELSE (y - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_1510 = IF (tmp_1511 > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN tmp_1512 ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1504 = IF (tmp_1506 > ((450000000000000011102230246251565404236316680908203125e-54) - x)) THEN tmp_1510 ELSE ((450000000000000011102230246251565404236316680908203125e-54) - x) ENDIF IN LET tmp_1406 = IF (tmp_1420 < tmp_1451) THEN tmp_1473 ELSE tmp_1504 ENDIF IN LET tmp_1520 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_1521 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_1519 = IF (tmp_1520 > (x - (1000000000000000055511151231257827021181583404541015625e-55))) THEN tmp_1521 ELSE (x - (1000000000000000055511151231257827021181583404541015625e-55)) ENDIF IN LET tmp_1524 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_1525 = IF ((- y) > (y - (1))) THEN (- y) ELSE (y - (1)) ENDIF IN LET tmp_1523 = IF (tmp_1524 > (x - (1000000000000000055511151231257827021181583404541015625e-55))) THEN tmp_1525 ELSE (x - (1000000000000000055511151231257827021181583404541015625e-55)) ENDIF IN LET tmp_1517 = IF (tmp_1519 > (- x)) THEN tmp_1523 ELSE (- x) ENDIF IN LET tmp_1205 = IF (tmp_1246 < tmp_1357) THEN tmp_1406 ELSE tmp_1517 ENDIF IN LET tmp_1588 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1589 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1587 = IF (tmp_1588 > (- x)) THEN tmp_1589 ELSE (- x) ENDIF IN LET tmp_1592 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1593 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1591 = IF (tmp_1592 > (- x)) THEN tmp_1593 ELSE (- x) ENDIF IN LET tmp_1585 = IF (tmp_1587 > ((27500000000000002220446049250313080847263336181640625e-53) - y)) THEN tmp_1591 ELSE ((27500000000000002220446049250313080847263336181640625e-53) - y) ENDIF IN LET tmp_1601 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1602 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1600 = IF (tmp_1601 > (- x)) THEN tmp_1602 ELSE (- x) ENDIF IN LET tmp_1605 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1606 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1604 = IF (tmp_1605 > (- x)) THEN tmp_1606 ELSE (- x) ENDIF IN LET tmp_1598 = IF (tmp_1600 > ((27500000000000002220446049250313080847263336181640625e-53) - y)) THEN tmp_1604 ELSE ((27500000000000002220446049250313080847263336181640625e-53) - y) ENDIF IN LET tmp_1580 = IF (tmp_1585 > ((174999999999999988897769753748434595763683319091796875e-54) - t_0)) THEN tmp_1598 ELSE ((174999999999999988897769753748434595763683319091796875e-54) - t_0) ENDIF IN LET tmp_1628 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1629 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1627 = IF (tmp_1628 > (- x)) THEN tmp_1629 ELSE (- x) ENDIF IN LET tmp_1632 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1633 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1631 = IF (tmp_1632 > (- x)) THEN tmp_1633 ELSE (- x) ENDIF IN LET tmp_1625 = IF (tmp_1627 > ((27500000000000002220446049250313080847263336181640625e-53) - y)) THEN tmp_1631 ELSE ((27500000000000002220446049250313080847263336181640625e-53) - y) ENDIF IN LET tmp_1641 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1642 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1640 = IF (tmp_1641 > (- x)) THEN tmp_1642 ELSE (- x) ENDIF IN LET tmp_1645 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1646 = IF ((y - (5500000000000000444089209850062616169452667236328125e-52)) > (x - (5500000000000000444089209850062616169452667236328125e-52))) THEN (y - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (x - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1644 = IF (tmp_1645 > (- x)) THEN tmp_1646 ELSE (- x) ENDIF IN LET tmp_1638 = IF (tmp_1640 > ((27500000000000002220446049250313080847263336181640625e-53) - y)) THEN tmp_1644 ELSE ((27500000000000002220446049250313080847263336181640625e-53) - y) ENDIF IN LET tmp_1620 = IF (tmp_1625 > ((174999999999999988897769753748434595763683319091796875e-54) - t_0)) THEN tmp_1638 ELSE ((174999999999999988897769753748434595763683319091796875e-54) - t_0) ENDIF IN LET tmp_1566 = IF (tmp_1580 > (t_0 - (27500000000000002220446049250313080847263336181640625e-53))) THEN tmp_1620 ELSE (t_0 - (27500000000000002220446049250313080847263336181640625e-53)) ENDIF IN LET tmp_468 = IF (tmp_616 < tmp_977) THEN tmp_1205 ELSE tmp_1566 ENDIF IN tmp_468 END code
\begin{array}{l}
t_0 := \sqrt{{\left(y - 0.275\right)}^{2} + {\left(x - 0.275\right)}^{2}}\\
\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - 0.55, -y\right), x - 0.825\right), 0.725 - x\right), \sqrt{{\left(y - 0.7\right)}^{2} + {\left(x - 0.775\right)}^{2}} - 0.075\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 0.275\right), x - 0.55\right), 0.45 - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - 0.1\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - 0.55, x - 0.55\right), -x\right), 0.275 - y\right), 0.175 - t\_0\right), t\_0 - 0.275\right)\right)
\end{array}
(FPCore (x y)
:precision binary64
:pre TRUE
(fmin
(fmin
(fmax (- x) (fmax (- x 0.1) (fmax (- y 1.0) (- y))))
(fmin
(fmax (- 0.45 x) (fmax (- x 0.55) (fmax (- y 0.275) (- y))))
(fmin
(- (hypot (- 0.7 y) (- 0.775 x)) 0.075)
(fmax (- 0.725 x) (fmax (- x 0.825) (fmax (- y) (- y 0.55)))))))
(fmax
(- -0.275 0.275)
(fmax
(- 0.175 -0.275)
(fmax (- 0.275 y) (fmax (fmax (- x 0.55) (- y 0.55)) (- x)))))))double code(double x, double y) {
return fmin(fmin(fmax(-x, fmax((x - 0.1), fmax((y - 1.0), -y))), fmin(fmax((0.45 - x), fmax((x - 0.55), fmax((y - 0.275), -y))), fmin((hypot((0.7 - y), (0.775 - x)) - 0.075), fmax((0.725 - x), fmax((x - 0.825), fmax(-y, (y - 0.55))))))), fmax((-0.275 - 0.275), fmax((0.175 - -0.275), fmax((0.275 - y), fmax(fmax((x - 0.55), (y - 0.55)), -x)))));
}
public static double code(double x, double y) {
return fmin(fmin(fmax(-x, fmax((x - 0.1), fmax((y - 1.0), -y))), fmin(fmax((0.45 - x), fmax((x - 0.55), fmax((y - 0.275), -y))), fmin((Math.hypot((0.7 - y), (0.775 - x)) - 0.075), fmax((0.725 - x), fmax((x - 0.825), fmax(-y, (y - 0.55))))))), fmax((-0.275 - 0.275), fmax((0.175 - -0.275), fmax((0.275 - y), fmax(fmax((x - 0.55), (y - 0.55)), -x)))));
}
def code(x, y): return fmin(fmin(fmax(-x, fmax((x - 0.1), fmax((y - 1.0), -y))), fmin(fmax((0.45 - x), fmax((x - 0.55), fmax((y - 0.275), -y))), fmin((math.hypot((0.7 - y), (0.775 - x)) - 0.075), fmax((0.725 - x), fmax((x - 0.825), fmax(-y, (y - 0.55))))))), fmax((-0.275 - 0.275), fmax((0.175 - -0.275), fmax((0.275 - y), fmax(fmax((x - 0.55), (y - 0.55)), -x)))))
function code(x, y) return fmin(fmin(fmax(Float64(-x), fmax(Float64(x - 0.1), fmax(Float64(y - 1.0), Float64(-y)))), fmin(fmax(Float64(0.45 - x), fmax(Float64(x - 0.55), fmax(Float64(y - 0.275), Float64(-y)))), fmin(Float64(hypot(Float64(0.7 - y), Float64(0.775 - x)) - 0.075), fmax(Float64(0.725 - x), fmax(Float64(x - 0.825), fmax(Float64(-y), Float64(y - 0.55))))))), fmax(Float64(-0.275 - 0.275), fmax(Float64(0.175 - -0.275), fmax(Float64(0.275 - y), fmax(fmax(Float64(x - 0.55), Float64(y - 0.55)), Float64(-x)))))) end
function tmp = code(x, y) tmp = min(min(max(-x, max((x - 0.1), max((y - 1.0), -y))), min(max((0.45 - x), max((x - 0.55), max((y - 0.275), -y))), min((hypot((0.7 - y), (0.775 - x)) - 0.075), max((0.725 - x), max((x - 0.825), max(-y, (y - 0.55))))))), max((-0.275 - 0.275), max((0.175 - -0.275), max((0.275 - y), max(max((x - 0.55), (y - 0.55)), -x))))); end
code[x_, y_] := N[Min[N[Min[N[Max[(-x), N[Max[N[(x - 0.1), $MachinePrecision], N[Max[N[(y - 1.0), $MachinePrecision], (-y)], $MachinePrecision]], $MachinePrecision]], $MachinePrecision], N[Min[N[Max[N[(0.45 - x), $MachinePrecision], N[Max[N[(x - 0.55), $MachinePrecision], N[Max[N[(y - 0.275), $MachinePrecision], (-y)], $MachinePrecision]], $MachinePrecision]], $MachinePrecision], N[Min[N[(N[Sqrt[N[(0.7 - y), $MachinePrecision] ^ 2 + N[(0.775 - x), $MachinePrecision] ^ 2], $MachinePrecision] - 0.075), $MachinePrecision], N[Max[N[(0.725 - x), $MachinePrecision], N[Max[N[(x - 0.825), $MachinePrecision], N[Max[(-y), N[(y - 0.55), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision], N[Max[N[(-0.275 - 0.275), $MachinePrecision], N[Max[N[(0.175 - -0.275), $MachinePrecision], N[Max[N[(0.275 - y), $MachinePrecision], N[Max[N[Max[N[(x - 0.55), $MachinePrecision], N[(y - 0.55), $MachinePrecision]], $MachinePrecision], (-x)], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]
f(x, y): x in [-inf, +inf], y in [-inf, +inf] code: THEORY BEGIN f(x, y: real): real = LET tmp_137 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_138 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_136 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_137) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_138 ENDIF IN LET tmp_140 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_141 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_139 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_140) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_141 ENDIF IN LET tmp_135 = IF ((- x) > tmp_136) THEN (- x) ELSE tmp_139 ENDIF IN LET tmp_152 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_153 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_151 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_152) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_153 ENDIF IN LET tmp_155 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_156 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_154 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_155) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_156 ENDIF IN LET tmp_150 = IF (((450000000000000011102230246251565404236316680908203125e-54) - x) > tmp_151) THEN ((450000000000000011102230246251565404236316680908203125e-54) - x) ELSE tmp_154 ENDIF IN LET tmp_160 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_161 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_159 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_160) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_161 ENDIF IN LET tmp_163 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_164 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_162 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_163) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_164 ENDIF IN LET tmp_158 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_159) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_162 ENDIF IN LET tmp_167 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_168 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_166 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_167) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_168 ENDIF IN LET tmp_170 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_171 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_169 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_170) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_171 ENDIF IN LET tmp_165 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_166) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_169 ENDIF IN LET tmp_157 = IF (((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) < tmp_158) THEN ((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ELSE tmp_165 ENDIF IN LET tmp_174 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_175 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_173 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_174) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_175 ENDIF IN LET tmp_177 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_178 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_176 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_177) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_178 ENDIF IN LET tmp_172 = IF (((450000000000000011102230246251565404236316680908203125e-54) - x) > tmp_173) THEN ((450000000000000011102230246251565404236316680908203125e-54) - x) ELSE tmp_176 ENDIF IN LET tmp_182 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_183 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_181 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_182) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_183 ENDIF IN LET tmp_185 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_186 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_184 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_185) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_186 ENDIF IN LET tmp_180 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_181) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_184 ENDIF IN LET tmp_189 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_190 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_188 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_189) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_190 ENDIF IN LET tmp_192 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_193 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_191 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_192) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_193 ENDIF IN LET tmp_187 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_188) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_191 ENDIF IN LET tmp_179 = IF (((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) < tmp_180) THEN ((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ELSE tmp_187 ENDIF IN LET tmp_149 = IF (tmp_150 < tmp_157) THEN tmp_172 ELSE tmp_179 ENDIF IN LET tmp_196 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_197 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_195 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_196) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_197 ENDIF IN LET tmp_199 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_200 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_198 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_199) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_200 ENDIF IN LET tmp_194 = IF ((- x) > tmp_195) THEN (- x) ELSE tmp_198 ENDIF IN LET tmp_211 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_212 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_210 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_211) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_212 ENDIF IN LET tmp_214 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_215 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_213 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_214) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_215 ENDIF IN LET tmp_209 = IF (((450000000000000011102230246251565404236316680908203125e-54) - x) > tmp_210) THEN ((450000000000000011102230246251565404236316680908203125e-54) - x) ELSE tmp_213 ENDIF IN LET tmp_219 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_220 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_218 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_219) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_220 ENDIF IN LET tmp_222 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_223 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_221 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_222) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_223 ENDIF IN LET tmp_217 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_218) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_221 ENDIF IN LET tmp_226 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_227 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_225 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_226) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_227 ENDIF IN LET tmp_229 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_230 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_228 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_229) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_230 ENDIF IN LET tmp_224 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_225) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_228 ENDIF IN LET tmp_216 = IF (((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) < tmp_217) THEN ((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ELSE tmp_224 ENDIF IN LET tmp_233 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_234 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_232 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_233) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_234 ENDIF IN LET tmp_236 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_237 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_235 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_236) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_237 ENDIF IN LET tmp_231 = IF (((450000000000000011102230246251565404236316680908203125e-54) - x) > tmp_232) THEN ((450000000000000011102230246251565404236316680908203125e-54) - x) ELSE tmp_235 ENDIF IN LET tmp_241 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_242 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_240 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_241) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_242 ENDIF IN LET tmp_244 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_245 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_243 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_244) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_245 ENDIF IN LET tmp_239 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_240) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_243 ENDIF IN LET tmp_248 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_249 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_247 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_248) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_249 ENDIF IN LET tmp_251 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_252 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_250 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_251) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_252 ENDIF IN LET tmp_246 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_247) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_250 ENDIF IN LET tmp_238 = IF (((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) < tmp_239) THEN ((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ELSE tmp_246 ENDIF IN LET tmp_208 = IF (tmp_209 < tmp_216) THEN tmp_231 ELSE tmp_238 ENDIF IN LET tmp_134 = IF (tmp_135 < tmp_149) THEN tmp_194 ELSE tmp_208 ENDIF IN LET tmp_258 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_259 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_257 = IF (tmp_258 > (- x)) THEN tmp_259 ELSE (- x) ENDIF IN LET tmp_262 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_263 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_261 = IF (tmp_262 > (- x)) THEN tmp_263 ELSE (- x) ENDIF IN LET tmp_255 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_257) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_261 ENDIF IN LET tmp_267 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_268 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_266 = IF (tmp_267 > (- x)) THEN tmp_268 ELSE (- x) ENDIF IN LET tmp_271 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_272 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_270 = IF (tmp_271 > (- x)) THEN tmp_272 ELSE (- x) ENDIF IN LET tmp_264 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_266) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_270 ENDIF IN LET tmp_254 = IF (((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) > tmp_255) THEN ((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_264 ENDIF IN LET tmp_277 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_278 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_276 = IF (tmp_277 > (- x)) THEN tmp_278 ELSE (- x) ENDIF IN LET tmp_281 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_282 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_280 = IF (tmp_281 > (- x)) THEN tmp_282 ELSE (- x) ENDIF IN LET tmp_274 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_276) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_280 ENDIF IN LET tmp_286 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_287 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_285 = IF (tmp_286 > (- x)) THEN tmp_287 ELSE (- x) ENDIF IN LET tmp_290 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_291 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_289 = IF (tmp_290 > (- x)) THEN tmp_291 ELSE (- x) ENDIF IN LET tmp_283 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_285) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_289 ENDIF IN LET tmp_273 = IF (((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) > tmp_274) THEN ((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_283 ENDIF IN LET tmp_253 = IF (((-27500000000000002220446049250313080847263336181640625e-53) - (27500000000000002220446049250313080847263336181640625e-53)) > tmp_254) THEN ((-27500000000000002220446049250313080847263336181640625e-53) - (27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_273 ENDIF IN LET tmp_302 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_303 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_301 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_302) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_303 ENDIF IN LET tmp_305 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_306 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_304 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_305) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_306 ENDIF IN LET tmp_300 = IF ((- x) > tmp_301) THEN (- x) ELSE tmp_304 ENDIF IN LET tmp_317 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_318 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_316 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_317) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_318 ENDIF IN LET tmp_320 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_321 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_319 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_320) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_321 ENDIF IN LET tmp_315 = IF (((450000000000000011102230246251565404236316680908203125e-54) - x) > tmp_316) THEN ((450000000000000011102230246251565404236316680908203125e-54) - x) ELSE tmp_319 ENDIF IN LET tmp_325 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_326 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_324 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_325) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_326 ENDIF IN LET tmp_328 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_329 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_327 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_328) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_329 ENDIF IN LET tmp_323 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_324) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_327 ENDIF IN LET tmp_332 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_333 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_331 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_332) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_333 ENDIF IN LET tmp_335 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_336 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_334 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_335) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_336 ENDIF IN LET tmp_330 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_331) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_334 ENDIF IN LET tmp_322 = IF (((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) < tmp_323) THEN ((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ELSE tmp_330 ENDIF IN LET tmp_339 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_340 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_338 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_339) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_340 ENDIF IN LET tmp_342 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_343 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_341 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_342) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_343 ENDIF IN LET tmp_337 = IF (((450000000000000011102230246251565404236316680908203125e-54) - x) > tmp_338) THEN ((450000000000000011102230246251565404236316680908203125e-54) - x) ELSE tmp_341 ENDIF IN LET tmp_347 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_348 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_346 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_347) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_348 ENDIF IN LET tmp_350 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_351 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_349 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_350) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_351 ENDIF IN LET tmp_345 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_346) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_349 ENDIF IN LET tmp_354 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_355 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_353 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_354) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_355 ENDIF IN LET tmp_357 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_358 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_356 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_357) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_358 ENDIF IN LET tmp_352 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_353) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_356 ENDIF IN LET tmp_344 = IF (((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) < tmp_345) THEN ((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ELSE tmp_352 ENDIF IN LET tmp_314 = IF (tmp_315 < tmp_322) THEN tmp_337 ELSE tmp_344 ENDIF IN LET tmp_361 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_362 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_360 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_361) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_362 ENDIF IN LET tmp_364 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_365 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_363 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_364) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_365 ENDIF IN LET tmp_359 = IF ((- x) > tmp_360) THEN (- x) ELSE tmp_363 ENDIF IN LET tmp_376 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_377 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_375 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_376) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_377 ENDIF IN LET tmp_379 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_380 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_378 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_379) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_380 ENDIF IN LET tmp_374 = IF (((450000000000000011102230246251565404236316680908203125e-54) - x) > tmp_375) THEN ((450000000000000011102230246251565404236316680908203125e-54) - x) ELSE tmp_378 ENDIF IN LET tmp_384 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_385 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_383 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_384) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_385 ENDIF IN LET tmp_387 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_388 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_386 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_387) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_388 ENDIF IN LET tmp_382 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_383) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_386 ENDIF IN LET tmp_391 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_392 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_390 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_391) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_392 ENDIF IN LET tmp_394 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_395 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_393 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_394) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_395 ENDIF IN LET tmp_389 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_390) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_393 ENDIF IN LET tmp_381 = IF (((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) < tmp_382) THEN ((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ELSE tmp_389 ENDIF IN LET tmp_398 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_399 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_397 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_398) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_399 ENDIF IN LET tmp_401 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_402 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_400 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_401) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_402 ENDIF IN LET tmp_396 = IF (((450000000000000011102230246251565404236316680908203125e-54) - x) > tmp_397) THEN ((450000000000000011102230246251565404236316680908203125e-54) - x) ELSE tmp_400 ENDIF IN LET tmp_406 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_407 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_405 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_406) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_407 ENDIF IN LET tmp_409 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_410 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_408 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_409) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_410 ENDIF IN LET tmp_404 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_405) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_408 ENDIF IN LET tmp_413 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_414 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_412 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_413) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_414 ENDIF IN LET tmp_416 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_417 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_415 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_416) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_417 ENDIF IN LET tmp_411 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_412) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_415 ENDIF IN LET tmp_403 = IF (((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) < tmp_404) THEN ((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ELSE tmp_411 ENDIF IN LET tmp_373 = IF (tmp_374 < tmp_381) THEN tmp_396 ELSE tmp_403 ENDIF IN LET tmp_299 = IF (tmp_300 < tmp_314) THEN tmp_359 ELSE tmp_373 ENDIF IN LET tmp_423 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_424 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_422 = IF (tmp_423 > (- x)) THEN tmp_424 ELSE (- x) ENDIF IN LET tmp_427 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_428 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_426 = IF (tmp_427 > (- x)) THEN tmp_428 ELSE (- x) ENDIF IN LET tmp_420 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_422) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_426 ENDIF IN LET tmp_432 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_433 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_431 = IF (tmp_432 > (- x)) THEN tmp_433 ELSE (- x) ENDIF IN LET tmp_436 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_437 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_435 = IF (tmp_436 > (- x)) THEN tmp_437 ELSE (- x) ENDIF IN LET tmp_429 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_431) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_435 ENDIF IN LET tmp_419 = IF (((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) > tmp_420) THEN ((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_429 ENDIF IN LET tmp_442 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_443 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_441 = IF (tmp_442 > (- x)) THEN tmp_443 ELSE (- x) ENDIF IN LET tmp_446 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_447 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_445 = IF (tmp_446 > (- x)) THEN tmp_447 ELSE (- x) ENDIF IN LET tmp_439 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_441) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_445 ENDIF IN LET tmp_451 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_452 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_450 = IF (tmp_451 > (- x)) THEN tmp_452 ELSE (- x) ENDIF IN LET tmp_455 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_456 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_454 = IF (tmp_455 > (- x)) THEN tmp_456 ELSE (- x) ENDIF IN LET tmp_448 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_450) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_454 ENDIF IN LET tmp_438 = IF (((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) > tmp_439) THEN ((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_448 ENDIF IN LET tmp_418 = IF (((-27500000000000002220446049250313080847263336181640625e-53) - (27500000000000002220446049250313080847263336181640625e-53)) > tmp_419) THEN ((-27500000000000002220446049250313080847263336181640625e-53) - (27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_438 ENDIF IN LET tmp_126 = IF (tmp_134 < tmp_253) THEN tmp_299 ELSE tmp_418 ENDIF IN tmp_126 END code
\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(-x, \mathsf{max}\left(x - 0.1, \mathsf{max}\left(y - 1, -y\right)\right)\right), \mathsf{min}\left(\mathsf{max}\left(0.45 - x, \mathsf{max}\left(x - 0.55, \mathsf{max}\left(y - 0.275, -y\right)\right)\right), \mathsf{min}\left(\mathsf{hypot}\left(0.7 - y, 0.775 - x\right) - 0.075, \mathsf{max}\left(0.725 - x, \mathsf{max}\left(x - 0.825, \mathsf{max}\left(-y, y - 0.55\right)\right)\right)\right)\right)\right), \mathsf{max}\left(-0.275 - 0.275, \mathsf{max}\left(0.175 - -0.275, \mathsf{max}\left(0.275 - y, \mathsf{max}\left(\mathsf{max}\left(x - 0.55, y - 0.55\right), -x\right)\right)\right)\right)\right)
Initial program 100.0%
Applied rewrites100.0%
Taylor expanded in x around inf
Applied rewrites100.0%
Taylor expanded in x around 0
Applied rewrites100.0%
(FPCore (x y)
:precision binary64
:pre TRUE
(let* ((t_0
(fmax (- 0.45 x) (fmax (- x 0.55) (fmax (- y 0.275) (- y)))))
(t_1
(fmax (- 0.725 x) (fmax (- x 0.825) (fmax (- y) (- y 0.55)))))
(t_2
(fmax
(- -0.275 0.275)
(fmax
(- 0.175 -0.275)
(fmax
(- 0.275 y)
(fmax (fmax (- x 0.55) (- y 0.55)) (- x)))))))
(if (<= y 2.55e+16)
(fmin
(fmin
(fmax (- x) (fmax (- x 0.1) (fmax -1.0 (- y))))
(fmin t_0 (fmin (- (hypot (- 0.7 y) (- 0.775 x)) 0.075) t_1)))
t_2)
(fmin
(fmin
(fmax (- x) (fmax (- x 0.1) (fmax (- y 1.0) (- y))))
(fmin t_0 (fmin (* y (- 1.0 (* 0.775 (/ 1.0 y)))) t_1)))
t_2))))double code(double x, double y) {
double t_0 = fmax((0.45 - x), fmax((x - 0.55), fmax((y - 0.275), -y)));
double t_1 = fmax((0.725 - x), fmax((x - 0.825), fmax(-y, (y - 0.55))));
double t_2 = fmax((-0.275 - 0.275), fmax((0.175 - -0.275), fmax((0.275 - y), fmax(fmax((x - 0.55), (y - 0.55)), -x))));
double tmp;
if (y <= 2.55e+16) {
tmp = fmin(fmin(fmax(-x, fmax((x - 0.1), fmax(-1.0, -y))), fmin(t_0, fmin((hypot((0.7 - y), (0.775 - x)) - 0.075), t_1))), t_2);
} else {
tmp = fmin(fmin(fmax(-x, fmax((x - 0.1), fmax((y - 1.0), -y))), fmin(t_0, fmin((y * (1.0 - (0.775 * (1.0 / y)))), t_1))), t_2);
}
return tmp;
}
public static double code(double x, double y) {
double t_0 = fmax((0.45 - x), fmax((x - 0.55), fmax((y - 0.275), -y)));
double t_1 = fmax((0.725 - x), fmax((x - 0.825), fmax(-y, (y - 0.55))));
double t_2 = fmax((-0.275 - 0.275), fmax((0.175 - -0.275), fmax((0.275 - y), fmax(fmax((x - 0.55), (y - 0.55)), -x))));
double tmp;
if (y <= 2.55e+16) {
tmp = fmin(fmin(fmax(-x, fmax((x - 0.1), fmax(-1.0, -y))), fmin(t_0, fmin((Math.hypot((0.7 - y), (0.775 - x)) - 0.075), t_1))), t_2);
} else {
tmp = fmin(fmin(fmax(-x, fmax((x - 0.1), fmax((y - 1.0), -y))), fmin(t_0, fmin((y * (1.0 - (0.775 * (1.0 / y)))), t_1))), t_2);
}
return tmp;
}
def code(x, y): t_0 = fmax((0.45 - x), fmax((x - 0.55), fmax((y - 0.275), -y))) t_1 = fmax((0.725 - x), fmax((x - 0.825), fmax(-y, (y - 0.55)))) t_2 = fmax((-0.275 - 0.275), fmax((0.175 - -0.275), fmax((0.275 - y), fmax(fmax((x - 0.55), (y - 0.55)), -x)))) tmp = 0 if y <= 2.55e+16: tmp = fmin(fmin(fmax(-x, fmax((x - 0.1), fmax(-1.0, -y))), fmin(t_0, fmin((math.hypot((0.7 - y), (0.775 - x)) - 0.075), t_1))), t_2) else: tmp = fmin(fmin(fmax(-x, fmax((x - 0.1), fmax((y - 1.0), -y))), fmin(t_0, fmin((y * (1.0 - (0.775 * (1.0 / y)))), t_1))), t_2) return tmp
function code(x, y) t_0 = fmax(Float64(0.45 - x), fmax(Float64(x - 0.55), fmax(Float64(y - 0.275), Float64(-y)))) t_1 = fmax(Float64(0.725 - x), fmax(Float64(x - 0.825), fmax(Float64(-y), Float64(y - 0.55)))) t_2 = fmax(Float64(-0.275 - 0.275), fmax(Float64(0.175 - -0.275), fmax(Float64(0.275 - y), fmax(fmax(Float64(x - 0.55), Float64(y - 0.55)), Float64(-x))))) tmp = 0.0 if (y <= 2.55e+16) tmp = fmin(fmin(fmax(Float64(-x), fmax(Float64(x - 0.1), fmax(-1.0, Float64(-y)))), fmin(t_0, fmin(Float64(hypot(Float64(0.7 - y), Float64(0.775 - x)) - 0.075), t_1))), t_2); else tmp = fmin(fmin(fmax(Float64(-x), fmax(Float64(x - 0.1), fmax(Float64(y - 1.0), Float64(-y)))), fmin(t_0, fmin(Float64(y * Float64(1.0 - Float64(0.775 * Float64(1.0 / y)))), t_1))), t_2); end return tmp end
function tmp_2 = code(x, y) t_0 = max((0.45 - x), max((x - 0.55), max((y - 0.275), -y))); t_1 = max((0.725 - x), max((x - 0.825), max(-y, (y - 0.55)))); t_2 = max((-0.275 - 0.275), max((0.175 - -0.275), max((0.275 - y), max(max((x - 0.55), (y - 0.55)), -x)))); tmp = 0.0; if (y <= 2.55e+16) tmp = min(min(max(-x, max((x - 0.1), max(-1.0, -y))), min(t_0, min((hypot((0.7 - y), (0.775 - x)) - 0.075), t_1))), t_2); else tmp = min(min(max(-x, max((x - 0.1), max((y - 1.0), -y))), min(t_0, min((y * (1.0 - (0.775 * (1.0 / y)))), t_1))), t_2); end tmp_2 = tmp; end
code[x_, y_] := Block[{t$95$0 = N[Max[N[(0.45 - x), $MachinePrecision], N[Max[N[(x - 0.55), $MachinePrecision], N[Max[N[(y - 0.275), $MachinePrecision], (-y)], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]}, Block[{t$95$1 = N[Max[N[(0.725 - x), $MachinePrecision], N[Max[N[(x - 0.825), $MachinePrecision], N[Max[(-y), N[(y - 0.55), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]}, Block[{t$95$2 = N[Max[N[(-0.275 - 0.275), $MachinePrecision], N[Max[N[(0.175 - -0.275), $MachinePrecision], N[Max[N[(0.275 - y), $MachinePrecision], N[Max[N[Max[N[(x - 0.55), $MachinePrecision], N[(y - 0.55), $MachinePrecision]], $MachinePrecision], (-x)], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]}, If[LessEqual[y, 2.55e+16], N[Min[N[Min[N[Max[(-x), N[Max[N[(x - 0.1), $MachinePrecision], N[Max[-1.0, (-y)], $MachinePrecision]], $MachinePrecision]], $MachinePrecision], N[Min[t$95$0, N[Min[N[(N[Sqrt[N[(0.7 - y), $MachinePrecision] ^ 2 + N[(0.775 - x), $MachinePrecision] ^ 2], $MachinePrecision] - 0.075), $MachinePrecision], t$95$1], $MachinePrecision]], $MachinePrecision]], $MachinePrecision], t$95$2], $MachinePrecision], N[Min[N[Min[N[Max[(-x), N[Max[N[(x - 0.1), $MachinePrecision], N[Max[N[(y - 1.0), $MachinePrecision], (-y)], $MachinePrecision]], $MachinePrecision]], $MachinePrecision], N[Min[t$95$0, N[Min[N[(y * N[(1.0 - N[(0.775 * N[(1.0 / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1], $MachinePrecision]], $MachinePrecision]], $MachinePrecision], t$95$2], $MachinePrecision]]]]]
f(x, y): x in [-inf, +inf], y in [-inf, +inf] code: THEORY BEGIN f(x, y: real): real = LET tmp_2 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_3 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_1 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_2) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_3 ENDIF IN LET tmp_5 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_6 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_4 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_5) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_6 ENDIF IN LET tmp = IF (((450000000000000011102230246251565404236316680908203125e-54) - x) > tmp_1) THEN ((450000000000000011102230246251565404236316680908203125e-54) - x) ELSE tmp_4 ENDIF IN LET t_0 = tmp IN LET tmp_9 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_10 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_8 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_9) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_10 ENDIF IN LET tmp_12 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_13 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_11 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_12) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_13 ENDIF IN LET tmp_7 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_8) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_11 ENDIF IN LET t_1 = tmp_7 IN LET tmp_19 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_20 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_18 = IF (tmp_19 > (- x)) THEN tmp_20 ELSE (- x) ENDIF IN LET tmp_23 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_24 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_22 = IF (tmp_23 > (- x)) THEN tmp_24 ELSE (- x) ENDIF IN LET tmp_16 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_18) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_22 ENDIF IN LET tmp_28 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_29 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_27 = IF (tmp_28 > (- x)) THEN tmp_29 ELSE (- x) ENDIF IN LET tmp_32 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_33 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_31 = IF (tmp_32 > (- x)) THEN tmp_33 ELSE (- x) ENDIF IN LET tmp_25 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_27) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_31 ENDIF IN LET tmp_15 = IF (((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) > tmp_16) THEN ((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_25 ENDIF IN LET tmp_38 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_39 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_37 = IF (tmp_38 > (- x)) THEN tmp_39 ELSE (- x) ENDIF IN LET tmp_42 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_43 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_41 = IF (tmp_42 > (- x)) THEN tmp_43 ELSE (- x) ENDIF IN LET tmp_35 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_37) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_41 ENDIF IN LET tmp_47 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_48 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_46 = IF (tmp_47 > (- x)) THEN tmp_48 ELSE (- x) ENDIF IN LET tmp_51 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_52 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_50 = IF (tmp_51 > (- x)) THEN tmp_52 ELSE (- x) ENDIF IN LET tmp_44 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_46) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_50 ENDIF IN LET tmp_34 = IF (((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) > tmp_35) THEN ((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_44 ENDIF IN LET tmp_14 = IF (((-27500000000000002220446049250313080847263336181640625e-53) - (27500000000000002220446049250313080847263336181640625e-53)) > tmp_15) THEN ((-27500000000000002220446049250313080847263336181640625e-53) - (27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_34 ENDIF IN LET t_2 = tmp_14 IN LET tmp_178 = IF ((-1) > (- y)) THEN (-1) ELSE (- y) ENDIF IN LET tmp_179 = IF ((-1) > (- y)) THEN (-1) ELSE (- y) ENDIF IN LET tmp_177 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_178) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_179 ENDIF IN LET tmp_181 = IF ((-1) > (- y)) THEN (-1) ELSE (- y) ENDIF IN LET tmp_182 = IF ((-1) > (- y)) THEN (-1) ELSE (- y) ENDIF IN LET tmp_180 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_181) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_182 ENDIF IN LET tmp_176 = IF ((- x) > tmp_177) THEN (- x) ELSE tmp_180 ENDIF IN LET tmp_184 = IF (((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) < t_1) THEN ((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ELSE t_1 ENDIF IN LET tmp_185 = IF (((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) < t_1) THEN ((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ELSE t_1 ENDIF IN LET tmp_183 = IF (t_0 < tmp_184) THEN t_0 ELSE tmp_185 ENDIF IN LET tmp_188 = IF ((-1) > (- y)) THEN (-1) ELSE (- y) ENDIF IN LET tmp_189 = IF ((-1) > (- y)) THEN (-1) ELSE (- y) ENDIF IN LET tmp_187 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_188) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_189 ENDIF IN LET tmp_191 = IF ((-1) > (- y)) THEN (-1) ELSE (- y) ENDIF IN LET tmp_192 = IF ((-1) > (- y)) THEN (-1) ELSE (- y) ENDIF IN LET tmp_190 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_191) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_192 ENDIF IN LET tmp_186 = IF ((- x) > tmp_187) THEN (- x) ELSE tmp_190 ENDIF IN LET tmp_194 = IF (((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) < t_1) THEN ((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ELSE t_1 ENDIF IN LET tmp_195 = IF (((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) < t_1) THEN ((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ELSE t_1 ENDIF IN LET tmp_193 = IF (t_0 < tmp_194) THEN t_0 ELSE tmp_195 ENDIF IN LET tmp_175 = IF (tmp_176 < tmp_183) THEN tmp_186 ELSE tmp_193 ENDIF IN LET tmp_206 = IF ((-1) > (- y)) THEN (-1) ELSE (- y) ENDIF IN LET tmp_207 = IF ((-1) > (- y)) THEN (-1) ELSE (- y) ENDIF IN LET tmp_205 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_206) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_207 ENDIF IN LET tmp_209 = IF ((-1) > (- y)) THEN (-1) ELSE (- y) ENDIF IN LET tmp_210 = IF ((-1) > (- y)) THEN (-1) ELSE (- y) ENDIF IN LET tmp_208 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_209) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_210 ENDIF IN LET tmp_204 = IF ((- x) > tmp_205) THEN (- x) ELSE tmp_208 ENDIF IN LET tmp_212 = IF (((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) < t_1) THEN ((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ELSE t_1 ENDIF IN LET tmp_213 = IF (((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) < t_1) THEN ((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ELSE t_1 ENDIF IN LET tmp_211 = IF (t_0 < tmp_212) THEN t_0 ELSE tmp_213 ENDIF IN LET tmp_216 = IF ((-1) > (- y)) THEN (-1) ELSE (- y) ENDIF IN LET tmp_217 = IF ((-1) > (- y)) THEN (-1) ELSE (- y) ENDIF IN LET tmp_215 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_216) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_217 ENDIF IN LET tmp_219 = IF ((-1) > (- y)) THEN (-1) ELSE (- y) ENDIF IN LET tmp_220 = IF ((-1) > (- y)) THEN (-1) ELSE (- y) ENDIF IN LET tmp_218 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_219) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_220 ENDIF IN LET tmp_214 = IF ((- x) > tmp_215) THEN (- x) ELSE tmp_218 ENDIF IN LET tmp_222 = IF (((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) < t_1) THEN ((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ELSE t_1 ENDIF IN LET tmp_223 = IF (((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) < t_1) THEN ((sqrt(((((6999999999999999555910790149937383830547332763671875e-52) - y) ^ (2)) + (((77500000000000002220446049250313080847263336181640625e-53) - x) ^ (2))))) - (7499999999999999722444243843710864894092082977294921875e-56)) ELSE t_1 ENDIF IN LET tmp_221 = IF (t_0 < tmp_222) THEN t_0 ELSE tmp_223 ENDIF IN LET tmp_203 = IF (tmp_204 < tmp_211) THEN tmp_214 ELSE tmp_221 ENDIF IN LET tmp_167 = IF (tmp_175 < t_2) THEN tmp_203 ELSE t_2 ENDIF IN LET tmp_263 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_264 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_262 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_263) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_264 ENDIF IN LET tmp_266 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_267 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_265 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_266) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_267 ENDIF IN LET tmp_261 = IF ((- x) > tmp_262) THEN (- x) ELSE tmp_265 ENDIF IN LET tmp_269 = IF ((y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) < t_1) THEN (y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) ELSE t_1 ENDIF IN LET tmp_270 = IF ((y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) < t_1) THEN (y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) ELSE t_1 ENDIF IN LET tmp_268 = IF (t_0 < tmp_269) THEN t_0 ELSE tmp_270 ENDIF IN LET tmp_273 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_274 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_272 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_273) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_274 ENDIF IN LET tmp_276 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_277 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_275 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_276) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_277 ENDIF IN LET tmp_271 = IF ((- x) > tmp_272) THEN (- x) ELSE tmp_275 ENDIF IN LET tmp_279 = IF ((y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) < t_1) THEN (y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) ELSE t_1 ENDIF IN LET tmp_280 = IF ((y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) < t_1) THEN (y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) ELSE t_1 ENDIF IN LET tmp_278 = IF (t_0 < tmp_279) THEN t_0 ELSE tmp_280 ENDIF IN LET tmp_260 = IF (tmp_261 < tmp_268) THEN tmp_271 ELSE tmp_278 ENDIF IN LET tmp_291 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_292 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_290 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_291) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_292 ENDIF IN LET tmp_294 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_295 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_293 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_294) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_295 ENDIF IN LET tmp_289 = IF ((- x) > tmp_290) THEN (- x) ELSE tmp_293 ENDIF IN LET tmp_297 = IF ((y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) < t_1) THEN (y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) ELSE t_1 ENDIF IN LET tmp_298 = IF ((y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) < t_1) THEN (y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) ELSE t_1 ENDIF IN LET tmp_296 = IF (t_0 < tmp_297) THEN t_0 ELSE tmp_298 ENDIF IN LET tmp_301 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_302 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_300 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_301) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_302 ENDIF IN LET tmp_304 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_305 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_303 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_304) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_305 ENDIF IN LET tmp_299 = IF ((- x) > tmp_300) THEN (- x) ELSE tmp_303 ENDIF IN LET tmp_307 = IF ((y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) < t_1) THEN (y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) ELSE t_1 ENDIF IN LET tmp_308 = IF ((y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) < t_1) THEN (y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) ELSE t_1 ENDIF IN LET tmp_306 = IF (t_0 < tmp_307) THEN t_0 ELSE tmp_308 ENDIF IN LET tmp_288 = IF (tmp_289 < tmp_296) THEN tmp_299 ELSE tmp_306 ENDIF IN LET tmp_252 = IF (tmp_260 < t_2) THEN tmp_288 ELSE t_2 ENDIF IN LET tmp_138 = IF (y <= (255e14)) THEN tmp_167 ELSE tmp_252 ENDIF IN tmp_138 END code
\begin{array}{l}
t_0 := \mathsf{max}\left(0.45 - x, \mathsf{max}\left(x - 0.55, \mathsf{max}\left(y - 0.275, -y\right)\right)\right)\\
t_1 := \mathsf{max}\left(0.725 - x, \mathsf{max}\left(x - 0.825, \mathsf{max}\left(-y, y - 0.55\right)\right)\right)\\
t_2 := \mathsf{max}\left(-0.275 - 0.275, \mathsf{max}\left(0.175 - -0.275, \mathsf{max}\left(0.275 - y, \mathsf{max}\left(\mathsf{max}\left(x - 0.55, y - 0.55\right), -x\right)\right)\right)\right)\\
\mathbf{if}\;y \leq 2.55 \cdot 10^{+16}:\\
\;\;\;\;\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(-x, \mathsf{max}\left(x - 0.1, \mathsf{max}\left(-1, -y\right)\right)\right), \mathsf{min}\left(t\_0, \mathsf{min}\left(\mathsf{hypot}\left(0.7 - y, 0.775 - x\right) - 0.075, t\_1\right)\right)\right), t\_2\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(-x, \mathsf{max}\left(x - 0.1, \mathsf{max}\left(y - 1, -y\right)\right)\right), \mathsf{min}\left(t\_0, \mathsf{min}\left(y \cdot \left(1 - 0.775 \cdot \frac{1}{y}\right), t\_1\right)\right)\right), t\_2\right)\\
\end{array}
if y < 2.55e16Initial program 100.0%
Applied rewrites100.0%
Taylor expanded in x around inf
Applied rewrites100.0%
Taylor expanded in x around 0
Applied rewrites100.0%
Taylor expanded in y around 0
Applied rewrites81.6%
if 2.55e16 < y Initial program 100.0%
Applied rewrites100.0%
Taylor expanded in x around inf
Applied rewrites100.0%
Taylor expanded in x around 0
Applied rewrites100.0%
Taylor expanded in y around inf
Applied rewrites20.7%
(FPCore (x y)
:precision binary64
:pre TRUE
(let* ((t_0
(fmax (- 0.45 x) (fmax (- x 0.55) (fmax (- y 0.275) (- y)))))
(t_1
(fmax (- 0.725 x) (fmax (- x 0.825) (fmax (- y) (- y 0.55)))))
(t_2 (fmax (- x) (fmax (- x 0.1) (fmax (- y 1.0) (- y)))))
(t_3
(fmax
(- -0.275 0.275)
(fmax
(- 0.175 -0.275)
(fmax
(- 0.275 y)
(fmax (fmax (- x 0.55) (- y 0.55)) (- x)))))))
(if (<= x -2.1e+16)
(fmin
(fmin
t_2
(fmin t_0 (fmin (* -1.0 (* x (- 1.0 (* 0.7 (/ 1.0 x))))) t_1)))
t_3)
(if (<= x 8000.0)
(fmin
(fmin
t_2
(fmin
t_0
(fmin (* -1.0 (* y (- 1.0 (* 0.625 (/ 1.0 y))))) t_1)))
t_3)
(fmin
(fmin
t_2
(fmin t_0 (fmin (* x (- 1.0 (* 0.85 (/ 1.0 x)))) t_1)))
t_3)))))double code(double x, double y) {
double t_0 = fmax((0.45 - x), fmax((x - 0.55), fmax((y - 0.275), -y)));
double t_1 = fmax((0.725 - x), fmax((x - 0.825), fmax(-y, (y - 0.55))));
double t_2 = fmax(-x, fmax((x - 0.1), fmax((y - 1.0), -y)));
double t_3 = fmax((-0.275 - 0.275), fmax((0.175 - -0.275), fmax((0.275 - y), fmax(fmax((x - 0.55), (y - 0.55)), -x))));
double tmp;
if (x <= -2.1e+16) {
tmp = fmin(fmin(t_2, fmin(t_0, fmin((-1.0 * (x * (1.0 - (0.7 * (1.0 / x))))), t_1))), t_3);
} else if (x <= 8000.0) {
tmp = fmin(fmin(t_2, fmin(t_0, fmin((-1.0 * (y * (1.0 - (0.625 * (1.0 / y))))), t_1))), t_3);
} else {
tmp = fmin(fmin(t_2, fmin(t_0, fmin((x * (1.0 - (0.85 * (1.0 / x)))), t_1))), t_3);
}
return tmp;
}
real(8) function code(x, y)
use fmin_fmax_functions
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: t_0
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_0 = fmax((0.45d0 - x), fmax((x - 0.55d0), fmax((y - 0.275d0), -y)))
t_1 = fmax((0.725d0 - x), fmax((x - 0.825d0), fmax(-y, (y - 0.55d0))))
t_2 = fmax(-x, fmax((x - 0.1d0), fmax((y - 1.0d0), -y)))
t_3 = fmax(((-0.275d0) - 0.275d0), fmax((0.175d0 - (-0.275d0)), fmax((0.275d0 - y), fmax(fmax((x - 0.55d0), (y - 0.55d0)), -x))))
if (x <= (-2.1d+16)) then
tmp = fmin(fmin(t_2, fmin(t_0, fmin(((-1.0d0) * (x * (1.0d0 - (0.7d0 * (1.0d0 / x))))), t_1))), t_3)
else if (x <= 8000.0d0) then
tmp = fmin(fmin(t_2, fmin(t_0, fmin(((-1.0d0) * (y * (1.0d0 - (0.625d0 * (1.0d0 / y))))), t_1))), t_3)
else
tmp = fmin(fmin(t_2, fmin(t_0, fmin((x * (1.0d0 - (0.85d0 * (1.0d0 / x)))), t_1))), t_3)
end if
code = tmp
end function
public static double code(double x, double y) {
double t_0 = fmax((0.45 - x), fmax((x - 0.55), fmax((y - 0.275), -y)));
double t_1 = fmax((0.725 - x), fmax((x - 0.825), fmax(-y, (y - 0.55))));
double t_2 = fmax(-x, fmax((x - 0.1), fmax((y - 1.0), -y)));
double t_3 = fmax((-0.275 - 0.275), fmax((0.175 - -0.275), fmax((0.275 - y), fmax(fmax((x - 0.55), (y - 0.55)), -x))));
double tmp;
if (x <= -2.1e+16) {
tmp = fmin(fmin(t_2, fmin(t_0, fmin((-1.0 * (x * (1.0 - (0.7 * (1.0 / x))))), t_1))), t_3);
} else if (x <= 8000.0) {
tmp = fmin(fmin(t_2, fmin(t_0, fmin((-1.0 * (y * (1.0 - (0.625 * (1.0 / y))))), t_1))), t_3);
} else {
tmp = fmin(fmin(t_2, fmin(t_0, fmin((x * (1.0 - (0.85 * (1.0 / x)))), t_1))), t_3);
}
return tmp;
}
def code(x, y): t_0 = fmax((0.45 - x), fmax((x - 0.55), fmax((y - 0.275), -y))) t_1 = fmax((0.725 - x), fmax((x - 0.825), fmax(-y, (y - 0.55)))) t_2 = fmax(-x, fmax((x - 0.1), fmax((y - 1.0), -y))) t_3 = fmax((-0.275 - 0.275), fmax((0.175 - -0.275), fmax((0.275 - y), fmax(fmax((x - 0.55), (y - 0.55)), -x)))) tmp = 0 if x <= -2.1e+16: tmp = fmin(fmin(t_2, fmin(t_0, fmin((-1.0 * (x * (1.0 - (0.7 * (1.0 / x))))), t_1))), t_3) elif x <= 8000.0: tmp = fmin(fmin(t_2, fmin(t_0, fmin((-1.0 * (y * (1.0 - (0.625 * (1.0 / y))))), t_1))), t_3) else: tmp = fmin(fmin(t_2, fmin(t_0, fmin((x * (1.0 - (0.85 * (1.0 / x)))), t_1))), t_3) return tmp
function code(x, y) t_0 = fmax(Float64(0.45 - x), fmax(Float64(x - 0.55), fmax(Float64(y - 0.275), Float64(-y)))) t_1 = fmax(Float64(0.725 - x), fmax(Float64(x - 0.825), fmax(Float64(-y), Float64(y - 0.55)))) t_2 = fmax(Float64(-x), fmax(Float64(x - 0.1), fmax(Float64(y - 1.0), Float64(-y)))) t_3 = fmax(Float64(-0.275 - 0.275), fmax(Float64(0.175 - -0.275), fmax(Float64(0.275 - y), fmax(fmax(Float64(x - 0.55), Float64(y - 0.55)), Float64(-x))))) tmp = 0.0 if (x <= -2.1e+16) tmp = fmin(fmin(t_2, fmin(t_0, fmin(Float64(-1.0 * Float64(x * Float64(1.0 - Float64(0.7 * Float64(1.0 / x))))), t_1))), t_3); elseif (x <= 8000.0) tmp = fmin(fmin(t_2, fmin(t_0, fmin(Float64(-1.0 * Float64(y * Float64(1.0 - Float64(0.625 * Float64(1.0 / y))))), t_1))), t_3); else tmp = fmin(fmin(t_2, fmin(t_0, fmin(Float64(x * Float64(1.0 - Float64(0.85 * Float64(1.0 / x)))), t_1))), t_3); end return tmp end
function tmp_2 = code(x, y) t_0 = max((0.45 - x), max((x - 0.55), max((y - 0.275), -y))); t_1 = max((0.725 - x), max((x - 0.825), max(-y, (y - 0.55)))); t_2 = max(-x, max((x - 0.1), max((y - 1.0), -y))); t_3 = max((-0.275 - 0.275), max((0.175 - -0.275), max((0.275 - y), max(max((x - 0.55), (y - 0.55)), -x)))); tmp = 0.0; if (x <= -2.1e+16) tmp = min(min(t_2, min(t_0, min((-1.0 * (x * (1.0 - (0.7 * (1.0 / x))))), t_1))), t_3); elseif (x <= 8000.0) tmp = min(min(t_2, min(t_0, min((-1.0 * (y * (1.0 - (0.625 * (1.0 / y))))), t_1))), t_3); else tmp = min(min(t_2, min(t_0, min((x * (1.0 - (0.85 * (1.0 / x)))), t_1))), t_3); end tmp_2 = tmp; end
code[x_, y_] := Block[{t$95$0 = N[Max[N[(0.45 - x), $MachinePrecision], N[Max[N[(x - 0.55), $MachinePrecision], N[Max[N[(y - 0.275), $MachinePrecision], (-y)], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]}, Block[{t$95$1 = N[Max[N[(0.725 - x), $MachinePrecision], N[Max[N[(x - 0.825), $MachinePrecision], N[Max[(-y), N[(y - 0.55), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]}, Block[{t$95$2 = N[Max[(-x), N[Max[N[(x - 0.1), $MachinePrecision], N[Max[N[(y - 1.0), $MachinePrecision], (-y)], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]}, Block[{t$95$3 = N[Max[N[(-0.275 - 0.275), $MachinePrecision], N[Max[N[(0.175 - -0.275), $MachinePrecision], N[Max[N[(0.275 - y), $MachinePrecision], N[Max[N[Max[N[(x - 0.55), $MachinePrecision], N[(y - 0.55), $MachinePrecision]], $MachinePrecision], (-x)], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]}, If[LessEqual[x, -2.1e+16], N[Min[N[Min[t$95$2, N[Min[t$95$0, N[Min[N[(-1.0 * N[(x * N[(1.0 - N[(0.7 * N[(1.0 / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1], $MachinePrecision]], $MachinePrecision]], $MachinePrecision], t$95$3], $MachinePrecision], If[LessEqual[x, 8000.0], N[Min[N[Min[t$95$2, N[Min[t$95$0, N[Min[N[(-1.0 * N[(y * N[(1.0 - N[(0.625 * N[(1.0 / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1], $MachinePrecision]], $MachinePrecision]], $MachinePrecision], t$95$3], $MachinePrecision], N[Min[N[Min[t$95$2, N[Min[t$95$0, N[Min[N[(x * N[(1.0 - N[(0.85 * N[(1.0 / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1], $MachinePrecision]], $MachinePrecision]], $MachinePrecision], t$95$3], $MachinePrecision]]]]]]]
f(x, y): x in [-inf, +inf], y in [-inf, +inf] code: THEORY BEGIN f(x, y: real): real = LET tmp_2 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_3 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_1 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_2) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_3 ENDIF IN LET tmp_5 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_6 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_4 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_5) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_6 ENDIF IN LET tmp = IF (((450000000000000011102230246251565404236316680908203125e-54) - x) > tmp_1) THEN ((450000000000000011102230246251565404236316680908203125e-54) - x) ELSE tmp_4 ENDIF IN LET t_0 = tmp IN LET tmp_9 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_10 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_8 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_9) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_10 ENDIF IN LET tmp_12 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_13 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_11 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_12) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_13 ENDIF IN LET tmp_7 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_8) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_11 ENDIF IN LET t_1 = tmp_7 IN LET tmp_16 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_17 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_15 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_16) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_17 ENDIF IN LET tmp_19 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_20 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_18 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_19) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_20 ENDIF IN LET tmp_14 = IF ((- x) > tmp_15) THEN (- x) ELSE tmp_18 ENDIF IN LET t_2 = tmp_14 IN LET tmp_26 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_27 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_25 = IF (tmp_26 > (- x)) THEN tmp_27 ELSE (- x) ENDIF IN LET tmp_30 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_31 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_29 = IF (tmp_30 > (- x)) THEN tmp_31 ELSE (- x) ENDIF IN LET tmp_23 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_25) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_29 ENDIF IN LET tmp_35 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_36 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_34 = IF (tmp_35 > (- x)) THEN tmp_36 ELSE (- x) ENDIF IN LET tmp_39 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_40 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_38 = IF (tmp_39 > (- x)) THEN tmp_40 ELSE (- x) ENDIF IN LET tmp_32 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_34) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_38 ENDIF IN LET tmp_22 = IF (((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) > tmp_23) THEN ((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_32 ENDIF IN LET tmp_45 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_46 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_44 = IF (tmp_45 > (- x)) THEN tmp_46 ELSE (- x) ENDIF IN LET tmp_49 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_50 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_48 = IF (tmp_49 > (- x)) THEN tmp_50 ELSE (- x) ENDIF IN LET tmp_42 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_44) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_48 ENDIF IN LET tmp_54 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_55 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_53 = IF (tmp_54 > (- x)) THEN tmp_55 ELSE (- x) ENDIF IN LET tmp_58 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_59 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_57 = IF (tmp_58 > (- x)) THEN tmp_59 ELSE (- x) ENDIF IN LET tmp_51 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_53) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_57 ENDIF IN LET tmp_41 = IF (((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) > tmp_42) THEN ((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_51 ENDIF IN LET tmp_21 = IF (((-27500000000000002220446049250313080847263336181640625e-53) - (27500000000000002220446049250313080847263336181640625e-53)) > tmp_22) THEN ((-27500000000000002220446049250313080847263336181640625e-53) - (27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_41 ENDIF IN LET t_3 = tmp_21 IN LET tmp_93 = IF (((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) < t_1) THEN ((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) ELSE t_1 ENDIF IN LET tmp_94 = IF (((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) < t_1) THEN ((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) ELSE t_1 ENDIF IN LET tmp_92 = IF (t_0 < tmp_93) THEN t_0 ELSE tmp_94 ENDIF IN LET tmp_96 = IF (((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) < t_1) THEN ((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) ELSE t_1 ENDIF IN LET tmp_97 = IF (((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) < t_1) THEN ((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) ELSE t_1 ENDIF IN LET tmp_95 = IF (t_0 < tmp_96) THEN t_0 ELSE tmp_97 ENDIF IN LET tmp_91 = IF (t_2 < tmp_92) THEN t_2 ELSE tmp_95 ENDIF IN LET tmp_100 = IF (((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) < t_1) THEN ((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) ELSE t_1 ENDIF IN LET tmp_101 = IF (((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) < t_1) THEN ((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) ELSE t_1 ENDIF IN LET tmp_99 = IF (t_0 < tmp_100) THEN t_0 ELSE tmp_101 ENDIF IN LET tmp_103 = IF (((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) < t_1) THEN ((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) ELSE t_1 ENDIF IN LET tmp_104 = IF (((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) < t_1) THEN ((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) ELSE t_1 ENDIF IN LET tmp_102 = IF (t_0 < tmp_103) THEN t_0 ELSE tmp_104 ENDIF IN LET tmp_98 = IF (t_2 < tmp_99) THEN t_2 ELSE tmp_102 ENDIF IN LET tmp_90 = IF (tmp_91 < t_3) THEN tmp_98 ELSE t_3 ENDIF IN LET tmp_138 = IF (((-1) * (y * ((1) - ((625e-3) * ((1) / y))))) < t_1) THEN ((-1) * (y * ((1) - ((625e-3) * ((1) / y))))) ELSE t_1 ENDIF IN LET tmp_139 = IF (((-1) * (y * ((1) - ((625e-3) * ((1) / y))))) < t_1) THEN ((-1) * (y * ((1) - ((625e-3) * ((1) / y))))) ELSE t_1 ENDIF IN LET tmp_137 = IF (t_0 < tmp_138) THEN t_0 ELSE tmp_139 ENDIF IN LET tmp_141 = IF (((-1) * (y * ((1) - ((625e-3) * ((1) / y))))) < t_1) THEN ((-1) * (y * ((1) - ((625e-3) * ((1) / y))))) ELSE t_1 ENDIF IN LET tmp_142 = IF (((-1) * (y * ((1) - ((625e-3) * ((1) / y))))) < t_1) THEN ((-1) * (y * ((1) - ((625e-3) * ((1) / y))))) ELSE t_1 ENDIF IN LET tmp_140 = IF (t_0 < tmp_141) THEN t_0 ELSE tmp_142 ENDIF IN LET tmp_136 = IF (t_2 < tmp_137) THEN t_2 ELSE tmp_140 ENDIF IN LET tmp_145 = IF (((-1) * (y * ((1) - ((625e-3) * ((1) / y))))) < t_1) THEN ((-1) * (y * ((1) - ((625e-3) * ((1) / y))))) ELSE t_1 ENDIF IN LET tmp_146 = IF (((-1) * (y * ((1) - ((625e-3) * ((1) / y))))) < t_1) THEN ((-1) * (y * ((1) - ((625e-3) * ((1) / y))))) ELSE t_1 ENDIF IN LET tmp_144 = IF (t_0 < tmp_145) THEN t_0 ELSE tmp_146 ENDIF IN LET tmp_148 = IF (((-1) * (y * ((1) - ((625e-3) * ((1) / y))))) < t_1) THEN ((-1) * (y * ((1) - ((625e-3) * ((1) / y))))) ELSE t_1 ENDIF IN LET tmp_149 = IF (((-1) * (y * ((1) - ((625e-3) * ((1) / y))))) < t_1) THEN ((-1) * (y * ((1) - ((625e-3) * ((1) / y))))) ELSE t_1 ENDIF IN LET tmp_147 = IF (t_0 < tmp_148) THEN t_0 ELSE tmp_149 ENDIF IN LET tmp_143 = IF (t_2 < tmp_144) THEN t_2 ELSE tmp_147 ENDIF IN LET tmp_135 = IF (tmp_136 < t_3) THEN tmp_143 ELSE t_3 ENDIF IN LET tmp_160 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_1) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_1 ENDIF IN LET tmp_161 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_1) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_1 ENDIF IN LET tmp_159 = IF (t_0 < tmp_160) THEN t_0 ELSE tmp_161 ENDIF IN LET tmp_163 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_1) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_1 ENDIF IN LET tmp_164 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_1) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_1 ENDIF IN LET tmp_162 = IF (t_0 < tmp_163) THEN t_0 ELSE tmp_164 ENDIF IN LET tmp_158 = IF (t_2 < tmp_159) THEN t_2 ELSE tmp_162 ENDIF IN LET tmp_167 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_1) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_1 ENDIF IN LET tmp_168 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_1) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_1 ENDIF IN LET tmp_166 = IF (t_0 < tmp_167) THEN t_0 ELSE tmp_168 ENDIF IN LET tmp_170 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_1) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_1 ENDIF IN LET tmp_171 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_1) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_1 ENDIF IN LET tmp_169 = IF (t_0 < tmp_170) THEN t_0 ELSE tmp_171 ENDIF IN LET tmp_165 = IF (t_2 < tmp_166) THEN t_2 ELSE tmp_169 ENDIF IN LET tmp_157 = IF (tmp_158 < t_3) THEN tmp_165 ELSE t_3 ENDIF IN LET tmp_127 = IF (x <= (8000)) THEN tmp_135 ELSE tmp_157 ENDIF IN LET tmp_82 = IF (x <= (-21e15)) THEN tmp_90 ELSE tmp_127 ENDIF IN tmp_82 END code
\begin{array}{l}
t_0 := \mathsf{max}\left(0.45 - x, \mathsf{max}\left(x - 0.55, \mathsf{max}\left(y - 0.275, -y\right)\right)\right)\\
t_1 := \mathsf{max}\left(0.725 - x, \mathsf{max}\left(x - 0.825, \mathsf{max}\left(-y, y - 0.55\right)\right)\right)\\
t_2 := \mathsf{max}\left(-x, \mathsf{max}\left(x - 0.1, \mathsf{max}\left(y - 1, -y\right)\right)\right)\\
t_3 := \mathsf{max}\left(-0.275 - 0.275, \mathsf{max}\left(0.175 - -0.275, \mathsf{max}\left(0.275 - y, \mathsf{max}\left(\mathsf{max}\left(x - 0.55, y - 0.55\right), -x\right)\right)\right)\right)\\
\mathbf{if}\;x \leq -2.1 \cdot 10^{+16}:\\
\;\;\;\;\mathsf{min}\left(\mathsf{min}\left(t\_2, \mathsf{min}\left(t\_0, \mathsf{min}\left(-1 \cdot \left(x \cdot \left(1 - 0.7 \cdot \frac{1}{x}\right)\right), t\_1\right)\right)\right), t\_3\right)\\
\mathbf{elif}\;x \leq 8000:\\
\;\;\;\;\mathsf{min}\left(\mathsf{min}\left(t\_2, \mathsf{min}\left(t\_0, \mathsf{min}\left(-1 \cdot \left(y \cdot \left(1 - 0.625 \cdot \frac{1}{y}\right)\right), t\_1\right)\right)\right), t\_3\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{min}\left(\mathsf{min}\left(t\_2, \mathsf{min}\left(t\_0, \mathsf{min}\left(x \cdot \left(1 - 0.85 \cdot \frac{1}{x}\right), t\_1\right)\right)\right), t\_3\right)\\
\end{array}
if x < -2.1e16Initial program 100.0%
Applied rewrites100.0%
Taylor expanded in x around inf
Applied rewrites100.0%
Taylor expanded in x around 0
Applied rewrites100.0%
Taylor expanded in x around -inf
Applied rewrites45.1%
if -2.1e16 < x < 8e3Initial program 100.0%
Applied rewrites100.0%
Taylor expanded in x around inf
Applied rewrites100.0%
Taylor expanded in x around 0
Applied rewrites100.0%
Taylor expanded in y around -inf
Applied rewrites46.2%
if 8e3 < x Initial program 100.0%
Applied rewrites100.0%
Taylor expanded in x around inf
Applied rewrites100.0%
Taylor expanded in x around 0
Applied rewrites100.0%
Taylor expanded in x around inf
Applied rewrites20.0%
(FPCore (x y)
:precision binary64
:pre TRUE
(let* ((t_0
(fmax (- 0.45 x) (fmax (- x 0.55) (fmax (- y 0.275) (- y)))))
(t_1
(fmax (- 0.725 x) (fmax (- x 0.825) (fmax (- y) (- y 0.55)))))
(t_2 (fmax (- x) (fmax (- x 0.1) (fmax (- y 1.0) (- y)))))
(t_3
(fmax
(- -0.275 0.275)
(fmax
(- 0.175 -0.275)
(fmax
(- 0.275 y)
(fmax (fmax (- x 0.55) (- y 0.55)) (- x)))))))
(if (<= x 0.76)
(fmin
(fmin
t_2
(fmin t_0 (fmin (* -1.0 (* x (- 1.0 (* 0.7 (/ 1.0 x))))) t_1)))
t_3)
(fmin
(fmin t_2 (fmin t_0 (fmin (* x (- 1.0 (* 0.85 (/ 1.0 x)))) t_1)))
t_3))))double code(double x, double y) {
double t_0 = fmax((0.45 - x), fmax((x - 0.55), fmax((y - 0.275), -y)));
double t_1 = fmax((0.725 - x), fmax((x - 0.825), fmax(-y, (y - 0.55))));
double t_2 = fmax(-x, fmax((x - 0.1), fmax((y - 1.0), -y)));
double t_3 = fmax((-0.275 - 0.275), fmax((0.175 - -0.275), fmax((0.275 - y), fmax(fmax((x - 0.55), (y - 0.55)), -x))));
double tmp;
if (x <= 0.76) {
tmp = fmin(fmin(t_2, fmin(t_0, fmin((-1.0 * (x * (1.0 - (0.7 * (1.0 / x))))), t_1))), t_3);
} else {
tmp = fmin(fmin(t_2, fmin(t_0, fmin((x * (1.0 - (0.85 * (1.0 / x)))), t_1))), t_3);
}
return tmp;
}
real(8) function code(x, y)
use fmin_fmax_functions
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: t_0
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_0 = fmax((0.45d0 - x), fmax((x - 0.55d0), fmax((y - 0.275d0), -y)))
t_1 = fmax((0.725d0 - x), fmax((x - 0.825d0), fmax(-y, (y - 0.55d0))))
t_2 = fmax(-x, fmax((x - 0.1d0), fmax((y - 1.0d0), -y)))
t_3 = fmax(((-0.275d0) - 0.275d0), fmax((0.175d0 - (-0.275d0)), fmax((0.275d0 - y), fmax(fmax((x - 0.55d0), (y - 0.55d0)), -x))))
if (x <= 0.76d0) then
tmp = fmin(fmin(t_2, fmin(t_0, fmin(((-1.0d0) * (x * (1.0d0 - (0.7d0 * (1.0d0 / x))))), t_1))), t_3)
else
tmp = fmin(fmin(t_2, fmin(t_0, fmin((x * (1.0d0 - (0.85d0 * (1.0d0 / x)))), t_1))), t_3)
end if
code = tmp
end function
public static double code(double x, double y) {
double t_0 = fmax((0.45 - x), fmax((x - 0.55), fmax((y - 0.275), -y)));
double t_1 = fmax((0.725 - x), fmax((x - 0.825), fmax(-y, (y - 0.55))));
double t_2 = fmax(-x, fmax((x - 0.1), fmax((y - 1.0), -y)));
double t_3 = fmax((-0.275 - 0.275), fmax((0.175 - -0.275), fmax((0.275 - y), fmax(fmax((x - 0.55), (y - 0.55)), -x))));
double tmp;
if (x <= 0.76) {
tmp = fmin(fmin(t_2, fmin(t_0, fmin((-1.0 * (x * (1.0 - (0.7 * (1.0 / x))))), t_1))), t_3);
} else {
tmp = fmin(fmin(t_2, fmin(t_0, fmin((x * (1.0 - (0.85 * (1.0 / x)))), t_1))), t_3);
}
return tmp;
}
def code(x, y): t_0 = fmax((0.45 - x), fmax((x - 0.55), fmax((y - 0.275), -y))) t_1 = fmax((0.725 - x), fmax((x - 0.825), fmax(-y, (y - 0.55)))) t_2 = fmax(-x, fmax((x - 0.1), fmax((y - 1.0), -y))) t_3 = fmax((-0.275 - 0.275), fmax((0.175 - -0.275), fmax((0.275 - y), fmax(fmax((x - 0.55), (y - 0.55)), -x)))) tmp = 0 if x <= 0.76: tmp = fmin(fmin(t_2, fmin(t_0, fmin((-1.0 * (x * (1.0 - (0.7 * (1.0 / x))))), t_1))), t_3) else: tmp = fmin(fmin(t_2, fmin(t_0, fmin((x * (1.0 - (0.85 * (1.0 / x)))), t_1))), t_3) return tmp
function code(x, y) t_0 = fmax(Float64(0.45 - x), fmax(Float64(x - 0.55), fmax(Float64(y - 0.275), Float64(-y)))) t_1 = fmax(Float64(0.725 - x), fmax(Float64(x - 0.825), fmax(Float64(-y), Float64(y - 0.55)))) t_2 = fmax(Float64(-x), fmax(Float64(x - 0.1), fmax(Float64(y - 1.0), Float64(-y)))) t_3 = fmax(Float64(-0.275 - 0.275), fmax(Float64(0.175 - -0.275), fmax(Float64(0.275 - y), fmax(fmax(Float64(x - 0.55), Float64(y - 0.55)), Float64(-x))))) tmp = 0.0 if (x <= 0.76) tmp = fmin(fmin(t_2, fmin(t_0, fmin(Float64(-1.0 * Float64(x * Float64(1.0 - Float64(0.7 * Float64(1.0 / x))))), t_1))), t_3); else tmp = fmin(fmin(t_2, fmin(t_0, fmin(Float64(x * Float64(1.0 - Float64(0.85 * Float64(1.0 / x)))), t_1))), t_3); end return tmp end
function tmp_2 = code(x, y) t_0 = max((0.45 - x), max((x - 0.55), max((y - 0.275), -y))); t_1 = max((0.725 - x), max((x - 0.825), max(-y, (y - 0.55)))); t_2 = max(-x, max((x - 0.1), max((y - 1.0), -y))); t_3 = max((-0.275 - 0.275), max((0.175 - -0.275), max((0.275 - y), max(max((x - 0.55), (y - 0.55)), -x)))); tmp = 0.0; if (x <= 0.76) tmp = min(min(t_2, min(t_0, min((-1.0 * (x * (1.0 - (0.7 * (1.0 / x))))), t_1))), t_3); else tmp = min(min(t_2, min(t_0, min((x * (1.0 - (0.85 * (1.0 / x)))), t_1))), t_3); end tmp_2 = tmp; end
code[x_, y_] := Block[{t$95$0 = N[Max[N[(0.45 - x), $MachinePrecision], N[Max[N[(x - 0.55), $MachinePrecision], N[Max[N[(y - 0.275), $MachinePrecision], (-y)], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]}, Block[{t$95$1 = N[Max[N[(0.725 - x), $MachinePrecision], N[Max[N[(x - 0.825), $MachinePrecision], N[Max[(-y), N[(y - 0.55), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]}, Block[{t$95$2 = N[Max[(-x), N[Max[N[(x - 0.1), $MachinePrecision], N[Max[N[(y - 1.0), $MachinePrecision], (-y)], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]}, Block[{t$95$3 = N[Max[N[(-0.275 - 0.275), $MachinePrecision], N[Max[N[(0.175 - -0.275), $MachinePrecision], N[Max[N[(0.275 - y), $MachinePrecision], N[Max[N[Max[N[(x - 0.55), $MachinePrecision], N[(y - 0.55), $MachinePrecision]], $MachinePrecision], (-x)], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]}, If[LessEqual[x, 0.76], N[Min[N[Min[t$95$2, N[Min[t$95$0, N[Min[N[(-1.0 * N[(x * N[(1.0 - N[(0.7 * N[(1.0 / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1], $MachinePrecision]], $MachinePrecision]], $MachinePrecision], t$95$3], $MachinePrecision], N[Min[N[Min[t$95$2, N[Min[t$95$0, N[Min[N[(x * N[(1.0 - N[(0.85 * N[(1.0 / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1], $MachinePrecision]], $MachinePrecision]], $MachinePrecision], t$95$3], $MachinePrecision]]]]]]
f(x, y): x in [-inf, +inf], y in [-inf, +inf] code: THEORY BEGIN f(x, y: real): real = LET tmp_2 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_3 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_1 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_2) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_3 ENDIF IN LET tmp_5 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_6 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_4 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_5) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_6 ENDIF IN LET tmp = IF (((450000000000000011102230246251565404236316680908203125e-54) - x) > tmp_1) THEN ((450000000000000011102230246251565404236316680908203125e-54) - x) ELSE tmp_4 ENDIF IN LET t_0 = tmp IN LET tmp_9 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_10 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_8 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_9) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_10 ENDIF IN LET tmp_12 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_13 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_11 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_12) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_13 ENDIF IN LET tmp_7 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_8) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_11 ENDIF IN LET t_1 = tmp_7 IN LET tmp_16 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_17 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_15 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_16) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_17 ENDIF IN LET tmp_19 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_20 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_18 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_19) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_20 ENDIF IN LET tmp_14 = IF ((- x) > tmp_15) THEN (- x) ELSE tmp_18 ENDIF IN LET t_2 = tmp_14 IN LET tmp_26 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_27 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_25 = IF (tmp_26 > (- x)) THEN tmp_27 ELSE (- x) ENDIF IN LET tmp_30 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_31 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_29 = IF (tmp_30 > (- x)) THEN tmp_31 ELSE (- x) ENDIF IN LET tmp_23 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_25) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_29 ENDIF IN LET tmp_35 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_36 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_34 = IF (tmp_35 > (- x)) THEN tmp_36 ELSE (- x) ENDIF IN LET tmp_39 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_40 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_38 = IF (tmp_39 > (- x)) THEN tmp_40 ELSE (- x) ENDIF IN LET tmp_32 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_34) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_38 ENDIF IN LET tmp_22 = IF (((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) > tmp_23) THEN ((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_32 ENDIF IN LET tmp_45 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_46 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_44 = IF (tmp_45 > (- x)) THEN tmp_46 ELSE (- x) ENDIF IN LET tmp_49 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_50 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_48 = IF (tmp_49 > (- x)) THEN tmp_50 ELSE (- x) ENDIF IN LET tmp_42 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_44) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_48 ENDIF IN LET tmp_54 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_55 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_53 = IF (tmp_54 > (- x)) THEN tmp_55 ELSE (- x) ENDIF IN LET tmp_58 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_59 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_57 = IF (tmp_58 > (- x)) THEN tmp_59 ELSE (- x) ENDIF IN LET tmp_51 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_53) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_57 ENDIF IN LET tmp_41 = IF (((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) > tmp_42) THEN ((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_51 ENDIF IN LET tmp_21 = IF (((-27500000000000002220446049250313080847263336181640625e-53) - (27500000000000002220446049250313080847263336181640625e-53)) > tmp_22) THEN ((-27500000000000002220446049250313080847263336181640625e-53) - (27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_41 ENDIF IN LET t_3 = tmp_21 IN LET tmp_93 = IF (((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) < t_1) THEN ((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) ELSE t_1 ENDIF IN LET tmp_94 = IF (((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) < t_1) THEN ((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) ELSE t_1 ENDIF IN LET tmp_92 = IF (t_0 < tmp_93) THEN t_0 ELSE tmp_94 ENDIF IN LET tmp_96 = IF (((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) < t_1) THEN ((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) ELSE t_1 ENDIF IN LET tmp_97 = IF (((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) < t_1) THEN ((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) ELSE t_1 ENDIF IN LET tmp_95 = IF (t_0 < tmp_96) THEN t_0 ELSE tmp_97 ENDIF IN LET tmp_91 = IF (t_2 < tmp_92) THEN t_2 ELSE tmp_95 ENDIF IN LET tmp_100 = IF (((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) < t_1) THEN ((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) ELSE t_1 ENDIF IN LET tmp_101 = IF (((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) < t_1) THEN ((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) ELSE t_1 ENDIF IN LET tmp_99 = IF (t_0 < tmp_100) THEN t_0 ELSE tmp_101 ENDIF IN LET tmp_103 = IF (((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) < t_1) THEN ((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) ELSE t_1 ENDIF IN LET tmp_104 = IF (((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) < t_1) THEN ((-1) * (x * ((1) - ((6999999999999999555910790149937383830547332763671875e-52) * ((1) / x))))) ELSE t_1 ENDIF IN LET tmp_102 = IF (t_0 < tmp_103) THEN t_0 ELSE tmp_104 ENDIF IN LET tmp_98 = IF (t_2 < tmp_99) THEN t_2 ELSE tmp_102 ENDIF IN LET tmp_90 = IF (tmp_91 < t_3) THEN tmp_98 ELSE t_3 ENDIF IN LET tmp_115 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_1) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_1 ENDIF IN LET tmp_116 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_1) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_1 ENDIF IN LET tmp_114 = IF (t_0 < tmp_115) THEN t_0 ELSE tmp_116 ENDIF IN LET tmp_118 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_1) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_1 ENDIF IN LET tmp_119 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_1) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_1 ENDIF IN LET tmp_117 = IF (t_0 < tmp_118) THEN t_0 ELSE tmp_119 ENDIF IN LET tmp_113 = IF (t_2 < tmp_114) THEN t_2 ELSE tmp_117 ENDIF IN LET tmp_122 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_1) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_1 ENDIF IN LET tmp_123 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_1) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_1 ENDIF IN LET tmp_121 = IF (t_0 < tmp_122) THEN t_0 ELSE tmp_123 ENDIF IN LET tmp_125 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_1) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_1 ENDIF IN LET tmp_126 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_1) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_1 ENDIF IN LET tmp_124 = IF (t_0 < tmp_125) THEN t_0 ELSE tmp_126 ENDIF IN LET tmp_120 = IF (t_2 < tmp_121) THEN t_2 ELSE tmp_124 ENDIF IN LET tmp_112 = IF (tmp_113 < t_3) THEN tmp_120 ELSE t_3 ENDIF IN LET tmp_82 = IF (x <= (7600000000000000088817841970012523233890533447265625e-52)) THEN tmp_90 ELSE tmp_112 ENDIF IN tmp_82 END code
\begin{array}{l}
t_0 := \mathsf{max}\left(0.45 - x, \mathsf{max}\left(x - 0.55, \mathsf{max}\left(y - 0.275, -y\right)\right)\right)\\
t_1 := \mathsf{max}\left(0.725 - x, \mathsf{max}\left(x - 0.825, \mathsf{max}\left(-y, y - 0.55\right)\right)\right)\\
t_2 := \mathsf{max}\left(-x, \mathsf{max}\left(x - 0.1, \mathsf{max}\left(y - 1, -y\right)\right)\right)\\
t_3 := \mathsf{max}\left(-0.275 - 0.275, \mathsf{max}\left(0.175 - -0.275, \mathsf{max}\left(0.275 - y, \mathsf{max}\left(\mathsf{max}\left(x - 0.55, y - 0.55\right), -x\right)\right)\right)\right)\\
\mathbf{if}\;x \leq 0.76:\\
\;\;\;\;\mathsf{min}\left(\mathsf{min}\left(t\_2, \mathsf{min}\left(t\_0, \mathsf{min}\left(-1 \cdot \left(x \cdot \left(1 - 0.7 \cdot \frac{1}{x}\right)\right), t\_1\right)\right)\right), t\_3\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{min}\left(\mathsf{min}\left(t\_2, \mathsf{min}\left(t\_0, \mathsf{min}\left(x \cdot \left(1 - 0.85 \cdot \frac{1}{x}\right), t\_1\right)\right)\right), t\_3\right)\\
\end{array}
if x < 0.76000000000000001Initial program 100.0%
Applied rewrites100.0%
Taylor expanded in x around inf
Applied rewrites100.0%
Taylor expanded in x around 0
Applied rewrites100.0%
Taylor expanded in x around -inf
Applied rewrites45.1%
if 0.76000000000000001 < x Initial program 100.0%
Applied rewrites100.0%
Taylor expanded in x around inf
Applied rewrites100.0%
Taylor expanded in x around 0
Applied rewrites100.0%
Taylor expanded in x around inf
Applied rewrites20.0%
(FPCore (x y)
:precision binary64
:pre TRUE
(let* ((t_0
(fmax (- 0.725 x) (fmax (- x 0.825) (fmax (- y) (- y 0.55)))))
(t_1
(fmax (- 0.45 x) (fmax (- x 0.55) (fmax (- y 0.275) (- y)))))
(t_2 (fmax (- x) (fmax (- x 0.1) (fmax (- y 1.0) (- y)))))
(t_3
(fmax
(- -0.275 0.275)
(fmax
(- 0.175 -0.275)
(fmax
(- 0.275 y)
(fmax (fmax (- x 0.55) (- y 0.55)) (- x)))))))
(if (<= x 0.00025)
(fmin
(fmin
t_2
(fmin t_1 (fmin (* y (- 1.0 (* 0.775 (/ 1.0 y)))) t_0)))
t_3)
(fmin
(fmin t_2 (fmin t_1 (fmin (* x (- 1.0 (* 0.85 (/ 1.0 x)))) t_0)))
t_3))))double code(double x, double y) {
double t_0 = fmax((0.725 - x), fmax((x - 0.825), fmax(-y, (y - 0.55))));
double t_1 = fmax((0.45 - x), fmax((x - 0.55), fmax((y - 0.275), -y)));
double t_2 = fmax(-x, fmax((x - 0.1), fmax((y - 1.0), -y)));
double t_3 = fmax((-0.275 - 0.275), fmax((0.175 - -0.275), fmax((0.275 - y), fmax(fmax((x - 0.55), (y - 0.55)), -x))));
double tmp;
if (x <= 0.00025) {
tmp = fmin(fmin(t_2, fmin(t_1, fmin((y * (1.0 - (0.775 * (1.0 / y)))), t_0))), t_3);
} else {
tmp = fmin(fmin(t_2, fmin(t_1, fmin((x * (1.0 - (0.85 * (1.0 / x)))), t_0))), t_3);
}
return tmp;
}
real(8) function code(x, y)
use fmin_fmax_functions
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: t_0
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_0 = fmax((0.725d0 - x), fmax((x - 0.825d0), fmax(-y, (y - 0.55d0))))
t_1 = fmax((0.45d0 - x), fmax((x - 0.55d0), fmax((y - 0.275d0), -y)))
t_2 = fmax(-x, fmax((x - 0.1d0), fmax((y - 1.0d0), -y)))
t_3 = fmax(((-0.275d0) - 0.275d0), fmax((0.175d0 - (-0.275d0)), fmax((0.275d0 - y), fmax(fmax((x - 0.55d0), (y - 0.55d0)), -x))))
if (x <= 0.00025d0) then
tmp = fmin(fmin(t_2, fmin(t_1, fmin((y * (1.0d0 - (0.775d0 * (1.0d0 / y)))), t_0))), t_3)
else
tmp = fmin(fmin(t_2, fmin(t_1, fmin((x * (1.0d0 - (0.85d0 * (1.0d0 / x)))), t_0))), t_3)
end if
code = tmp
end function
public static double code(double x, double y) {
double t_0 = fmax((0.725 - x), fmax((x - 0.825), fmax(-y, (y - 0.55))));
double t_1 = fmax((0.45 - x), fmax((x - 0.55), fmax((y - 0.275), -y)));
double t_2 = fmax(-x, fmax((x - 0.1), fmax((y - 1.0), -y)));
double t_3 = fmax((-0.275 - 0.275), fmax((0.175 - -0.275), fmax((0.275 - y), fmax(fmax((x - 0.55), (y - 0.55)), -x))));
double tmp;
if (x <= 0.00025) {
tmp = fmin(fmin(t_2, fmin(t_1, fmin((y * (1.0 - (0.775 * (1.0 / y)))), t_0))), t_3);
} else {
tmp = fmin(fmin(t_2, fmin(t_1, fmin((x * (1.0 - (0.85 * (1.0 / x)))), t_0))), t_3);
}
return tmp;
}
def code(x, y): t_0 = fmax((0.725 - x), fmax((x - 0.825), fmax(-y, (y - 0.55)))) t_1 = fmax((0.45 - x), fmax((x - 0.55), fmax((y - 0.275), -y))) t_2 = fmax(-x, fmax((x - 0.1), fmax((y - 1.0), -y))) t_3 = fmax((-0.275 - 0.275), fmax((0.175 - -0.275), fmax((0.275 - y), fmax(fmax((x - 0.55), (y - 0.55)), -x)))) tmp = 0 if x <= 0.00025: tmp = fmin(fmin(t_2, fmin(t_1, fmin((y * (1.0 - (0.775 * (1.0 / y)))), t_0))), t_3) else: tmp = fmin(fmin(t_2, fmin(t_1, fmin((x * (1.0 - (0.85 * (1.0 / x)))), t_0))), t_3) return tmp
function code(x, y) t_0 = fmax(Float64(0.725 - x), fmax(Float64(x - 0.825), fmax(Float64(-y), Float64(y - 0.55)))) t_1 = fmax(Float64(0.45 - x), fmax(Float64(x - 0.55), fmax(Float64(y - 0.275), Float64(-y)))) t_2 = fmax(Float64(-x), fmax(Float64(x - 0.1), fmax(Float64(y - 1.0), Float64(-y)))) t_3 = fmax(Float64(-0.275 - 0.275), fmax(Float64(0.175 - -0.275), fmax(Float64(0.275 - y), fmax(fmax(Float64(x - 0.55), Float64(y - 0.55)), Float64(-x))))) tmp = 0.0 if (x <= 0.00025) tmp = fmin(fmin(t_2, fmin(t_1, fmin(Float64(y * Float64(1.0 - Float64(0.775 * Float64(1.0 / y)))), t_0))), t_3); else tmp = fmin(fmin(t_2, fmin(t_1, fmin(Float64(x * Float64(1.0 - Float64(0.85 * Float64(1.0 / x)))), t_0))), t_3); end return tmp end
function tmp_2 = code(x, y) t_0 = max((0.725 - x), max((x - 0.825), max(-y, (y - 0.55)))); t_1 = max((0.45 - x), max((x - 0.55), max((y - 0.275), -y))); t_2 = max(-x, max((x - 0.1), max((y - 1.0), -y))); t_3 = max((-0.275 - 0.275), max((0.175 - -0.275), max((0.275 - y), max(max((x - 0.55), (y - 0.55)), -x)))); tmp = 0.0; if (x <= 0.00025) tmp = min(min(t_2, min(t_1, min((y * (1.0 - (0.775 * (1.0 / y)))), t_0))), t_3); else tmp = min(min(t_2, min(t_1, min((x * (1.0 - (0.85 * (1.0 / x)))), t_0))), t_3); end tmp_2 = tmp; end
code[x_, y_] := Block[{t$95$0 = N[Max[N[(0.725 - x), $MachinePrecision], N[Max[N[(x - 0.825), $MachinePrecision], N[Max[(-y), N[(y - 0.55), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]}, Block[{t$95$1 = N[Max[N[(0.45 - x), $MachinePrecision], N[Max[N[(x - 0.55), $MachinePrecision], N[Max[N[(y - 0.275), $MachinePrecision], (-y)], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]}, Block[{t$95$2 = N[Max[(-x), N[Max[N[(x - 0.1), $MachinePrecision], N[Max[N[(y - 1.0), $MachinePrecision], (-y)], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]}, Block[{t$95$3 = N[Max[N[(-0.275 - 0.275), $MachinePrecision], N[Max[N[(0.175 - -0.275), $MachinePrecision], N[Max[N[(0.275 - y), $MachinePrecision], N[Max[N[Max[N[(x - 0.55), $MachinePrecision], N[(y - 0.55), $MachinePrecision]], $MachinePrecision], (-x)], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]}, If[LessEqual[x, 0.00025], N[Min[N[Min[t$95$2, N[Min[t$95$1, N[Min[N[(y * N[(1.0 - N[(0.775 * N[(1.0 / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$0], $MachinePrecision]], $MachinePrecision]], $MachinePrecision], t$95$3], $MachinePrecision], N[Min[N[Min[t$95$2, N[Min[t$95$1, N[Min[N[(x * N[(1.0 - N[(0.85 * N[(1.0 / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$0], $MachinePrecision]], $MachinePrecision]], $MachinePrecision], t$95$3], $MachinePrecision]]]]]]
f(x, y): x in [-inf, +inf], y in [-inf, +inf] code: THEORY BEGIN f(x, y: real): real = LET tmp_2 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_3 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_1 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_2) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_3 ENDIF IN LET tmp_5 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_6 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_4 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_5) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_6 ENDIF IN LET tmp = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_1) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_4 ENDIF IN LET t_0 = tmp IN LET tmp_9 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_10 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_8 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_9) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_10 ENDIF IN LET tmp_12 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_13 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_11 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_12) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_13 ENDIF IN LET tmp_7 = IF (((450000000000000011102230246251565404236316680908203125e-54) - x) > tmp_8) THEN ((450000000000000011102230246251565404236316680908203125e-54) - x) ELSE tmp_11 ENDIF IN LET t_1 = tmp_7 IN LET tmp_16 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_17 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_15 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_16) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_17 ENDIF IN LET tmp_19 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_20 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_18 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_19) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_20 ENDIF IN LET tmp_14 = IF ((- x) > tmp_15) THEN (- x) ELSE tmp_18 ENDIF IN LET t_2 = tmp_14 IN LET tmp_26 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_27 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_25 = IF (tmp_26 > (- x)) THEN tmp_27 ELSE (- x) ENDIF IN LET tmp_30 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_31 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_29 = IF (tmp_30 > (- x)) THEN tmp_31 ELSE (- x) ENDIF IN LET tmp_23 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_25) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_29 ENDIF IN LET tmp_35 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_36 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_34 = IF (tmp_35 > (- x)) THEN tmp_36 ELSE (- x) ENDIF IN LET tmp_39 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_40 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_38 = IF (tmp_39 > (- x)) THEN tmp_40 ELSE (- x) ENDIF IN LET tmp_32 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_34) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_38 ENDIF IN LET tmp_22 = IF (((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) > tmp_23) THEN ((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_32 ENDIF IN LET tmp_45 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_46 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_44 = IF (tmp_45 > (- x)) THEN tmp_46 ELSE (- x) ENDIF IN LET tmp_49 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_50 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_48 = IF (tmp_49 > (- x)) THEN tmp_50 ELSE (- x) ENDIF IN LET tmp_42 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_44) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_48 ENDIF IN LET tmp_54 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_55 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_53 = IF (tmp_54 > (- x)) THEN tmp_55 ELSE (- x) ENDIF IN LET tmp_58 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_59 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_57 = IF (tmp_58 > (- x)) THEN tmp_59 ELSE (- x) ENDIF IN LET tmp_51 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_53) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_57 ENDIF IN LET tmp_41 = IF (((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) > tmp_42) THEN ((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_51 ENDIF IN LET tmp_21 = IF (((-27500000000000002220446049250313080847263336181640625e-53) - (27500000000000002220446049250313080847263336181640625e-53)) > tmp_22) THEN ((-27500000000000002220446049250313080847263336181640625e-53) - (27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_41 ENDIF IN LET t_3 = tmp_21 IN LET tmp_93 = IF ((y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) < t_0) THEN (y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) ELSE t_0 ENDIF IN LET tmp_94 = IF ((y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) < t_0) THEN (y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) ELSE t_0 ENDIF IN LET tmp_92 = IF (t_1 < tmp_93) THEN t_1 ELSE tmp_94 ENDIF IN LET tmp_96 = IF ((y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) < t_0) THEN (y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) ELSE t_0 ENDIF IN LET tmp_97 = IF ((y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) < t_0) THEN (y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) ELSE t_0 ENDIF IN LET tmp_95 = IF (t_1 < tmp_96) THEN t_1 ELSE tmp_97 ENDIF IN LET tmp_91 = IF (t_2 < tmp_92) THEN t_2 ELSE tmp_95 ENDIF IN LET tmp_100 = IF ((y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) < t_0) THEN (y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) ELSE t_0 ENDIF IN LET tmp_101 = IF ((y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) < t_0) THEN (y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) ELSE t_0 ENDIF IN LET tmp_99 = IF (t_1 < tmp_100) THEN t_1 ELSE tmp_101 ENDIF IN LET tmp_103 = IF ((y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) < t_0) THEN (y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) ELSE t_0 ENDIF IN LET tmp_104 = IF ((y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) < t_0) THEN (y * ((1) - ((77500000000000002220446049250313080847263336181640625e-53) * ((1) / y)))) ELSE t_0 ENDIF IN LET tmp_102 = IF (t_1 < tmp_103) THEN t_1 ELSE tmp_104 ENDIF IN LET tmp_98 = IF (t_2 < tmp_99) THEN t_2 ELSE tmp_102 ENDIF IN LET tmp_90 = IF (tmp_91 < t_3) THEN tmp_98 ELSE t_3 ENDIF IN LET tmp_115 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_0) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_0 ENDIF IN LET tmp_116 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_0) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_0 ENDIF IN LET tmp_114 = IF (t_1 < tmp_115) THEN t_1 ELSE tmp_116 ENDIF IN LET tmp_118 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_0) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_0 ENDIF IN LET tmp_119 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_0) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_0 ENDIF IN LET tmp_117 = IF (t_1 < tmp_118) THEN t_1 ELSE tmp_119 ENDIF IN LET tmp_113 = IF (t_2 < tmp_114) THEN t_2 ELSE tmp_117 ENDIF IN LET tmp_122 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_0) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_0 ENDIF IN LET tmp_123 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_0) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_0 ENDIF IN LET tmp_121 = IF (t_1 < tmp_122) THEN t_1 ELSE tmp_123 ENDIF IN LET tmp_125 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_0) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_0 ENDIF IN LET tmp_126 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < t_0) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE t_0 ENDIF IN LET tmp_124 = IF (t_1 < tmp_125) THEN t_1 ELSE tmp_126 ENDIF IN LET tmp_120 = IF (t_2 < tmp_121) THEN t_2 ELSE tmp_124 ENDIF IN LET tmp_112 = IF (tmp_113 < t_3) THEN tmp_120 ELSE t_3 ENDIF IN LET tmp_82 = IF (x <= (25000000000000000520417042793042128323577344417572021484375e-62)) THEN tmp_90 ELSE tmp_112 ENDIF IN tmp_82 END code
\begin{array}{l}
t_0 := \mathsf{max}\left(0.725 - x, \mathsf{max}\left(x - 0.825, \mathsf{max}\left(-y, y - 0.55\right)\right)\right)\\
t_1 := \mathsf{max}\left(0.45 - x, \mathsf{max}\left(x - 0.55, \mathsf{max}\left(y - 0.275, -y\right)\right)\right)\\
t_2 := \mathsf{max}\left(-x, \mathsf{max}\left(x - 0.1, \mathsf{max}\left(y - 1, -y\right)\right)\right)\\
t_3 := \mathsf{max}\left(-0.275 - 0.275, \mathsf{max}\left(0.175 - -0.275, \mathsf{max}\left(0.275 - y, \mathsf{max}\left(\mathsf{max}\left(x - 0.55, y - 0.55\right), -x\right)\right)\right)\right)\\
\mathbf{if}\;x \leq 0.00025:\\
\;\;\;\;\mathsf{min}\left(\mathsf{min}\left(t\_2, \mathsf{min}\left(t\_1, \mathsf{min}\left(y \cdot \left(1 - 0.775 \cdot \frac{1}{y}\right), t\_0\right)\right)\right), t\_3\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{min}\left(\mathsf{min}\left(t\_2, \mathsf{min}\left(t\_1, \mathsf{min}\left(x \cdot \left(1 - 0.85 \cdot \frac{1}{x}\right), t\_0\right)\right)\right), t\_3\right)\\
\end{array}
if x < 2.5000000000000001e-4Initial program 100.0%
Applied rewrites100.0%
Taylor expanded in x around inf
Applied rewrites100.0%
Taylor expanded in x around 0
Applied rewrites100.0%
Taylor expanded in y around inf
Applied rewrites20.7%
if 2.5000000000000001e-4 < x Initial program 100.0%
Applied rewrites100.0%
Taylor expanded in x around inf
Applied rewrites100.0%
Taylor expanded in x around 0
Applied rewrites100.0%
Taylor expanded in x around inf
Applied rewrites20.0%
(FPCore (x y)
:precision binary64
:pre TRUE
(fmin
(fmin
(fmax (- x) (fmax (- x 0.1) (fmax (- y 1.0) (- y))))
(fmin
(fmax (- 0.45 x) (fmax (- x 0.55) (fmax (- y 0.275) (- y))))
(fmin
(* x (- 1.0 (* 0.85 (/ 1.0 x))))
(fmax (- 0.725 x) (fmax (- x 0.825) (fmax (- y) (- y 0.55)))))))
(fmax
(- -0.275 0.275)
(fmax
(- 0.175 -0.275)
(fmax (- 0.275 y) (fmax (fmax (- x 0.55) (- y 0.55)) (- x)))))))double code(double x, double y) {
return fmin(fmin(fmax(-x, fmax((x - 0.1), fmax((y - 1.0), -y))), fmin(fmax((0.45 - x), fmax((x - 0.55), fmax((y - 0.275), -y))), fmin((x * (1.0 - (0.85 * (1.0 / x)))), fmax((0.725 - x), fmax((x - 0.825), fmax(-y, (y - 0.55))))))), fmax((-0.275 - 0.275), fmax((0.175 - -0.275), fmax((0.275 - y), fmax(fmax((x - 0.55), (y - 0.55)), -x)))));
}
real(8) function code(x, y)
use fmin_fmax_functions
real(8), intent (in) :: x
real(8), intent (in) :: y
code = fmin(fmin(fmax(-x, fmax((x - 0.1d0), fmax((y - 1.0d0), -y))), fmin(fmax((0.45d0 - x), fmax((x - 0.55d0), fmax((y - 0.275d0), -y))), fmin((x * (1.0d0 - (0.85d0 * (1.0d0 / x)))), fmax((0.725d0 - x), fmax((x - 0.825d0), fmax(-y, (y - 0.55d0))))))), fmax(((-0.275d0) - 0.275d0), fmax((0.175d0 - (-0.275d0)), fmax((0.275d0 - y), fmax(fmax((x - 0.55d0), (y - 0.55d0)), -x)))))
end function
public static double code(double x, double y) {
return fmin(fmin(fmax(-x, fmax((x - 0.1), fmax((y - 1.0), -y))), fmin(fmax((0.45 - x), fmax((x - 0.55), fmax((y - 0.275), -y))), fmin((x * (1.0 - (0.85 * (1.0 / x)))), fmax((0.725 - x), fmax((x - 0.825), fmax(-y, (y - 0.55))))))), fmax((-0.275 - 0.275), fmax((0.175 - -0.275), fmax((0.275 - y), fmax(fmax((x - 0.55), (y - 0.55)), -x)))));
}
def code(x, y): return fmin(fmin(fmax(-x, fmax((x - 0.1), fmax((y - 1.0), -y))), fmin(fmax((0.45 - x), fmax((x - 0.55), fmax((y - 0.275), -y))), fmin((x * (1.0 - (0.85 * (1.0 / x)))), fmax((0.725 - x), fmax((x - 0.825), fmax(-y, (y - 0.55))))))), fmax((-0.275 - 0.275), fmax((0.175 - -0.275), fmax((0.275 - y), fmax(fmax((x - 0.55), (y - 0.55)), -x)))))
function code(x, y) return fmin(fmin(fmax(Float64(-x), fmax(Float64(x - 0.1), fmax(Float64(y - 1.0), Float64(-y)))), fmin(fmax(Float64(0.45 - x), fmax(Float64(x - 0.55), fmax(Float64(y - 0.275), Float64(-y)))), fmin(Float64(x * Float64(1.0 - Float64(0.85 * Float64(1.0 / x)))), fmax(Float64(0.725 - x), fmax(Float64(x - 0.825), fmax(Float64(-y), Float64(y - 0.55))))))), fmax(Float64(-0.275 - 0.275), fmax(Float64(0.175 - -0.275), fmax(Float64(0.275 - y), fmax(fmax(Float64(x - 0.55), Float64(y - 0.55)), Float64(-x)))))) end
function tmp = code(x, y) tmp = min(min(max(-x, max((x - 0.1), max((y - 1.0), -y))), min(max((0.45 - x), max((x - 0.55), max((y - 0.275), -y))), min((x * (1.0 - (0.85 * (1.0 / x)))), max((0.725 - x), max((x - 0.825), max(-y, (y - 0.55))))))), max((-0.275 - 0.275), max((0.175 - -0.275), max((0.275 - y), max(max((x - 0.55), (y - 0.55)), -x))))); end
code[x_, y_] := N[Min[N[Min[N[Max[(-x), N[Max[N[(x - 0.1), $MachinePrecision], N[Max[N[(y - 1.0), $MachinePrecision], (-y)], $MachinePrecision]], $MachinePrecision]], $MachinePrecision], N[Min[N[Max[N[(0.45 - x), $MachinePrecision], N[Max[N[(x - 0.55), $MachinePrecision], N[Max[N[(y - 0.275), $MachinePrecision], (-y)], $MachinePrecision]], $MachinePrecision]], $MachinePrecision], N[Min[N[(x * N[(1.0 - N[(0.85 * N[(1.0 / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[Max[N[(0.725 - x), $MachinePrecision], N[Max[N[(x - 0.825), $MachinePrecision], N[Max[(-y), N[(y - 0.55), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision], N[Max[N[(-0.275 - 0.275), $MachinePrecision], N[Max[N[(0.175 - -0.275), $MachinePrecision], N[Max[N[(0.275 - y), $MachinePrecision], N[Max[N[Max[N[(x - 0.55), $MachinePrecision], N[(y - 0.55), $MachinePrecision]], $MachinePrecision], (-x)], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]
f(x, y): x in [-inf, +inf], y in [-inf, +inf] code: THEORY BEGIN f(x, y: real): real = LET tmp_137 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_138 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_136 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_137) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_138 ENDIF IN LET tmp_140 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_141 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_139 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_140) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_141 ENDIF IN LET tmp_135 = IF ((- x) > tmp_136) THEN (- x) ELSE tmp_139 ENDIF IN LET tmp_152 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_153 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_151 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_152) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_153 ENDIF IN LET tmp_155 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_156 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_154 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_155) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_156 ENDIF IN LET tmp_150 = IF (((450000000000000011102230246251565404236316680908203125e-54) - x) > tmp_151) THEN ((450000000000000011102230246251565404236316680908203125e-54) - x) ELSE tmp_154 ENDIF IN LET tmp_160 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_161 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_159 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_160) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_161 ENDIF IN LET tmp_163 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_164 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_162 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_163) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_164 ENDIF IN LET tmp_158 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_159) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_162 ENDIF IN LET tmp_167 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_168 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_166 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_167) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_168 ENDIF IN LET tmp_170 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_171 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_169 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_170) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_171 ENDIF IN LET tmp_165 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_166) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_169 ENDIF IN LET tmp_157 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < tmp_158) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE tmp_165 ENDIF IN LET tmp_174 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_175 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_173 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_174) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_175 ENDIF IN LET tmp_177 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_178 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_176 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_177) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_178 ENDIF IN LET tmp_172 = IF (((450000000000000011102230246251565404236316680908203125e-54) - x) > tmp_173) THEN ((450000000000000011102230246251565404236316680908203125e-54) - x) ELSE tmp_176 ENDIF IN LET tmp_182 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_183 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_181 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_182) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_183 ENDIF IN LET tmp_185 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_186 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_184 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_185) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_186 ENDIF IN LET tmp_180 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_181) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_184 ENDIF IN LET tmp_189 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_190 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_188 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_189) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_190 ENDIF IN LET tmp_192 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_193 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_191 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_192) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_193 ENDIF IN LET tmp_187 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_188) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_191 ENDIF IN LET tmp_179 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < tmp_180) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE tmp_187 ENDIF IN LET tmp_149 = IF (tmp_150 < tmp_157) THEN tmp_172 ELSE tmp_179 ENDIF IN LET tmp_196 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_197 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_195 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_196) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_197 ENDIF IN LET tmp_199 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_200 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_198 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_199) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_200 ENDIF IN LET tmp_194 = IF ((- x) > tmp_195) THEN (- x) ELSE tmp_198 ENDIF IN LET tmp_211 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_212 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_210 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_211) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_212 ENDIF IN LET tmp_214 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_215 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_213 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_214) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_215 ENDIF IN LET tmp_209 = IF (((450000000000000011102230246251565404236316680908203125e-54) - x) > tmp_210) THEN ((450000000000000011102230246251565404236316680908203125e-54) - x) ELSE tmp_213 ENDIF IN LET tmp_219 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_220 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_218 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_219) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_220 ENDIF IN LET tmp_222 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_223 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_221 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_222) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_223 ENDIF IN LET tmp_217 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_218) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_221 ENDIF IN LET tmp_226 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_227 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_225 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_226) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_227 ENDIF IN LET tmp_229 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_230 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_228 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_229) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_230 ENDIF IN LET tmp_224 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_225) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_228 ENDIF IN LET tmp_216 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < tmp_217) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE tmp_224 ENDIF IN LET tmp_233 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_234 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_232 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_233) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_234 ENDIF IN LET tmp_236 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_237 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_235 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_236) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_237 ENDIF IN LET tmp_231 = IF (((450000000000000011102230246251565404236316680908203125e-54) - x) > tmp_232) THEN ((450000000000000011102230246251565404236316680908203125e-54) - x) ELSE tmp_235 ENDIF IN LET tmp_241 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_242 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_240 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_241) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_242 ENDIF IN LET tmp_244 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_245 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_243 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_244) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_245 ENDIF IN LET tmp_239 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_240) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_243 ENDIF IN LET tmp_248 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_249 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_247 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_248) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_249 ENDIF IN LET tmp_251 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_252 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_250 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_251) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_252 ENDIF IN LET tmp_246 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_247) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_250 ENDIF IN LET tmp_238 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < tmp_239) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE tmp_246 ENDIF IN LET tmp_208 = IF (tmp_209 < tmp_216) THEN tmp_231 ELSE tmp_238 ENDIF IN LET tmp_134 = IF (tmp_135 < tmp_149) THEN tmp_194 ELSE tmp_208 ENDIF IN LET tmp_258 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_259 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_257 = IF (tmp_258 > (- x)) THEN tmp_259 ELSE (- x) ENDIF IN LET tmp_262 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_263 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_261 = IF (tmp_262 > (- x)) THEN tmp_263 ELSE (- x) ENDIF IN LET tmp_255 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_257) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_261 ENDIF IN LET tmp_267 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_268 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_266 = IF (tmp_267 > (- x)) THEN tmp_268 ELSE (- x) ENDIF IN LET tmp_271 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_272 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_270 = IF (tmp_271 > (- x)) THEN tmp_272 ELSE (- x) ENDIF IN LET tmp_264 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_266) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_270 ENDIF IN LET tmp_254 = IF (((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) > tmp_255) THEN ((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_264 ENDIF IN LET tmp_277 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_278 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_276 = IF (tmp_277 > (- x)) THEN tmp_278 ELSE (- x) ENDIF IN LET tmp_281 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_282 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_280 = IF (tmp_281 > (- x)) THEN tmp_282 ELSE (- x) ENDIF IN LET tmp_274 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_276) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_280 ENDIF IN LET tmp_286 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_287 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_285 = IF (tmp_286 > (- x)) THEN tmp_287 ELSE (- x) ENDIF IN LET tmp_290 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_291 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_289 = IF (tmp_290 > (- x)) THEN tmp_291 ELSE (- x) ENDIF IN LET tmp_283 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_285) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_289 ENDIF IN LET tmp_273 = IF (((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) > tmp_274) THEN ((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_283 ENDIF IN LET tmp_253 = IF (((-27500000000000002220446049250313080847263336181640625e-53) - (27500000000000002220446049250313080847263336181640625e-53)) > tmp_254) THEN ((-27500000000000002220446049250313080847263336181640625e-53) - (27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_273 ENDIF IN LET tmp_302 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_303 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_301 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_302) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_303 ENDIF IN LET tmp_305 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_306 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_304 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_305) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_306 ENDIF IN LET tmp_300 = IF ((- x) > tmp_301) THEN (- x) ELSE tmp_304 ENDIF IN LET tmp_317 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_318 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_316 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_317) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_318 ENDIF IN LET tmp_320 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_321 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_319 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_320) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_321 ENDIF IN LET tmp_315 = IF (((450000000000000011102230246251565404236316680908203125e-54) - x) > tmp_316) THEN ((450000000000000011102230246251565404236316680908203125e-54) - x) ELSE tmp_319 ENDIF IN LET tmp_325 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_326 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_324 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_325) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_326 ENDIF IN LET tmp_328 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_329 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_327 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_328) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_329 ENDIF IN LET tmp_323 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_324) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_327 ENDIF IN LET tmp_332 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_333 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_331 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_332) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_333 ENDIF IN LET tmp_335 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_336 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_334 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_335) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_336 ENDIF IN LET tmp_330 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_331) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_334 ENDIF IN LET tmp_322 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < tmp_323) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE tmp_330 ENDIF IN LET tmp_339 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_340 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_338 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_339) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_340 ENDIF IN LET tmp_342 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_343 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_341 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_342) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_343 ENDIF IN LET tmp_337 = IF (((450000000000000011102230246251565404236316680908203125e-54) - x) > tmp_338) THEN ((450000000000000011102230246251565404236316680908203125e-54) - x) ELSE tmp_341 ENDIF IN LET tmp_347 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_348 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_346 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_347) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_348 ENDIF IN LET tmp_350 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_351 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_349 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_350) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_351 ENDIF IN LET tmp_345 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_346) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_349 ENDIF IN LET tmp_354 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_355 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_353 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_354) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_355 ENDIF IN LET tmp_357 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_358 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_356 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_357) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_358 ENDIF IN LET tmp_352 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_353) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_356 ENDIF IN LET tmp_344 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < tmp_345) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE tmp_352 ENDIF IN LET tmp_314 = IF (tmp_315 < tmp_322) THEN tmp_337 ELSE tmp_344 ENDIF IN LET tmp_361 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_362 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_360 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_361) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_362 ENDIF IN LET tmp_364 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_365 = IF ((y - (1)) > (- y)) THEN (y - (1)) ELSE (- y) ENDIF IN LET tmp_363 = IF ((x - (1000000000000000055511151231257827021181583404541015625e-55)) > tmp_364) THEN (x - (1000000000000000055511151231257827021181583404541015625e-55)) ELSE tmp_365 ENDIF IN LET tmp_359 = IF ((- x) > tmp_360) THEN (- x) ELSE tmp_363 ENDIF IN LET tmp_376 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_377 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_375 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_376) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_377 ENDIF IN LET tmp_379 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_380 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_378 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_379) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_380 ENDIF IN LET tmp_374 = IF (((450000000000000011102230246251565404236316680908203125e-54) - x) > tmp_375) THEN ((450000000000000011102230246251565404236316680908203125e-54) - x) ELSE tmp_378 ENDIF IN LET tmp_384 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_385 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_383 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_384) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_385 ENDIF IN LET tmp_387 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_388 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_386 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_387) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_388 ENDIF IN LET tmp_382 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_383) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_386 ENDIF IN LET tmp_391 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_392 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_390 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_391) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_392 ENDIF IN LET tmp_394 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_395 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_393 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_394) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_395 ENDIF IN LET tmp_389 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_390) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_393 ENDIF IN LET tmp_381 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < tmp_382) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE tmp_389 ENDIF IN LET tmp_398 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_399 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_397 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_398) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_399 ENDIF IN LET tmp_401 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_402 = IF ((y - (27500000000000002220446049250313080847263336181640625e-53)) > (- y)) THEN (y - (27500000000000002220446049250313080847263336181640625e-53)) ELSE (- y) ENDIF IN LET tmp_400 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > tmp_401) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE tmp_402 ENDIF IN LET tmp_396 = IF (((450000000000000011102230246251565404236316680908203125e-54) - x) > tmp_397) THEN ((450000000000000011102230246251565404236316680908203125e-54) - x) ELSE tmp_400 ENDIF IN LET tmp_406 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_407 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_405 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_406) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_407 ENDIF IN LET tmp_409 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_410 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_408 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_409) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_410 ENDIF IN LET tmp_404 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_405) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_408 ENDIF IN LET tmp_413 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_414 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_412 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_413) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_414 ENDIF IN LET tmp_416 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_417 = IF ((- y) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (- y) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_415 = IF ((x - (8249999999999999555910790149937383830547332763671875e-52)) > tmp_416) THEN (x - (8249999999999999555910790149937383830547332763671875e-52)) ELSE tmp_417 ENDIF IN LET tmp_411 = IF (((72499999999999997779553950749686919152736663818359375e-53) - x) > tmp_412) THEN ((72499999999999997779553950749686919152736663818359375e-53) - x) ELSE tmp_415 ENDIF IN LET tmp_403 = IF ((x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) < tmp_404) THEN (x * ((1) - ((84999999999999997779553950749686919152736663818359375e-53) * ((1) / x)))) ELSE tmp_411 ENDIF IN LET tmp_373 = IF (tmp_374 < tmp_381) THEN tmp_396 ELSE tmp_403 ENDIF IN LET tmp_299 = IF (tmp_300 < tmp_314) THEN tmp_359 ELSE tmp_373 ENDIF IN LET tmp_423 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_424 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_422 = IF (tmp_423 > (- x)) THEN tmp_424 ELSE (- x) ENDIF IN LET tmp_427 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_428 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_426 = IF (tmp_427 > (- x)) THEN tmp_428 ELSE (- x) ENDIF IN LET tmp_420 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_422) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_426 ENDIF IN LET tmp_432 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_433 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_431 = IF (tmp_432 > (- x)) THEN tmp_433 ELSE (- x) ENDIF IN LET tmp_436 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_437 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_435 = IF (tmp_436 > (- x)) THEN tmp_437 ELSE (- x) ENDIF IN LET tmp_429 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_431) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_435 ENDIF IN LET tmp_419 = IF (((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) > tmp_420) THEN ((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_429 ENDIF IN LET tmp_442 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_443 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_441 = IF (tmp_442 > (- x)) THEN tmp_443 ELSE (- x) ENDIF IN LET tmp_446 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_447 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_445 = IF (tmp_446 > (- x)) THEN tmp_447 ELSE (- x) ENDIF IN LET tmp_439 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_441) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_445 ENDIF IN LET tmp_451 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_452 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_450 = IF (tmp_451 > (- x)) THEN tmp_452 ELSE (- x) ENDIF IN LET tmp_455 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_456 = IF ((x - (5500000000000000444089209850062616169452667236328125e-52)) > (y - (5500000000000000444089209850062616169452667236328125e-52))) THEN (x - (5500000000000000444089209850062616169452667236328125e-52)) ELSE (y - (5500000000000000444089209850062616169452667236328125e-52)) ENDIF IN LET tmp_454 = IF (tmp_455 > (- x)) THEN tmp_456 ELSE (- x) ENDIF IN LET tmp_448 = IF (((27500000000000002220446049250313080847263336181640625e-53) - y) > tmp_450) THEN ((27500000000000002220446049250313080847263336181640625e-53) - y) ELSE tmp_454 ENDIF IN LET tmp_438 = IF (((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) > tmp_439) THEN ((174999999999999988897769753748434595763683319091796875e-54) - (-27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_448 ENDIF IN LET tmp_418 = IF (((-27500000000000002220446049250313080847263336181640625e-53) - (27500000000000002220446049250313080847263336181640625e-53)) > tmp_419) THEN ((-27500000000000002220446049250313080847263336181640625e-53) - (27500000000000002220446049250313080847263336181640625e-53)) ELSE tmp_438 ENDIF IN LET tmp_126 = IF (tmp_134 < tmp_253) THEN tmp_299 ELSE tmp_418 ENDIF IN tmp_126 END code
\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(-x, \mathsf{max}\left(x - 0.1, \mathsf{max}\left(y - 1, -y\right)\right)\right), \mathsf{min}\left(\mathsf{max}\left(0.45 - x, \mathsf{max}\left(x - 0.55, \mathsf{max}\left(y - 0.275, -y\right)\right)\right), \mathsf{min}\left(x \cdot \left(1 - 0.85 \cdot \frac{1}{x}\right), \mathsf{max}\left(0.725 - x, \mathsf{max}\left(x - 0.825, \mathsf{max}\left(-y, y - 0.55\right)\right)\right)\right)\right)\right), \mathsf{max}\left(-0.275 - 0.275, \mathsf{max}\left(0.175 - -0.275, \mathsf{max}\left(0.275 - y, \mathsf{max}\left(\mathsf{max}\left(x - 0.55, y - 0.55\right), -x\right)\right)\right)\right)\right)
Initial program 100.0%
Applied rewrites100.0%
Taylor expanded in x around inf
Applied rewrites100.0%
Taylor expanded in x around 0
Applied rewrites100.0%
Taylor expanded in x around inf
Applied rewrites20.0%
herbie shell --seed 2025359
(FPCore (x y)
:name "The letters hi in the upper-right quadrant"
:precision binary64
(fmin (fmin (fmin (fmin (fmax (fmax (fmax (- y 0.55) (- y)) (- x 0.825)) (- 0.725 x)) (- (sqrt (+ (pow (- y 0.7) 2.0) (pow (- x 0.775) 2.0))) 0.075)) (fmax (fmax (fmax (- y) (- y 0.275)) (- x 0.55)) (- 0.45 x))) (fmax (fmax (fmax (- y) (- y 1.0)) (- x 0.1)) (- x))) (fmax (fmax (fmax (fmax (fmax (- y 0.55) (- x 0.55)) (- x)) (- 0.275 y)) (- 0.175 (sqrt (+ (pow (- y 0.275) 2.0) (pow (- x 0.275) 2.0))))) (- (sqrt (+ (pow (- y 0.275) 2.0) (pow (- x 0.275) 2.0))) 0.275))))