The letters hi in the upper-right quadrant

Percentage Accurate: 100.0% → 100.0%
Time: 9.9s
Alternatives: 5
Speedup: 1.3×

Specification

?
\[\begin{array}{l} \\ \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} \end{array} \]
(FPCore (x y)
 :precision binary64
 (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)));
}
module fmin_fmax_functions
    implicit none
    private
    public fmax
    public fmin

    interface fmax
        module procedure fmax88
        module procedure fmax44
        module procedure fmax84
        module procedure fmax48
    end interface
    interface fmin
        module procedure fmin88
        module procedure fmin44
        module procedure fmin84
        module procedure fmin48
    end interface
contains
    real(8) function fmax88(x, y) result (res)
        real(8), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(x, max(x, y), y /= y), x /= x)
    end function
    real(4) function fmax44(x, y) result (res)
        real(4), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(y, merge(x, max(x, y), y /= y), x /= x)
    end function
    real(8) function fmax84(x, y) result(res)
        real(8), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(dble(y), merge(x, max(x, dble(y)), y /= y), x /= x)
    end function
    real(8) function fmax48(x, y) result(res)
        real(4), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(dble(x), max(dble(x), y), y /= y), x /= x)
    end function
    real(8) function fmin88(x, y) result (res)
        real(8), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(x, min(x, y), y /= y), x /= x)
    end function
    real(4) function fmin44(x, y) result (res)
        real(4), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(y, merge(x, min(x, y), y /= y), x /= x)
    end function
    real(8) function fmin84(x, y) result(res)
        real(8), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(dble(y), merge(x, min(x, dble(y)), y /= y), x /= x)
    end function
    real(8) function fmin48(x, y) result(res)
        real(4), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(dble(x), min(dble(x), y), y /= y), x /= x)
    end function
end module

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]]
\begin{array}{l}

\\
\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}
\end{array}

Sampling outcomes in binary64 precision:

Local Percentage Accuracy vs ?

The average percentage accuracy by input value. Horizontal axis shows value of an input variable; the variable is choosen in the title. Vertical axis is accuracy; higher is better. Red represent the original program, while blue represents Herbie's suggestion. These can be toggled with buttons below the plot. The line is an average while dots represent individual samples.

Accuracy vs Speed?

Herbie found 5 alternatives:

AlternativeAccuracySpeedup
The accuracy (vertical axis) and speed (horizontal axis) of each alternatives. Up and to the right is better. The red square shows the initial program, and each blue circle shows an alternative.The line shows the best available speed-accuracy tradeoffs.

Initial Program: 100.0% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \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} \end{array} \]
(FPCore (x y)
 :precision binary64
 (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)));
}
module fmin_fmax_functions
    implicit none
    private
    public fmax
    public fmin

    interface fmax
        module procedure fmax88
        module procedure fmax44
        module procedure fmax84
        module procedure fmax48
    end interface
    interface fmin
        module procedure fmin88
        module procedure fmin44
        module procedure fmin84
        module procedure fmin48
    end interface
contains
    real(8) function fmax88(x, y) result (res)
        real(8), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(x, max(x, y), y /= y), x /= x)
    end function
    real(4) function fmax44(x, y) result (res)
        real(4), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(y, merge(x, max(x, y), y /= y), x /= x)
    end function
    real(8) function fmax84(x, y) result(res)
        real(8), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(dble(y), merge(x, max(x, dble(y)), y /= y), x /= x)
    end function
    real(8) function fmax48(x, y) result(res)
        real(4), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(dble(x), max(dble(x), y), y /= y), x /= x)
    end function
    real(8) function fmin88(x, y) result (res)
        real(8), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(x, min(x, y), y /= y), x /= x)
    end function
    real(4) function fmin44(x, y) result (res)
        real(4), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(y, merge(x, min(x, y), y /= y), x /= x)
    end function
    real(8) function fmin84(x, y) result(res)
        real(8), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(dble(y), merge(x, min(x, dble(y)), y /= y), x /= x)
    end function
    real(8) function fmin48(x, y) result(res)
        real(4), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(dble(x), min(dble(x), y), y /= y), x /= x)
    end function
end module

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]]
\begin{array}{l}

\\
\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}
\end{array}

Alternative 1: 100.0% accurate, 1.3× speedup?

\[\begin{array}{l} \\ \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), \mathsf{fma}\left(\frac{x}{0.825 + x}, x, \frac{-0.680625}{0.825 + x}\right)\right), 0.725 - x\right), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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), y\right), y\right)\right) \end{array} \]
(FPCore (x y)
 :precision binary64
 (fmin
  (fmin
   (fmin
    (fmin
     (fmax
      (fmax
       (fmax (- y 0.55) (- y))
       (fma (/ x (+ 0.825 x)) x (/ -0.680625 (+ 0.825 x))))
      (- 0.725 x))
     (- (hypot (- x 0.775) (- y 0.7)) 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)) y)
   y)))
double code(double x, double y) {
	return fmin(fmin(fmin(fmin(fmax(fmax(fmax((y - 0.55), -y), fma((x / (0.825 + x)), x, (-0.680625 / (0.825 + x)))), (0.725 - x)), (hypot((x - 0.775), (y - 0.7)) - 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)), y), y));
}
function code(x, y)
	return fmin(fmin(fmin(fmin(fmax(fmax(fmax(Float64(y - 0.55), Float64(-y)), fma(Float64(x / Float64(0.825 + x)), x, Float64(-0.680625 / Float64(0.825 + x)))), Float64(0.725 - x)), Float64(hypot(Float64(x - 0.775), Float64(y - 0.7)) - 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)), y), y))
end
code[x_, y_] := N[Min[N[Min[N[Min[N[Min[N[Max[N[Max[N[Max[N[(y - 0.55), $MachinePrecision], (-y)], $MachinePrecision], N[(N[(x / N[(0.825 + x), $MachinePrecision]), $MachinePrecision] * x + N[(-0.680625 / N[(0.825 + x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[(0.725 - x), $MachinePrecision]], $MachinePrecision], N[(N[Sqrt[N[(x - 0.775), $MachinePrecision] ^ 2 + N[(y - 0.7), $MachinePrecision] ^ 2], $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], y], $MachinePrecision], y], $MachinePrecision]], $MachinePrecision]
\begin{array}{l}

\\
\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), \mathsf{fma}\left(\frac{x}{0.825 + x}, x, \frac{-0.680625}{0.825 + x}\right)\right), 0.725 - x\right), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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), y\right), y\right)\right)
\end{array}
Derivation
  1. Initial program 99.9%

    \[\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 - \sqrt{{\left(y - 0.275\right)}^{2} + {\left(x - 0.275\right)}^{2}}\right), \sqrt{{\left(y - 0.275\right)}^{2} + {\left(x - 0.275\right)}^{2}} - 0.275\right)\right) \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. Applied rewrites99.9%

      \[\leadsto \color{blue}{\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), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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 - \mathsf{hypot}\left(x - 0.275, y - 0.275\right)\right), \mathsf{hypot}\left(x - 0.275, y - 0.275\right) - 0.275\right)\right)} \]
    2. Taylor expanded in y around inf

      \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), x - \frac{33}{40}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), \color{blue}{y}\right)\right) \]
    3. Step-by-step derivation
      1. Applied rewrites99.9%

        \[\leadsto \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), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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 - \mathsf{hypot}\left(x - 0.275, y - 0.275\right)\right), \color{blue}{y}\right)\right) \]
      2. Step-by-step derivation
        1. lift--.f64N/A

          \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \color{blue}{x - \frac{33}{40}}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), y\right)\right) \]
        2. flip--N/A

          \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \color{blue}{\frac{x \cdot x - \frac{33}{40} \cdot \frac{33}{40}}{x + \frac{33}{40}}}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), y\right)\right) \]
        3. lift-*.f64N/A

          \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \frac{\color{blue}{x \cdot x} - \frac{33}{40} \cdot \frac{33}{40}}{x + \frac{33}{40}}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), y\right)\right) \]
        4. fp-cancel-sub-sign-invN/A

          \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \frac{\color{blue}{x \cdot x + \left(\mathsf{neg}\left(\frac{33}{40}\right)\right) \cdot \frac{33}{40}}}{x + \frac{33}{40}}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), y\right)\right) \]
        5. metadata-evalN/A

          \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \frac{x \cdot x + \color{blue}{\frac{-33}{40}} \cdot \frac{33}{40}}{x + \frac{33}{40}}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), y\right)\right) \]
        6. metadata-evalN/A

          \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \frac{x \cdot x + \color{blue}{\frac{-1089}{1600}}}{x + \frac{33}{40}}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), y\right)\right) \]
        7. +-commutativeN/A

          \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \frac{x \cdot x + \frac{-1089}{1600}}{\color{blue}{\frac{33}{40} + x}}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), y\right)\right) \]
        8. lift-+.f64N/A

          \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \frac{x \cdot x + \frac{-1089}{1600}}{\color{blue}{\frac{33}{40} + x}}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), y\right)\right) \]
        9. div-addN/A

          \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \color{blue}{\frac{x \cdot x}{\frac{33}{40} + x} + \frac{\frac{-1089}{1600}}{\frac{33}{40} + x}}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), y\right)\right) \]
        10. lift-*.f64N/A

          \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \frac{\color{blue}{x \cdot x}}{\frac{33}{40} + x} + \frac{\frac{-1089}{1600}}{\frac{33}{40} + x}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), y\right)\right) \]
        11. associate-/l*N/A

          \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \color{blue}{x \cdot \frac{x}{\frac{33}{40} + x}} + \frac{\frac{-1089}{1600}}{\frac{33}{40} + x}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), y\right)\right) \]
        12. *-commutativeN/A

          \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \color{blue}{\frac{x}{\frac{33}{40} + x} \cdot x} + \frac{\frac{-1089}{1600}}{\frac{33}{40} + x}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), y\right)\right) \]
        13. lower-fma.f64N/A

          \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \color{blue}{\mathsf{fma}\left(\frac{x}{\frac{33}{40} + x}, x, \frac{\frac{-1089}{1600}}{\frac{33}{40} + x}\right)}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), y\right)\right) \]
        14. lower-/.f64N/A

          \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \mathsf{fma}\left(\color{blue}{\frac{x}{\frac{33}{40} + x}}, x, \frac{\frac{-1089}{1600}}{\frac{33}{40} + x}\right)\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), y\right)\right) \]
        15. lower-/.f64100.0

          \[\leadsto \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), \mathsf{fma}\left(\frac{x}{0.825 + x}, x, \color{blue}{\frac{-0.680625}{0.825 + x}}\right)\right), 0.725 - x\right), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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 - \mathsf{hypot}\left(x - 0.275, y - 0.275\right)\right), y\right)\right) \]
      3. Applied rewrites100.0%

        \[\leadsto \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), \color{blue}{\mathsf{fma}\left(\frac{x}{0.825 + x}, x, \frac{-0.680625}{0.825 + x}\right)}\right), 0.725 - x\right), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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 - \mathsf{hypot}\left(x - 0.275, y - 0.275\right)\right), y\right)\right) \]
      4. Taylor expanded in y around -inf

        \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \mathsf{fma}\left(\frac{x}{\frac{33}{40} + x}, x, \frac{\frac{-1089}{1600}}{\frac{33}{40} + x}\right)\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \color{blue}{y}\right), y\right)\right) \]
      5. Step-by-step derivation
        1. Applied rewrites100.0%

          \[\leadsto \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), \mathsf{fma}\left(\frac{x}{0.825 + x}, x, \frac{-0.680625}{0.825 + x}\right)\right), 0.725 - x\right), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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), \color{blue}{y}\right), y\right)\right) \]
        2. Add Preprocessing

        Alternative 2: 100.0% accurate, 1.3× speedup?

        \[\begin{array}{l} \\ \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), \frac{\mathsf{fma}\left(x, x, -0.680625\right)}{0.825 + x}\right), 0.725 - x\right), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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), y\right), y\right)\right) \end{array} \]
        (FPCore (x y)
         :precision binary64
         (fmin
          (fmin
           (fmin
            (fmin
             (fmax
              (fmax (fmax (- y 0.55) (- y)) (/ (fma x x -0.680625) (+ 0.825 x)))
              (- 0.725 x))
             (- (hypot (- x 0.775) (- y 0.7)) 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)) y)
           y)))
        double code(double x, double y) {
        	return fmin(fmin(fmin(fmin(fmax(fmax(fmax((y - 0.55), -y), (fma(x, x, -0.680625) / (0.825 + x))), (0.725 - x)), (hypot((x - 0.775), (y - 0.7)) - 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)), y), y));
        }
        
        function code(x, y)
        	return fmin(fmin(fmin(fmin(fmax(fmax(fmax(Float64(y - 0.55), Float64(-y)), Float64(fma(x, x, -0.680625) / Float64(0.825 + x))), Float64(0.725 - x)), Float64(hypot(Float64(x - 0.775), Float64(y - 0.7)) - 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)), y), y))
        end
        
        code[x_, y_] := N[Min[N[Min[N[Min[N[Min[N[Max[N[Max[N[Max[N[(y - 0.55), $MachinePrecision], (-y)], $MachinePrecision], N[(N[(x * x + -0.680625), $MachinePrecision] / N[(0.825 + x), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[(0.725 - x), $MachinePrecision]], $MachinePrecision], N[(N[Sqrt[N[(x - 0.775), $MachinePrecision] ^ 2 + N[(y - 0.7), $MachinePrecision] ^ 2], $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], y], $MachinePrecision], y], $MachinePrecision]], $MachinePrecision]
        
        \begin{array}{l}
        
        \\
        \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), \frac{\mathsf{fma}\left(x, x, -0.680625\right)}{0.825 + x}\right), 0.725 - x\right), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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), y\right), y\right)\right)
        \end{array}
        
        Derivation
        1. Initial program 99.9%

          \[\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 - \sqrt{{\left(y - 0.275\right)}^{2} + {\left(x - 0.275\right)}^{2}}\right), \sqrt{{\left(y - 0.275\right)}^{2} + {\left(x - 0.275\right)}^{2}} - 0.275\right)\right) \]
        2. Add Preprocessing
        3. Step-by-step derivation
          1. Applied rewrites99.9%

            \[\leadsto \color{blue}{\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), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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 - \mathsf{hypot}\left(x - 0.275, y - 0.275\right)\right), \mathsf{hypot}\left(x - 0.275, y - 0.275\right) - 0.275\right)\right)} \]
          2. Step-by-step derivation
            1. lift--.f64N/A

              \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \color{blue}{x - \frac{33}{40}}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right) - \frac{11}{40}\right)\right) \]
            2. flip--N/A

              \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \color{blue}{\frac{x \cdot x - \frac{33}{40} \cdot \frac{33}{40}}{x + \frac{33}{40}}}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right) - \frac{11}{40}\right)\right) \]
            3. lower-/.f64N/A

              \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \color{blue}{\frac{x \cdot x - \frac{33}{40} \cdot \frac{33}{40}}{x + \frac{33}{40}}}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right) - \frac{11}{40}\right)\right) \]
            4. fp-cancel-sub-sign-invN/A

              \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \frac{\color{blue}{x \cdot x + \left(\mathsf{neg}\left(\frac{33}{40}\right)\right) \cdot \frac{33}{40}}}{x + \frac{33}{40}}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right) - \frac{11}{40}\right)\right) \]
            5. lower-fma.f64N/A

              \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \frac{\color{blue}{\mathsf{fma}\left(x, x, \left(\mathsf{neg}\left(\frac{33}{40}\right)\right) \cdot \frac{33}{40}\right)}}{x + \frac{33}{40}}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right) - \frac{11}{40}\right)\right) \]
            6. metadata-evalN/A

              \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \frac{\mathsf{fma}\left(x, x, \color{blue}{\frac{-33}{40}} \cdot \frac{33}{40}\right)}{x + \frac{33}{40}}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right) - \frac{11}{40}\right)\right) \]
            7. metadata-evalN/A

              \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \frac{\mathsf{fma}\left(x, x, \color{blue}{\frac{-1089}{1600}}\right)}{x + \frac{33}{40}}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right) - \frac{11}{40}\right)\right) \]
            8. +-commutativeN/A

              \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \frac{\mathsf{fma}\left(x, x, \frac{-1089}{1600}\right)}{\color{blue}{\frac{33}{40} + x}}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right) - \frac{11}{40}\right)\right) \]
            9. lower-+.f64100.0

              \[\leadsto \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), \frac{\mathsf{fma}\left(x, x, -0.680625\right)}{\color{blue}{0.825 + x}}\right), 0.725 - x\right), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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 - \mathsf{hypot}\left(x - 0.275, y - 0.275\right)\right), \mathsf{hypot}\left(x - 0.275, y - 0.275\right) - 0.275\right)\right) \]
          3. Applied rewrites100.0%

            \[\leadsto \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), \color{blue}{\frac{\mathsf{fma}\left(x, x, -0.680625\right)}{0.825 + x}}\right), 0.725 - x\right), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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 - \mathsf{hypot}\left(x - 0.275, y - 0.275\right)\right), \mathsf{hypot}\left(x - 0.275, y - 0.275\right) - 0.275\right)\right) \]
          4. Taylor expanded in y around inf

            \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \frac{\mathsf{fma}\left(x, x, \frac{-1089}{1600}\right)}{\frac{33}{40} + x}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), \color{blue}{y}\right)\right) \]
          5. Step-by-step derivation
            1. Applied rewrites100.0%

              \[\leadsto \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), \frac{\mathsf{fma}\left(x, x, -0.680625\right)}{0.825 + x}\right), 0.725 - x\right), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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 - \mathsf{hypot}\left(x - 0.275, y - 0.275\right)\right), \color{blue}{y}\right)\right) \]
            2. Taylor expanded in y around -inf

              \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \frac{\mathsf{fma}\left(x, x, \frac{-1089}{1600}\right)}{\frac{33}{40} + x}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \color{blue}{y}\right), y\right)\right) \]
            3. Step-by-step derivation
              1. Applied rewrites100.0%

                \[\leadsto \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), \frac{\mathsf{fma}\left(x, x, -0.680625\right)}{0.825 + x}\right), 0.725 - x\right), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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), \color{blue}{y}\right), y\right)\right) \]
              2. Add Preprocessing

              Alternative 3: 100.0% accurate, 1.3× speedup?

              \[\begin{array}{l} \\ \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), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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), y\right), y\right)\right) \end{array} \]
              (FPCore (x y)
               :precision binary64
               (fmin
                (fmin
                 (fmin
                  (fmin
                   (fmax (fmax (fmax (- y 0.55) (- y)) (- x 0.825)) (- 0.725 x))
                   (- (hypot (- x 0.775) (- y 0.7)) 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)) y)
                 y)))
              double code(double x, double y) {
              	return fmin(fmin(fmin(fmin(fmax(fmax(fmax((y - 0.55), -y), (x - 0.825)), (0.725 - x)), (hypot((x - 0.775), (y - 0.7)) - 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)), y), y));
              }
              
              public static double code(double x, double y) {
              	return fmin(fmin(fmin(fmin(fmax(fmax(fmax((y - 0.55), -y), (x - 0.825)), (0.725 - x)), (Math.hypot((x - 0.775), (y - 0.7)) - 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)), y), y));
              }
              
              def code(x, y):
              	return fmin(fmin(fmin(fmin(fmax(fmax(fmax((y - 0.55), -y), (x - 0.825)), (0.725 - x)), (math.hypot((x - 0.775), (y - 0.7)) - 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)), y), y))
              
              function code(x, y)
              	return fmin(fmin(fmin(fmin(fmax(fmax(fmax(Float64(y - 0.55), Float64(-y)), Float64(x - 0.825)), Float64(0.725 - x)), Float64(hypot(Float64(x - 0.775), Float64(y - 0.7)) - 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)), y), y))
              end
              
              function tmp = code(x, y)
              	tmp = min(min(min(min(max(max(max((y - 0.55), -y), (x - 0.825)), (0.725 - x)), (hypot((x - 0.775), (y - 0.7)) - 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)), y), y));
              end
              
              code[x_, y_] := 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[(x - 0.775), $MachinePrecision] ^ 2 + N[(y - 0.7), $MachinePrecision] ^ 2], $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], y], $MachinePrecision], y], $MachinePrecision]], $MachinePrecision]
              
              \begin{array}{l}
              
              \\
              \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), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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), y\right), y\right)\right)
              \end{array}
              
              Derivation
              1. Initial program 99.9%

                \[\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 - \sqrt{{\left(y - 0.275\right)}^{2} + {\left(x - 0.275\right)}^{2}}\right), \sqrt{{\left(y - 0.275\right)}^{2} + {\left(x - 0.275\right)}^{2}} - 0.275\right)\right) \]
              2. Add Preprocessing
              3. Step-by-step derivation
                1. Applied rewrites99.9%

                  \[\leadsto \color{blue}{\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), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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 - \mathsf{hypot}\left(x - 0.275, y - 0.275\right)\right), \mathsf{hypot}\left(x - 0.275, y - 0.275\right) - 0.275\right)\right)} \]
                2. Taylor expanded in y around inf

                  \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), x - \frac{33}{40}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), \color{blue}{y}\right)\right) \]
                3. Step-by-step derivation
                  1. Applied rewrites99.9%

                    \[\leadsto \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), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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 - \mathsf{hypot}\left(x - 0.275, y - 0.275\right)\right), \color{blue}{y}\right)\right) \]
                  2. Taylor expanded in y around -inf

                    \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), x - \frac{33}{40}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \color{blue}{y}\right), y\right)\right) \]
                  3. Step-by-step derivation
                    1. Applied rewrites99.9%

                      \[\leadsto \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), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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), \color{blue}{y}\right), y\right)\right) \]
                    2. Add Preprocessing

                    Alternative 4: 99.9% accurate, 1.3× speedup?

                    \[\begin{array}{l} \\ \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\right), 0.725 - x\right), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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), y\right), y\right)\right) \end{array} \]
                    (FPCore (x y)
                     :precision binary64
                     (fmin
                      (fmin
                       (fmin
                        (fmin
                         (fmax (fmax (fmax (- y 0.55) (- y)) x) (- 0.725 x))
                         (- (hypot (- x 0.775) (- y 0.7)) 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)) y)
                       y)))
                    double code(double x, double y) {
                    	return fmin(fmin(fmin(fmin(fmax(fmax(fmax((y - 0.55), -y), x), (0.725 - x)), (hypot((x - 0.775), (y - 0.7)) - 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)), y), y));
                    }
                    
                    public static double code(double x, double y) {
                    	return fmin(fmin(fmin(fmin(fmax(fmax(fmax((y - 0.55), -y), x), (0.725 - x)), (Math.hypot((x - 0.775), (y - 0.7)) - 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)), y), y));
                    }
                    
                    def code(x, y):
                    	return fmin(fmin(fmin(fmin(fmax(fmax(fmax((y - 0.55), -y), x), (0.725 - x)), (math.hypot((x - 0.775), (y - 0.7)) - 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)), y), y))
                    
                    function code(x, y)
                    	return fmin(fmin(fmin(fmin(fmax(fmax(fmax(Float64(y - 0.55), Float64(-y)), x), Float64(0.725 - x)), Float64(hypot(Float64(x - 0.775), Float64(y - 0.7)) - 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)), y), y))
                    end
                    
                    function tmp = code(x, y)
                    	tmp = min(min(min(min(max(max(max((y - 0.55), -y), x), (0.725 - x)), (hypot((x - 0.775), (y - 0.7)) - 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)), y), y));
                    end
                    
                    code[x_, y_] := N[Min[N[Min[N[Min[N[Min[N[Max[N[Max[N[Max[N[(y - 0.55), $MachinePrecision], (-y)], $MachinePrecision], x], $MachinePrecision], N[(0.725 - x), $MachinePrecision]], $MachinePrecision], N[(N[Sqrt[N[(x - 0.775), $MachinePrecision] ^ 2 + N[(y - 0.7), $MachinePrecision] ^ 2], $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], y], $MachinePrecision], y], $MachinePrecision]], $MachinePrecision]
                    
                    \begin{array}{l}
                    
                    \\
                    \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\right), 0.725 - x\right), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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), y\right), y\right)\right)
                    \end{array}
                    
                    Derivation
                    1. Initial program 99.9%

                      \[\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 - \sqrt{{\left(y - 0.275\right)}^{2} + {\left(x - 0.275\right)}^{2}}\right), \sqrt{{\left(y - 0.275\right)}^{2} + {\left(x - 0.275\right)}^{2}} - 0.275\right)\right) \]
                    2. Add Preprocessing
                    3. Step-by-step derivation
                      1. Applied rewrites99.9%

                        \[\leadsto \color{blue}{\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), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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 - \mathsf{hypot}\left(x - 0.275, y - 0.275\right)\right), \mathsf{hypot}\left(x - 0.275, y - 0.275\right) - 0.275\right)\right)} \]
                      2. Taylor expanded in y around inf

                        \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), x - \frac{33}{40}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), \color{blue}{y}\right)\right) \]
                      3. Step-by-step derivation
                        1. Applied rewrites99.9%

                          \[\leadsto \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), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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 - \mathsf{hypot}\left(x - 0.275, y - 0.275\right)\right), \color{blue}{y}\right)\right) \]
                        2. Taylor expanded in y around -inf

                          \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), x - \frac{33}{40}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \color{blue}{y}\right), y\right)\right) \]
                        3. Step-by-step derivation
                          1. Applied rewrites99.9%

                            \[\leadsto \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), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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), \color{blue}{y}\right), y\right)\right) \]
                          2. Taylor expanded in x around inf

                            \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), \color{blue}{x}\right), \frac{29}{40} - x\right), \mathsf{hypot}\left(x - \frac{31}{40}, y - \frac{7}{10}\right) - \frac{3}{40}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), y\right), y\right)\right) \]
                          3. Step-by-step derivation
                            1. Applied rewrites99.7%

                              \[\leadsto \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), \color{blue}{x}\right), 0.725 - x\right), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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), y\right), y\right)\right) \]
                            2. Add Preprocessing

                            Alternative 5: 19.5% accurate, 1.3× speedup?

                            \[\begin{array}{l} \\ \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), \left(1 - \frac{0.85}{x}\right) \cdot x\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), y\right), y\right)\right) \end{array} \]
                            (FPCore (x y)
                             :precision binary64
                             (fmin
                              (fmin
                               (fmin
                                (fmin
                                 (fmax (fmax (fmax (- y 0.55) (- y)) (- x 0.825)) (- 0.725 x))
                                 (* (- 1.0 (/ 0.85 x)) x))
                                (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)) y)
                               y)))
                            double code(double x, double y) {
                            	return fmin(fmin(fmin(fmin(fmax(fmax(fmax((y - 0.55), -y), (x - 0.825)), (0.725 - x)), ((1.0 - (0.85 / x)) * x)), 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)), y), y));
                            }
                            
                            module fmin_fmax_functions
                                implicit none
                                private
                                public fmax
                                public fmin
                            
                                interface fmax
                                    module procedure fmax88
                                    module procedure fmax44
                                    module procedure fmax84
                                    module procedure fmax48
                                end interface
                                interface fmin
                                    module procedure fmin88
                                    module procedure fmin44
                                    module procedure fmin84
                                    module procedure fmin48
                                end interface
                            contains
                                real(8) function fmax88(x, y) result (res)
                                    real(8), intent (in) :: x
                                    real(8), intent (in) :: y
                                    res = merge(y, merge(x, max(x, y), y /= y), x /= x)
                                end function
                                real(4) function fmax44(x, y) result (res)
                                    real(4), intent (in) :: x
                                    real(4), intent (in) :: y
                                    res = merge(y, merge(x, max(x, y), y /= y), x /= x)
                                end function
                                real(8) function fmax84(x, y) result(res)
                                    real(8), intent (in) :: x
                                    real(4), intent (in) :: y
                                    res = merge(dble(y), merge(x, max(x, dble(y)), y /= y), x /= x)
                                end function
                                real(8) function fmax48(x, y) result(res)
                                    real(4), intent (in) :: x
                                    real(8), intent (in) :: y
                                    res = merge(y, merge(dble(x), max(dble(x), y), y /= y), x /= x)
                                end function
                                real(8) function fmin88(x, y) result (res)
                                    real(8), intent (in) :: x
                                    real(8), intent (in) :: y
                                    res = merge(y, merge(x, min(x, y), y /= y), x /= x)
                                end function
                                real(4) function fmin44(x, y) result (res)
                                    real(4), intent (in) :: x
                                    real(4), intent (in) :: y
                                    res = merge(y, merge(x, min(x, y), y /= y), x /= x)
                                end function
                                real(8) function fmin84(x, y) result(res)
                                    real(8), intent (in) :: x
                                    real(4), intent (in) :: y
                                    res = merge(dble(y), merge(x, min(x, dble(y)), y /= y), x /= x)
                                end function
                                real(8) function fmin48(x, y) result(res)
                                    real(4), intent (in) :: x
                                    real(8), intent (in) :: y
                                    res = merge(y, merge(dble(x), min(dble(x), y), y /= y), x /= x)
                                end function
                            end module
                            
                            real(8) function code(x, y)
                            use fmin_fmax_functions
                                real(8), intent (in) :: x
                                real(8), intent (in) :: y
                                code = fmin(fmin(fmin(fmin(fmax(fmax(fmax((y - 0.55d0), -y), (x - 0.825d0)), (0.725d0 - x)), ((1.0d0 - (0.85d0 / x)) * x)), 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)), y), y))
                            end function
                            
                            public static double code(double x, double y) {
                            	return fmin(fmin(fmin(fmin(fmax(fmax(fmax((y - 0.55), -y), (x - 0.825)), (0.725 - x)), ((1.0 - (0.85 / x)) * x)), 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)), y), y));
                            }
                            
                            def code(x, y):
                            	return fmin(fmin(fmin(fmin(fmax(fmax(fmax((y - 0.55), -y), (x - 0.825)), (0.725 - x)), ((1.0 - (0.85 / x)) * x)), 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)), y), y))
                            
                            function code(x, y)
                            	return fmin(fmin(fmin(fmin(fmax(fmax(fmax(Float64(y - 0.55), Float64(-y)), Float64(x - 0.825)), Float64(0.725 - x)), Float64(Float64(1.0 - Float64(0.85 / x)) * x)), 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)), y), y))
                            end
                            
                            function tmp = code(x, y)
                            	tmp = min(min(min(min(max(max(max((y - 0.55), -y), (x - 0.825)), (0.725 - x)), ((1.0 - (0.85 / x)) * x)), 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)), y), y));
                            end
                            
                            code[x_, y_] := 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[(1.0 - N[(0.85 / x), $MachinePrecision]), $MachinePrecision] * x), $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], y], $MachinePrecision], y], $MachinePrecision]], $MachinePrecision]
                            
                            \begin{array}{l}
                            
                            \\
                            \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), \left(1 - \frac{0.85}{x}\right) \cdot x\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), y\right), y\right)\right)
                            \end{array}
                            
                            Derivation
                            1. Initial program 99.9%

                              \[\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 - \sqrt{{\left(y - 0.275\right)}^{2} + {\left(x - 0.275\right)}^{2}}\right), \sqrt{{\left(y - 0.275\right)}^{2} + {\left(x - 0.275\right)}^{2}} - 0.275\right)\right) \]
                            2. Add Preprocessing
                            3. Step-by-step derivation
                              1. Applied rewrites99.9%

                                \[\leadsto \color{blue}{\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), \mathsf{hypot}\left(x - 0.775, y - 0.7\right) - 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 - \mathsf{hypot}\left(x - 0.275, y - 0.275\right)\right), \mathsf{hypot}\left(x - 0.275, y - 0.275\right) - 0.275\right)\right)} \]
                              2. Taylor expanded in x around inf

                                \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), x - \frac{33}{40}\right), \frac{29}{40} - x\right), \color{blue}{x \cdot \left(1 - \frac{17}{20} \cdot \frac{1}{x}\right)}\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right) - \frac{11}{40}\right)\right) \]
                              3. Step-by-step derivation
                                1. Applied rewrites21.7%

                                  \[\leadsto \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), \color{blue}{\left(1 - \frac{0.85}{x}\right) \cdot x}\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 - \mathsf{hypot}\left(x - 0.275, y - 0.275\right)\right), \mathsf{hypot}\left(x - 0.275, y - 0.275\right) - 0.275\right)\right) \]
                                2. Taylor expanded in y around inf

                                  \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), x - \frac{33}{40}\right), \frac{29}{40} - x\right), \left(1 - \frac{\frac{17}{20}}{x}\right) \cdot x\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \frac{7}{40} - \mathsf{hypot}\left(x - \frac{11}{40}, y - \frac{11}{40}\right)\right), \color{blue}{y}\right)\right) \]
                                3. Step-by-step derivation
                                  1. Applied rewrites21.7%

                                    \[\leadsto \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), \left(1 - \frac{0.85}{x}\right) \cdot x\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 - \mathsf{hypot}\left(x - 0.275, y - 0.275\right)\right), \color{blue}{y}\right)\right) \]
                                  2. Taylor expanded in y around -inf

                                    \[\leadsto \mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, -y\right), x - \frac{33}{40}\right), \frac{29}{40} - x\right), \left(1 - \frac{\frac{17}{20}}{x}\right) \cdot x\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - \frac{11}{40}\right), x - \frac{11}{20}\right), \frac{9}{20} - x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(-y, y - 1\right), x - \frac{1}{10}\right), -x\right)\right), \mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(\mathsf{max}\left(y - \frac{11}{20}, x - \frac{11}{20}\right), -x\right), \frac{11}{40} - y\right), \color{blue}{y}\right), y\right)\right) \]
                                  3. Step-by-step derivation
                                    1. Applied rewrites21.7%

                                      \[\leadsto \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), \left(1 - \frac{0.85}{x}\right) \cdot x\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), \color{blue}{y}\right), y\right)\right) \]
                                    2. Add Preprocessing

                                    Reproduce

                                    ?
                                    herbie shell --seed 2025019 
                                    (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))))