Main:z from

Percentage Accurate: 91.7% → 97.6%
Time: 15.3s
Alternatives: 17
Speedup: 0.5×

Specification

?
\[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
(FPCore (x y z t)
 :precision binary64
 (+
  (+
   (+ (- (sqrt (+ x 1.0)) (sqrt x)) (- (sqrt (+ y 1.0)) (sqrt y)))
   (- (sqrt (+ z 1.0)) (sqrt z)))
  (- (sqrt (+ t 1.0)) (sqrt t))))
double code(double x, double y, double z, double t) {
	return (((sqrt((x + 1.0)) - sqrt(x)) + (sqrt((y + 1.0)) - sqrt(y))) + (sqrt((z + 1.0)) - sqrt(z))) + (sqrt((t + 1.0)) - sqrt(t));
}
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, z, t)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    code = (((sqrt((x + 1.0d0)) - sqrt(x)) + (sqrt((y + 1.0d0)) - sqrt(y))) + (sqrt((z + 1.0d0)) - sqrt(z))) + (sqrt((t + 1.0d0)) - sqrt(t))
end function
public static double code(double x, double y, double z, double t) {
	return (((Math.sqrt((x + 1.0)) - Math.sqrt(x)) + (Math.sqrt((y + 1.0)) - Math.sqrt(y))) + (Math.sqrt((z + 1.0)) - Math.sqrt(z))) + (Math.sqrt((t + 1.0)) - Math.sqrt(t));
}
def code(x, y, z, t):
	return (((math.sqrt((x + 1.0)) - math.sqrt(x)) + (math.sqrt((y + 1.0)) - math.sqrt(y))) + (math.sqrt((z + 1.0)) - math.sqrt(z))) + (math.sqrt((t + 1.0)) - math.sqrt(t))
function code(x, y, z, t)
	return Float64(Float64(Float64(Float64(sqrt(Float64(x + 1.0)) - sqrt(x)) + Float64(sqrt(Float64(y + 1.0)) - sqrt(y))) + Float64(sqrt(Float64(z + 1.0)) - sqrt(z))) + Float64(sqrt(Float64(t + 1.0)) - sqrt(t)))
end
function tmp = code(x, y, z, t)
	tmp = (((sqrt((x + 1.0)) - sqrt(x)) + (sqrt((y + 1.0)) - sqrt(y))) + (sqrt((z + 1.0)) - sqrt(z))) + (sqrt((t + 1.0)) - sqrt(t));
end
code[x_, y_, z_, t_] := N[(N[(N[(N[(N[Sqrt[N[(x + 1.0), $MachinePrecision]], $MachinePrecision] - N[Sqrt[x], $MachinePrecision]), $MachinePrecision] + N[(N[Sqrt[N[(y + 1.0), $MachinePrecision]], $MachinePrecision] - N[Sqrt[y], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[Sqrt[N[(z + 1.0), $MachinePrecision]], $MachinePrecision] - N[Sqrt[z], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[Sqrt[N[(t + 1.0), $MachinePrecision]], $MachinePrecision] - N[Sqrt[t], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right)

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 17 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: 91.7% accurate, 1.0× speedup?

\[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
(FPCore (x y z t)
 :precision binary64
 (+
  (+
   (+ (- (sqrt (+ x 1.0)) (sqrt x)) (- (sqrt (+ y 1.0)) (sqrt y)))
   (- (sqrt (+ z 1.0)) (sqrt z)))
  (- (sqrt (+ t 1.0)) (sqrt t))))
double code(double x, double y, double z, double t) {
	return (((sqrt((x + 1.0)) - sqrt(x)) + (sqrt((y + 1.0)) - sqrt(y))) + (sqrt((z + 1.0)) - sqrt(z))) + (sqrt((t + 1.0)) - sqrt(t));
}
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, z, t)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    code = (((sqrt((x + 1.0d0)) - sqrt(x)) + (sqrt((y + 1.0d0)) - sqrt(y))) + (sqrt((z + 1.0d0)) - sqrt(z))) + (sqrt((t + 1.0d0)) - sqrt(t))
end function
public static double code(double x, double y, double z, double t) {
	return (((Math.sqrt((x + 1.0)) - Math.sqrt(x)) + (Math.sqrt((y + 1.0)) - Math.sqrt(y))) + (Math.sqrt((z + 1.0)) - Math.sqrt(z))) + (Math.sqrt((t + 1.0)) - Math.sqrt(t));
}
def code(x, y, z, t):
	return (((math.sqrt((x + 1.0)) - math.sqrt(x)) + (math.sqrt((y + 1.0)) - math.sqrt(y))) + (math.sqrt((z + 1.0)) - math.sqrt(z))) + (math.sqrt((t + 1.0)) - math.sqrt(t))
function code(x, y, z, t)
	return Float64(Float64(Float64(Float64(sqrt(Float64(x + 1.0)) - sqrt(x)) + Float64(sqrt(Float64(y + 1.0)) - sqrt(y))) + Float64(sqrt(Float64(z + 1.0)) - sqrt(z))) + Float64(sqrt(Float64(t + 1.0)) - sqrt(t)))
end
function tmp = code(x, y, z, t)
	tmp = (((sqrt((x + 1.0)) - sqrt(x)) + (sqrt((y + 1.0)) - sqrt(y))) + (sqrt((z + 1.0)) - sqrt(z))) + (sqrt((t + 1.0)) - sqrt(t));
end
code[x_, y_, z_, t_] := N[(N[(N[(N[(N[Sqrt[N[(x + 1.0), $MachinePrecision]], $MachinePrecision] - N[Sqrt[x], $MachinePrecision]), $MachinePrecision] + N[(N[Sqrt[N[(y + 1.0), $MachinePrecision]], $MachinePrecision] - N[Sqrt[y], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[Sqrt[N[(z + 1.0), $MachinePrecision]], $MachinePrecision] - N[Sqrt[z], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[Sqrt[N[(t + 1.0), $MachinePrecision]], $MachinePrecision] - N[Sqrt[t], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right)

Alternative 1: 97.6% accurate, 0.3× speedup?

\[\begin{array}{l} t_1 := \mathsf{max}\left(\mathsf{min}\left(y, z\right), \mathsf{max}\left(x, t\right)\right)\\ t_2 := \mathsf{max}\left(\mathsf{max}\left(y, z\right), t\_1\right)\\ t_3 := \sqrt{t\_2}\\ t_4 := \sqrt{t\_2 - -1}\\ t_5 := \mathsf{min}\left(\mathsf{max}\left(y, z\right), t\_1\right)\\ t_6 := t\_5 - -1\\ t_7 := \sqrt{t\_6}\\ t_8 := \mathsf{min}\left(\mathsf{min}\left(y, z\right), \mathsf{max}\left(x, t\right)\right)\\ t_9 := \sqrt{t\_8}\\ t_10 := \sqrt{t\_5}\\ \mathbf{if}\;\mathsf{min}\left(x, t\right) \leq 270000000:\\ \;\;\;\;\left(\sqrt{\mathsf{min}\left(x, t\right) - -1} - \sqrt{\mathsf{min}\left(x, t\right)}\right) - \left(\left(t\_9 - \sqrt{t\_8 - -1}\right) - \left(\frac{t\_6 - t\_5}{t\_7 + t\_10} - \left(t\_3 - t\_4\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(0.5, \frac{1}{\mathsf{min}\left(x, t\right) \cdot \sqrt{\frac{1}{\mathsf{min}\left(x, t\right)}}}, \frac{1}{t\_9 + \sqrt{1 + t\_8}}\right) - \left(\left(t\_10 - t\_7\right) - \left(t\_4 - t\_3\right)\right)\\ \end{array} \]
(FPCore (x y z t)
 :precision binary64
 (let* ((t_1 (fmax (fmin y z) (fmax x t)))
        (t_2 (fmax (fmax y z) t_1))
        (t_3 (sqrt t_2))
        (t_4 (sqrt (- t_2 -1.0)))
        (t_5 (fmin (fmax y z) t_1))
        (t_6 (- t_5 -1.0))
        (t_7 (sqrt t_6))
        (t_8 (fmin (fmin y z) (fmax x t)))
        (t_9 (sqrt t_8))
        (t_10 (sqrt t_5)))
   (if (<= (fmin x t) 270000000.0)
     (-
      (- (sqrt (- (fmin x t) -1.0)) (sqrt (fmin x t)))
      (-
       (- t_9 (sqrt (- t_8 -1.0)))
       (- (/ (- t_6 t_5) (+ t_7 t_10)) (- t_3 t_4))))
     (-
      (fma
       0.5
       (/ 1.0 (* (fmin x t) (sqrt (/ 1.0 (fmin x t)))))
       (/ 1.0 (+ t_9 (sqrt (+ 1.0 t_8)))))
      (- (- t_10 t_7) (- t_4 t_3))))))
double code(double x, double y, double z, double t) {
	double t_1 = fmax(fmin(y, z), fmax(x, t));
	double t_2 = fmax(fmax(y, z), t_1);
	double t_3 = sqrt(t_2);
	double t_4 = sqrt((t_2 - -1.0));
	double t_5 = fmin(fmax(y, z), t_1);
	double t_6 = t_5 - -1.0;
	double t_7 = sqrt(t_6);
	double t_8 = fmin(fmin(y, z), fmax(x, t));
	double t_9 = sqrt(t_8);
	double t_10 = sqrt(t_5);
	double tmp;
	if (fmin(x, t) <= 270000000.0) {
		tmp = (sqrt((fmin(x, t) - -1.0)) - sqrt(fmin(x, t))) - ((t_9 - sqrt((t_8 - -1.0))) - (((t_6 - t_5) / (t_7 + t_10)) - (t_3 - t_4)));
	} else {
		tmp = fma(0.5, (1.0 / (fmin(x, t) * sqrt((1.0 / fmin(x, t))))), (1.0 / (t_9 + sqrt((1.0 + t_8))))) - ((t_10 - t_7) - (t_4 - t_3));
	}
	return tmp;
}
function code(x, y, z, t)
	t_1 = fmax(fmin(y, z), fmax(x, t))
	t_2 = fmax(fmax(y, z), t_1)
	t_3 = sqrt(t_2)
	t_4 = sqrt(Float64(t_2 - -1.0))
	t_5 = fmin(fmax(y, z), t_1)
	t_6 = Float64(t_5 - -1.0)
	t_7 = sqrt(t_6)
	t_8 = fmin(fmin(y, z), fmax(x, t))
	t_9 = sqrt(t_8)
	t_10 = sqrt(t_5)
	tmp = 0.0
	if (fmin(x, t) <= 270000000.0)
		tmp = Float64(Float64(sqrt(Float64(fmin(x, t) - -1.0)) - sqrt(fmin(x, t))) - Float64(Float64(t_9 - sqrt(Float64(t_8 - -1.0))) - Float64(Float64(Float64(t_6 - t_5) / Float64(t_7 + t_10)) - Float64(t_3 - t_4))));
	else
		tmp = Float64(fma(0.5, Float64(1.0 / Float64(fmin(x, t) * sqrt(Float64(1.0 / fmin(x, t))))), Float64(1.0 / Float64(t_9 + sqrt(Float64(1.0 + t_8))))) - Float64(Float64(t_10 - t_7) - Float64(t_4 - t_3)));
	end
	return tmp
end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[Max[N[Min[y, z], $MachinePrecision], N[Max[x, t], $MachinePrecision]], $MachinePrecision]}, Block[{t$95$2 = N[Max[N[Max[y, z], $MachinePrecision], t$95$1], $MachinePrecision]}, Block[{t$95$3 = N[Sqrt[t$95$2], $MachinePrecision]}, Block[{t$95$4 = N[Sqrt[N[(t$95$2 - -1.0), $MachinePrecision]], $MachinePrecision]}, Block[{t$95$5 = N[Min[N[Max[y, z], $MachinePrecision], t$95$1], $MachinePrecision]}, Block[{t$95$6 = N[(t$95$5 - -1.0), $MachinePrecision]}, Block[{t$95$7 = N[Sqrt[t$95$6], $MachinePrecision]}, Block[{t$95$8 = N[Min[N[Min[y, z], $MachinePrecision], N[Max[x, t], $MachinePrecision]], $MachinePrecision]}, Block[{t$95$9 = N[Sqrt[t$95$8], $MachinePrecision]}, Block[{t$95$10 = N[Sqrt[t$95$5], $MachinePrecision]}, If[LessEqual[N[Min[x, t], $MachinePrecision], 270000000.0], N[(N[(N[Sqrt[N[(N[Min[x, t], $MachinePrecision] - -1.0), $MachinePrecision]], $MachinePrecision] - N[Sqrt[N[Min[x, t], $MachinePrecision]], $MachinePrecision]), $MachinePrecision] - N[(N[(t$95$9 - N[Sqrt[N[(t$95$8 - -1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] - N[(N[(N[(t$95$6 - t$95$5), $MachinePrecision] / N[(t$95$7 + t$95$10), $MachinePrecision]), $MachinePrecision] - N[(t$95$3 - t$95$4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(0.5 * N[(1.0 / N[(N[Min[x, t], $MachinePrecision] * N[Sqrt[N[(1.0 / N[Min[x, t], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(1.0 / N[(t$95$9 + N[Sqrt[N[(1.0 + t$95$8), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(t$95$10 - t$95$7), $MachinePrecision] - N[(t$95$4 - t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]
\begin{array}{l}
t_1 := \mathsf{max}\left(\mathsf{min}\left(y, z\right), \mathsf{max}\left(x, t\right)\right)\\
t_2 := \mathsf{max}\left(\mathsf{max}\left(y, z\right), t\_1\right)\\
t_3 := \sqrt{t\_2}\\
t_4 := \sqrt{t\_2 - -1}\\
t_5 := \mathsf{min}\left(\mathsf{max}\left(y, z\right), t\_1\right)\\
t_6 := t\_5 - -1\\
t_7 := \sqrt{t\_6}\\
t_8 := \mathsf{min}\left(\mathsf{min}\left(y, z\right), \mathsf{max}\left(x, t\right)\right)\\
t_9 := \sqrt{t\_8}\\
t_10 := \sqrt{t\_5}\\
\mathbf{if}\;\mathsf{min}\left(x, t\right) \leq 270000000:\\
\;\;\;\;\left(\sqrt{\mathsf{min}\left(x, t\right) - -1} - \sqrt{\mathsf{min}\left(x, t\right)}\right) - \left(\left(t\_9 - \sqrt{t\_8 - -1}\right) - \left(\frac{t\_6 - t\_5}{t\_7 + t\_10} - \left(t\_3 - t\_4\right)\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(0.5, \frac{1}{\mathsf{min}\left(x, t\right) \cdot \sqrt{\frac{1}{\mathsf{min}\left(x, t\right)}}}, \frac{1}{t\_9 + \sqrt{1 + t\_8}}\right) - \left(\left(t\_10 - t\_7\right) - \left(t\_4 - t\_3\right)\right)\\


\end{array}
Derivation
  1. Split input into 2 regimes
  2. if x < 2.7e8

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Step-by-step derivation
      1. lift--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\left(\sqrt{z + 1} - \sqrt{z}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. flip--N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\frac{\sqrt{z + 1} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-unsound-/.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\frac{\sqrt{z + 1} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-unsound--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. lower-unsound-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1} \cdot \sqrt{z + 1}} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. lower-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1} \cdot \sqrt{z + 1}} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1}} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      8. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\sqrt{z + 1} \cdot \color{blue}{\sqrt{z + 1}} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      9. rem-square-sqrtN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z + 1\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      10. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z + 1\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      11. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      12. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      13. metadata-evalN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - \color{blue}{-1}\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      14. lower-unsound-*.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \color{blue}{\sqrt{z} \cdot \sqrt{z}}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      15. lower-unsound-+.f6473.6

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\color{blue}{\sqrt{z + 1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      16. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{\color{blue}{z + 1}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      17. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{\color{blue}{z - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      18. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{\color{blue}{z - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      19. metadata-eval73.6

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z - \color{blue}{-1}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Applied rewrites73.6%

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z - -1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Applied rewrites92.1%

      \[\leadsto \color{blue}{\left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \left(\frac{\left(z - -1\right) - z}{\sqrt{z - -1} + \sqrt{z}} - \left(\sqrt{t} - \sqrt{t - -1}\right)\right)\right)} \]

    if 2.7e8 < x

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Step-by-step derivation
      1. lift--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\left(\sqrt{y + 1} - \sqrt{y}\right)}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. flip--N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-unsound-/.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-unsound--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. lower-unsound-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. lower-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1}} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      8. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\sqrt{y + 1} \cdot \color{blue}{\sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      9. rem-square-sqrtN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y + 1\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      10. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y + 1\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      11. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      12. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      13. metadata-evalN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - \color{blue}{-1}\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      14. lower-unsound-*.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \color{blue}{\sqrt{y} \cdot \sqrt{y}}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      15. lower-unsound-+.f6472.8

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\color{blue}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      16. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y + 1}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      17. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      18. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      19. metadata-eval72.8

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - \color{blue}{-1}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Applied rewrites72.8%

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right)} \]
      2. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. add-flipN/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. associate-+l-N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right) - \left(\sqrt{t + 1} - \sqrt{t}\right)\right)} \]
      5. lower--.f64N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right) - \left(\sqrt{t + 1} - \sqrt{t}\right)\right)} \]
    5. Applied rewrites92.1%

      \[\leadsto \color{blue}{\left(\left(\sqrt{x - -1} - \sqrt{x}\right) - \frac{y - \left(y - -1\right)}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right)} \]
    6. Taylor expanded in x around inf

      \[\leadsto \color{blue}{\left(\frac{1}{2} \cdot \frac{1}{x \cdot \sqrt{\frac{1}{x}}} + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right)} - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
    7. Step-by-step derivation
      1. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \color{blue}{\frac{1}{x \cdot \sqrt{\frac{1}{x}}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      2. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{\color{blue}{x \cdot \sqrt{\frac{1}{x}}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      3. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \color{blue}{\sqrt{\frac{1}{x}}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      4. lower-sqrt.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      5. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      6. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      7. lower-+.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      8. lower-sqrt.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      9. lower-sqrt.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      10. lower-+.f6448.7

        \[\leadsto \mathsf{fma}\left(0.5, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
    8. Applied rewrites48.7%

      \[\leadsto \color{blue}{\mathsf{fma}\left(0.5, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right)} - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 2: 97.2% accurate, 0.5× speedup?

\[\begin{array}{l} t_1 := \mathsf{min}\left(y, z\right) - -1\\ t_2 := \sqrt{\mathsf{min}\left(y, z\right)}\\ t_3 := \left(\sqrt{\mathsf{max}\left(y, z\right)} - \sqrt{\mathsf{max}\left(y, z\right) - -1}\right) - \left(\sqrt{\mathsf{max}\left(x, t\right) - -1} - \sqrt{\mathsf{max}\left(x, t\right)}\right)\\ \mathbf{if}\;\mathsf{min}\left(x, t\right) \leq 22000:\\ \;\;\;\;\left(\left(\sqrt{\mathsf{min}\left(x, t\right) - -1} - \sqrt{\mathsf{min}\left(x, t\right)}\right) - \frac{\mathsf{min}\left(y, z\right) - t\_1}{\sqrt{t\_1} + t\_2}\right) - t\_3\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(0.5, \frac{1}{\mathsf{min}\left(x, t\right) \cdot \sqrt{\frac{1}{\mathsf{min}\left(x, t\right)}}}, \frac{1}{t\_2 + \sqrt{1 + \mathsf{min}\left(y, z\right)}}\right) - t\_3\\ \end{array} \]
(FPCore (x y z t)
 :precision binary64
 (let* ((t_1 (- (fmin y z) -1.0))
        (t_2 (sqrt (fmin y z)))
        (t_3
         (-
          (- (sqrt (fmax y z)) (sqrt (- (fmax y z) -1.0)))
          (- (sqrt (- (fmax x t) -1.0)) (sqrt (fmax x t))))))
   (if (<= (fmin x t) 22000.0)
     (-
      (-
       (- (sqrt (- (fmin x t) -1.0)) (sqrt (fmin x t)))
       (/ (- (fmin y z) t_1) (+ (sqrt t_1) t_2)))
      t_3)
     (-
      (fma
       0.5
       (/ 1.0 (* (fmin x t) (sqrt (/ 1.0 (fmin x t)))))
       (/ 1.0 (+ t_2 (sqrt (+ 1.0 (fmin y z))))))
      t_3))))
double code(double x, double y, double z, double t) {
	double t_1 = fmin(y, z) - -1.0;
	double t_2 = sqrt(fmin(y, z));
	double t_3 = (sqrt(fmax(y, z)) - sqrt((fmax(y, z) - -1.0))) - (sqrt((fmax(x, t) - -1.0)) - sqrt(fmax(x, t)));
	double tmp;
	if (fmin(x, t) <= 22000.0) {
		tmp = ((sqrt((fmin(x, t) - -1.0)) - sqrt(fmin(x, t))) - ((fmin(y, z) - t_1) / (sqrt(t_1) + t_2))) - t_3;
	} else {
		tmp = fma(0.5, (1.0 / (fmin(x, t) * sqrt((1.0 / fmin(x, t))))), (1.0 / (t_2 + sqrt((1.0 + fmin(y, z)))))) - t_3;
	}
	return tmp;
}
function code(x, y, z, t)
	t_1 = Float64(fmin(y, z) - -1.0)
	t_2 = sqrt(fmin(y, z))
	t_3 = Float64(Float64(sqrt(fmax(y, z)) - sqrt(Float64(fmax(y, z) - -1.0))) - Float64(sqrt(Float64(fmax(x, t) - -1.0)) - sqrt(fmax(x, t))))
	tmp = 0.0
	if (fmin(x, t) <= 22000.0)
		tmp = Float64(Float64(Float64(sqrt(Float64(fmin(x, t) - -1.0)) - sqrt(fmin(x, t))) - Float64(Float64(fmin(y, z) - t_1) / Float64(sqrt(t_1) + t_2))) - t_3);
	else
		tmp = Float64(fma(0.5, Float64(1.0 / Float64(fmin(x, t) * sqrt(Float64(1.0 / fmin(x, t))))), Float64(1.0 / Float64(t_2 + sqrt(Float64(1.0 + fmin(y, z)))))) - t_3);
	end
	return tmp
end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[(N[Min[y, z], $MachinePrecision] - -1.0), $MachinePrecision]}, Block[{t$95$2 = N[Sqrt[N[Min[y, z], $MachinePrecision]], $MachinePrecision]}, Block[{t$95$3 = N[(N[(N[Sqrt[N[Max[y, z], $MachinePrecision]], $MachinePrecision] - N[Sqrt[N[(N[Max[y, z], $MachinePrecision] - -1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] - N[(N[Sqrt[N[(N[Max[x, t], $MachinePrecision] - -1.0), $MachinePrecision]], $MachinePrecision] - N[Sqrt[N[Max[x, t], $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[Min[x, t], $MachinePrecision], 22000.0], N[(N[(N[(N[Sqrt[N[(N[Min[x, t], $MachinePrecision] - -1.0), $MachinePrecision]], $MachinePrecision] - N[Sqrt[N[Min[x, t], $MachinePrecision]], $MachinePrecision]), $MachinePrecision] - N[(N[(N[Min[y, z], $MachinePrecision] - t$95$1), $MachinePrecision] / N[(N[Sqrt[t$95$1], $MachinePrecision] + t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$3), $MachinePrecision], N[(N[(0.5 * N[(1.0 / N[(N[Min[x, t], $MachinePrecision] * N[Sqrt[N[(1.0 / N[Min[x, t], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(1.0 / N[(t$95$2 + N[Sqrt[N[(1.0 + N[Min[y, z], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$3), $MachinePrecision]]]]]
\begin{array}{l}
t_1 := \mathsf{min}\left(y, z\right) - -1\\
t_2 := \sqrt{\mathsf{min}\left(y, z\right)}\\
t_3 := \left(\sqrt{\mathsf{max}\left(y, z\right)} - \sqrt{\mathsf{max}\left(y, z\right) - -1}\right) - \left(\sqrt{\mathsf{max}\left(x, t\right) - -1} - \sqrt{\mathsf{max}\left(x, t\right)}\right)\\
\mathbf{if}\;\mathsf{min}\left(x, t\right) \leq 22000:\\
\;\;\;\;\left(\left(\sqrt{\mathsf{min}\left(x, t\right) - -1} - \sqrt{\mathsf{min}\left(x, t\right)}\right) - \frac{\mathsf{min}\left(y, z\right) - t\_1}{\sqrt{t\_1} + t\_2}\right) - t\_3\\

\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(0.5, \frac{1}{\mathsf{min}\left(x, t\right) \cdot \sqrt{\frac{1}{\mathsf{min}\left(x, t\right)}}}, \frac{1}{t\_2 + \sqrt{1 + \mathsf{min}\left(y, z\right)}}\right) - t\_3\\


\end{array}
Derivation
  1. Split input into 2 regimes
  2. if x < 22000

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Step-by-step derivation
      1. lift--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\left(\sqrt{y + 1} - \sqrt{y}\right)}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. flip--N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-unsound-/.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-unsound--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. lower-unsound-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. lower-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1}} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      8. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\sqrt{y + 1} \cdot \color{blue}{\sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      9. rem-square-sqrtN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y + 1\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      10. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y + 1\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      11. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      12. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      13. metadata-evalN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - \color{blue}{-1}\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      14. lower-unsound-*.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \color{blue}{\sqrt{y} \cdot \sqrt{y}}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      15. lower-unsound-+.f6472.8

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\color{blue}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      16. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y + 1}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      17. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      18. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      19. metadata-eval72.8

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - \color{blue}{-1}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Applied rewrites72.8%

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right)} \]
      2. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. add-flipN/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. associate-+l-N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right) - \left(\sqrt{t + 1} - \sqrt{t}\right)\right)} \]
      5. lower--.f64N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right) - \left(\sqrt{t + 1} - \sqrt{t}\right)\right)} \]
    5. Applied rewrites92.1%

      \[\leadsto \color{blue}{\left(\left(\sqrt{x - -1} - \sqrt{x}\right) - \frac{y - \left(y - -1\right)}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right)} \]

    if 22000 < x

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Step-by-step derivation
      1. lift--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\left(\sqrt{y + 1} - \sqrt{y}\right)}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. flip--N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-unsound-/.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-unsound--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. lower-unsound-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. lower-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1}} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      8. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\sqrt{y + 1} \cdot \color{blue}{\sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      9. rem-square-sqrtN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y + 1\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      10. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y + 1\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      11. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      12. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      13. metadata-evalN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - \color{blue}{-1}\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      14. lower-unsound-*.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \color{blue}{\sqrt{y} \cdot \sqrt{y}}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      15. lower-unsound-+.f6472.8

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\color{blue}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      16. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y + 1}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      17. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      18. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      19. metadata-eval72.8

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - \color{blue}{-1}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Applied rewrites72.8%

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right)} \]
      2. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. add-flipN/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. associate-+l-N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right) - \left(\sqrt{t + 1} - \sqrt{t}\right)\right)} \]
      5. lower--.f64N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right) - \left(\sqrt{t + 1} - \sqrt{t}\right)\right)} \]
    5. Applied rewrites92.1%

      \[\leadsto \color{blue}{\left(\left(\sqrt{x - -1} - \sqrt{x}\right) - \frac{y - \left(y - -1\right)}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right)} \]
    6. Taylor expanded in x around inf

      \[\leadsto \color{blue}{\left(\frac{1}{2} \cdot \frac{1}{x \cdot \sqrt{\frac{1}{x}}} + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right)} - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
    7. Step-by-step derivation
      1. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \color{blue}{\frac{1}{x \cdot \sqrt{\frac{1}{x}}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      2. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{\color{blue}{x \cdot \sqrt{\frac{1}{x}}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      3. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \color{blue}{\sqrt{\frac{1}{x}}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      4. lower-sqrt.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      5. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      6. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      7. lower-+.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      8. lower-sqrt.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      9. lower-sqrt.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      10. lower-+.f6448.7

        \[\leadsto \mathsf{fma}\left(0.5, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
    8. Applied rewrites48.7%

      \[\leadsto \color{blue}{\mathsf{fma}\left(0.5, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right)} - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 3: 96.9% accurate, 0.4× speedup?

\[\begin{array}{l} t_1 := \mathsf{max}\left(\mathsf{min}\left(x, z\right), t\right)\\ t_2 := \mathsf{min}\left(\mathsf{min}\left(x, z\right), t\right)\\ t_3 := \mathsf{min}\left(y, t\_1\right)\\ t_4 := \frac{1}{\sqrt{t\_3} + \sqrt{1 + t\_3}}\\ t_5 := \mathsf{max}\left(y, t\_1\right)\\ t_6 := \left(\sqrt{\mathsf{max}\left(x, z\right)} - \sqrt{\mathsf{max}\left(x, z\right) - -1}\right) - \left(\sqrt{t\_5 - -1} - \sqrt{t\_5}\right)\\ \mathbf{if}\;t\_2 \leq 0.105:\\ \;\;\;\;\left(\left(1 + t\_4\right) - \sqrt{t\_2}\right) - t\_6\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(0.5, \frac{1}{t\_2 \cdot \sqrt{\frac{1}{t\_2}}}, t\_4\right) - t\_6\\ \end{array} \]
(FPCore (x y z t)
 :precision binary64
 (let* ((t_1 (fmax (fmin x z) t))
        (t_2 (fmin (fmin x z) t))
        (t_3 (fmin y t_1))
        (t_4 (/ 1.0 (+ (sqrt t_3) (sqrt (+ 1.0 t_3)))))
        (t_5 (fmax y t_1))
        (t_6
         (-
          (- (sqrt (fmax x z)) (sqrt (- (fmax x z) -1.0)))
          (- (sqrt (- t_5 -1.0)) (sqrt t_5)))))
   (if (<= t_2 0.105)
     (- (- (+ 1.0 t_4) (sqrt t_2)) t_6)
     (- (fma 0.5 (/ 1.0 (* t_2 (sqrt (/ 1.0 t_2)))) t_4) t_6))))
double code(double x, double y, double z, double t) {
	double t_1 = fmax(fmin(x, z), t);
	double t_2 = fmin(fmin(x, z), t);
	double t_3 = fmin(y, t_1);
	double t_4 = 1.0 / (sqrt(t_3) + sqrt((1.0 + t_3)));
	double t_5 = fmax(y, t_1);
	double t_6 = (sqrt(fmax(x, z)) - sqrt((fmax(x, z) - -1.0))) - (sqrt((t_5 - -1.0)) - sqrt(t_5));
	double tmp;
	if (t_2 <= 0.105) {
		tmp = ((1.0 + t_4) - sqrt(t_2)) - t_6;
	} else {
		tmp = fma(0.5, (1.0 / (t_2 * sqrt((1.0 / t_2)))), t_4) - t_6;
	}
	return tmp;
}
function code(x, y, z, t)
	t_1 = fmax(fmin(x, z), t)
	t_2 = fmin(fmin(x, z), t)
	t_3 = fmin(y, t_1)
	t_4 = Float64(1.0 / Float64(sqrt(t_3) + sqrt(Float64(1.0 + t_3))))
	t_5 = fmax(y, t_1)
	t_6 = Float64(Float64(sqrt(fmax(x, z)) - sqrt(Float64(fmax(x, z) - -1.0))) - Float64(sqrt(Float64(t_5 - -1.0)) - sqrt(t_5)))
	tmp = 0.0
	if (t_2 <= 0.105)
		tmp = Float64(Float64(Float64(1.0 + t_4) - sqrt(t_2)) - t_6);
	else
		tmp = Float64(fma(0.5, Float64(1.0 / Float64(t_2 * sqrt(Float64(1.0 / t_2)))), t_4) - t_6);
	end
	return tmp
end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[Max[N[Min[x, z], $MachinePrecision], t], $MachinePrecision]}, Block[{t$95$2 = N[Min[N[Min[x, z], $MachinePrecision], t], $MachinePrecision]}, Block[{t$95$3 = N[Min[y, t$95$1], $MachinePrecision]}, Block[{t$95$4 = N[(1.0 / N[(N[Sqrt[t$95$3], $MachinePrecision] + N[Sqrt[N[(1.0 + t$95$3), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[Max[y, t$95$1], $MachinePrecision]}, Block[{t$95$6 = N[(N[(N[Sqrt[N[Max[x, z], $MachinePrecision]], $MachinePrecision] - N[Sqrt[N[(N[Max[x, z], $MachinePrecision] - -1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] - N[(N[Sqrt[N[(t$95$5 - -1.0), $MachinePrecision]], $MachinePrecision] - N[Sqrt[t$95$5], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$2, 0.105], N[(N[(N[(1.0 + t$95$4), $MachinePrecision] - N[Sqrt[t$95$2], $MachinePrecision]), $MachinePrecision] - t$95$6), $MachinePrecision], N[(N[(0.5 * N[(1.0 / N[(t$95$2 * N[Sqrt[N[(1.0 / t$95$2), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$4), $MachinePrecision] - t$95$6), $MachinePrecision]]]]]]]]
\begin{array}{l}
t_1 := \mathsf{max}\left(\mathsf{min}\left(x, z\right), t\right)\\
t_2 := \mathsf{min}\left(\mathsf{min}\left(x, z\right), t\right)\\
t_3 := \mathsf{min}\left(y, t\_1\right)\\
t_4 := \frac{1}{\sqrt{t\_3} + \sqrt{1 + t\_3}}\\
t_5 := \mathsf{max}\left(y, t\_1\right)\\
t_6 := \left(\sqrt{\mathsf{max}\left(x, z\right)} - \sqrt{\mathsf{max}\left(x, z\right) - -1}\right) - \left(\sqrt{t\_5 - -1} - \sqrt{t\_5}\right)\\
\mathbf{if}\;t\_2 \leq 0.105:\\
\;\;\;\;\left(\left(1 + t\_4\right) - \sqrt{t\_2}\right) - t\_6\\

\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(0.5, \frac{1}{t\_2 \cdot \sqrt{\frac{1}{t\_2}}}, t\_4\right) - t\_6\\


\end{array}
Derivation
  1. Split input into 2 regimes
  2. if x < 0.104999999999999996

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Step-by-step derivation
      1. lift--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\left(\sqrt{y + 1} - \sqrt{y}\right)}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. flip--N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-unsound-/.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-unsound--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. lower-unsound-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. lower-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1}} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      8. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\sqrt{y + 1} \cdot \color{blue}{\sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      9. rem-square-sqrtN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y + 1\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      10. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y + 1\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      11. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      12. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      13. metadata-evalN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - \color{blue}{-1}\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      14. lower-unsound-*.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \color{blue}{\sqrt{y} \cdot \sqrt{y}}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      15. lower-unsound-+.f6472.8

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\color{blue}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      16. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y + 1}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      17. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      18. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      19. metadata-eval72.8

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - \color{blue}{-1}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Applied rewrites72.8%

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right)} \]
      2. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. add-flipN/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. associate-+l-N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right) - \left(\sqrt{t + 1} - \sqrt{t}\right)\right)} \]
      5. lower--.f64N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right) - \left(\sqrt{t + 1} - \sqrt{t}\right)\right)} \]
    5. Applied rewrites92.1%

      \[\leadsto \color{blue}{\left(\left(\sqrt{x - -1} - \sqrt{x}\right) - \frac{y - \left(y - -1\right)}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right)} \]
    6. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(\left(1 + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \sqrt{x}\right)} - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
    7. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(1 + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \color{blue}{\sqrt{x}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      2. lower-+.f64N/A

        \[\leadsto \left(\left(1 + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \sqrt{\color{blue}{x}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      3. lower-/.f64N/A

        \[\leadsto \left(\left(1 + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \sqrt{x}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      4. lower-+.f64N/A

        \[\leadsto \left(\left(1 + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \sqrt{x}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      5. lower-sqrt.f64N/A

        \[\leadsto \left(\left(1 + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \sqrt{x}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      6. lower-sqrt.f64N/A

        \[\leadsto \left(\left(1 + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \sqrt{x}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      7. lower-+.f64N/A

        \[\leadsto \left(\left(1 + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \sqrt{x}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      8. lower-sqrt.f6449.5

        \[\leadsto \left(\left(1 + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \sqrt{x}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
    8. Applied rewrites49.5%

      \[\leadsto \color{blue}{\left(\left(1 + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \sqrt{x}\right)} - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]

    if 0.104999999999999996 < x

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Step-by-step derivation
      1. lift--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\left(\sqrt{y + 1} - \sqrt{y}\right)}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. flip--N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-unsound-/.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-unsound--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. lower-unsound-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. lower-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1}} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      8. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\sqrt{y + 1} \cdot \color{blue}{\sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      9. rem-square-sqrtN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y + 1\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      10. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y + 1\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      11. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      12. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      13. metadata-evalN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - \color{blue}{-1}\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      14. lower-unsound-*.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \color{blue}{\sqrt{y} \cdot \sqrt{y}}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      15. lower-unsound-+.f6472.8

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\color{blue}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      16. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y + 1}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      17. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      18. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      19. metadata-eval72.8

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - \color{blue}{-1}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Applied rewrites72.8%

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right)} \]
      2. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. add-flipN/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. associate-+l-N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right) - \left(\sqrt{t + 1} - \sqrt{t}\right)\right)} \]
      5. lower--.f64N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right) - \left(\sqrt{t + 1} - \sqrt{t}\right)\right)} \]
    5. Applied rewrites92.1%

      \[\leadsto \color{blue}{\left(\left(\sqrt{x - -1} - \sqrt{x}\right) - \frac{y - \left(y - -1\right)}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right)} \]
    6. Taylor expanded in x around inf

      \[\leadsto \color{blue}{\left(\frac{1}{2} \cdot \frac{1}{x \cdot \sqrt{\frac{1}{x}}} + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right)} - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
    7. Step-by-step derivation
      1. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \color{blue}{\frac{1}{x \cdot \sqrt{\frac{1}{x}}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      2. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{\color{blue}{x \cdot \sqrt{\frac{1}{x}}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      3. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \color{blue}{\sqrt{\frac{1}{x}}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      4. lower-sqrt.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      5. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      6. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      7. lower-+.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      8. lower-sqrt.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      9. lower-sqrt.f64N/A

        \[\leadsto \mathsf{fma}\left(\frac{1}{2}, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      10. lower-+.f6448.7

        \[\leadsto \mathsf{fma}\left(0.5, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
    8. Applied rewrites48.7%

      \[\leadsto \color{blue}{\mathsf{fma}\left(0.5, \frac{1}{x \cdot \sqrt{\frac{1}{x}}}, \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right)} - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 4: 96.9% accurate, 0.1× speedup?

\[\begin{array}{l} t_1 := \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\\ t_2 := \mathsf{max}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\ t_3 := \mathsf{min}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\ t_4 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\ t_5 := \mathsf{min}\left(t\_4, t\right)\\ t_6 := \sqrt{t\_5}\\ t_7 := \sqrt{t\_5 - -1} - t\_6\\ t_8 := \mathsf{max}\left(t\_4, t\right)\\ t_9 := \mathsf{max}\left(t\_3, t\_8\right)\\ t_10 := \mathsf{min}\left(t\_2, t\_9\right)\\ t_11 := \sqrt{t\_10}\\ t_12 := \sqrt{t\_10 + 1} - t\_11\\ t_13 := \mathsf{min}\left(t\_3, t\_8\right)\\ t_14 := \mathsf{max}\left(t\_2, t\_9\right)\\ t_15 := \sqrt{t\_14}\\ t_16 := \sqrt{t\_14 + 1} - t\_15\\ t_17 := \sqrt{t\_13}\\ t_18 := \left(\left(\left(\sqrt{t\_5 + 1} - t\_6\right) + \left(\sqrt{t\_13 + 1} - t\_17\right)\right) + t\_12\right) + t\_16\\ \mathbf{if}\;t\_18 \leq 10^{-5}:\\ \;\;\;\;\left(\frac{0.5}{t\_5 \cdot \sqrt{\frac{1}{t\_5}}} + t\_12\right) + t\_16\\ \mathbf{elif}\;t\_18 \leq 2.9995:\\ \;\;\;\;t\_7 - \left(\left(t\_17 - \sqrt{t\_13 - -1}\right) - \frac{1}{t\_11 + \sqrt{1 + t\_10}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(t\_7 - \frac{-1}{1 + t\_17}\right) - \left(\left(t\_11 - \sqrt{t\_10 - -1}\right) - \left(\sqrt{t\_14 - -1} - t\_15\right)\right)\\ \end{array} \]
(FPCore (x y z t)
 :precision binary64
 (let* ((t_1 (fmax (fmin x y) z))
        (t_2 (fmax (fmax x y) t_1))
        (t_3 (fmin (fmax x y) t_1))
        (t_4 (fmin (fmin x y) z))
        (t_5 (fmin t_4 t))
        (t_6 (sqrt t_5))
        (t_7 (- (sqrt (- t_5 -1.0)) t_6))
        (t_8 (fmax t_4 t))
        (t_9 (fmax t_3 t_8))
        (t_10 (fmin t_2 t_9))
        (t_11 (sqrt t_10))
        (t_12 (- (sqrt (+ t_10 1.0)) t_11))
        (t_13 (fmin t_3 t_8))
        (t_14 (fmax t_2 t_9))
        (t_15 (sqrt t_14))
        (t_16 (- (sqrt (+ t_14 1.0)) t_15))
        (t_17 (sqrt t_13))
        (t_18
         (+
          (+ (+ (- (sqrt (+ t_5 1.0)) t_6) (- (sqrt (+ t_13 1.0)) t_17)) t_12)
          t_16)))
   (if (<= t_18 1e-5)
     (+ (+ (/ 0.5 (* t_5 (sqrt (/ 1.0 t_5)))) t_12) t_16)
     (if (<= t_18 2.9995)
       (-
        t_7
        (- (- t_17 (sqrt (- t_13 -1.0))) (/ 1.0 (+ t_11 (sqrt (+ 1.0 t_10))))))
       (-
        (- t_7 (/ -1.0 (+ 1.0 t_17)))
        (- (- t_11 (sqrt (- t_10 -1.0))) (- (sqrt (- t_14 -1.0)) t_15)))))))
double code(double x, double y, double z, double t) {
	double t_1 = fmax(fmin(x, y), z);
	double t_2 = fmax(fmax(x, y), t_1);
	double t_3 = fmin(fmax(x, y), t_1);
	double t_4 = fmin(fmin(x, y), z);
	double t_5 = fmin(t_4, t);
	double t_6 = sqrt(t_5);
	double t_7 = sqrt((t_5 - -1.0)) - t_6;
	double t_8 = fmax(t_4, t);
	double t_9 = fmax(t_3, t_8);
	double t_10 = fmin(t_2, t_9);
	double t_11 = sqrt(t_10);
	double t_12 = sqrt((t_10 + 1.0)) - t_11;
	double t_13 = fmin(t_3, t_8);
	double t_14 = fmax(t_2, t_9);
	double t_15 = sqrt(t_14);
	double t_16 = sqrt((t_14 + 1.0)) - t_15;
	double t_17 = sqrt(t_13);
	double t_18 = (((sqrt((t_5 + 1.0)) - t_6) + (sqrt((t_13 + 1.0)) - t_17)) + t_12) + t_16;
	double tmp;
	if (t_18 <= 1e-5) {
		tmp = ((0.5 / (t_5 * sqrt((1.0 / t_5)))) + t_12) + t_16;
	} else if (t_18 <= 2.9995) {
		tmp = t_7 - ((t_17 - sqrt((t_13 - -1.0))) - (1.0 / (t_11 + sqrt((1.0 + t_10)))));
	} else {
		tmp = (t_7 - (-1.0 / (1.0 + t_17))) - ((t_11 - sqrt((t_10 - -1.0))) - (sqrt((t_14 - -1.0)) - t_15));
	}
	return tmp;
}
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, z, t)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8) :: t_1
    real(8) :: t_10
    real(8) :: t_11
    real(8) :: t_12
    real(8) :: t_13
    real(8) :: t_14
    real(8) :: t_15
    real(8) :: t_16
    real(8) :: t_17
    real(8) :: t_18
    real(8) :: t_2
    real(8) :: t_3
    real(8) :: t_4
    real(8) :: t_5
    real(8) :: t_6
    real(8) :: t_7
    real(8) :: t_8
    real(8) :: t_9
    real(8) :: tmp
    t_1 = fmax(fmin(x, y), z)
    t_2 = fmax(fmax(x, y), t_1)
    t_3 = fmin(fmax(x, y), t_1)
    t_4 = fmin(fmin(x, y), z)
    t_5 = fmin(t_4, t)
    t_6 = sqrt(t_5)
    t_7 = sqrt((t_5 - (-1.0d0))) - t_6
    t_8 = fmax(t_4, t)
    t_9 = fmax(t_3, t_8)
    t_10 = fmin(t_2, t_9)
    t_11 = sqrt(t_10)
    t_12 = sqrt((t_10 + 1.0d0)) - t_11
    t_13 = fmin(t_3, t_8)
    t_14 = fmax(t_2, t_9)
    t_15 = sqrt(t_14)
    t_16 = sqrt((t_14 + 1.0d0)) - t_15
    t_17 = sqrt(t_13)
    t_18 = (((sqrt((t_5 + 1.0d0)) - t_6) + (sqrt((t_13 + 1.0d0)) - t_17)) + t_12) + t_16
    if (t_18 <= 1d-5) then
        tmp = ((0.5d0 / (t_5 * sqrt((1.0d0 / t_5)))) + t_12) + t_16
    else if (t_18 <= 2.9995d0) then
        tmp = t_7 - ((t_17 - sqrt((t_13 - (-1.0d0)))) - (1.0d0 / (t_11 + sqrt((1.0d0 + t_10)))))
    else
        tmp = (t_7 - ((-1.0d0) / (1.0d0 + t_17))) - ((t_11 - sqrt((t_10 - (-1.0d0)))) - (sqrt((t_14 - (-1.0d0))) - t_15))
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t) {
	double t_1 = fmax(fmin(x, y), z);
	double t_2 = fmax(fmax(x, y), t_1);
	double t_3 = fmin(fmax(x, y), t_1);
	double t_4 = fmin(fmin(x, y), z);
	double t_5 = fmin(t_4, t);
	double t_6 = Math.sqrt(t_5);
	double t_7 = Math.sqrt((t_5 - -1.0)) - t_6;
	double t_8 = fmax(t_4, t);
	double t_9 = fmax(t_3, t_8);
	double t_10 = fmin(t_2, t_9);
	double t_11 = Math.sqrt(t_10);
	double t_12 = Math.sqrt((t_10 + 1.0)) - t_11;
	double t_13 = fmin(t_3, t_8);
	double t_14 = fmax(t_2, t_9);
	double t_15 = Math.sqrt(t_14);
	double t_16 = Math.sqrt((t_14 + 1.0)) - t_15;
	double t_17 = Math.sqrt(t_13);
	double t_18 = (((Math.sqrt((t_5 + 1.0)) - t_6) + (Math.sqrt((t_13 + 1.0)) - t_17)) + t_12) + t_16;
	double tmp;
	if (t_18 <= 1e-5) {
		tmp = ((0.5 / (t_5 * Math.sqrt((1.0 / t_5)))) + t_12) + t_16;
	} else if (t_18 <= 2.9995) {
		tmp = t_7 - ((t_17 - Math.sqrt((t_13 - -1.0))) - (1.0 / (t_11 + Math.sqrt((1.0 + t_10)))));
	} else {
		tmp = (t_7 - (-1.0 / (1.0 + t_17))) - ((t_11 - Math.sqrt((t_10 - -1.0))) - (Math.sqrt((t_14 - -1.0)) - t_15));
	}
	return tmp;
}
def code(x, y, z, t):
	t_1 = fmax(fmin(x, y), z)
	t_2 = fmax(fmax(x, y), t_1)
	t_3 = fmin(fmax(x, y), t_1)
	t_4 = fmin(fmin(x, y), z)
	t_5 = fmin(t_4, t)
	t_6 = math.sqrt(t_5)
	t_7 = math.sqrt((t_5 - -1.0)) - t_6
	t_8 = fmax(t_4, t)
	t_9 = fmax(t_3, t_8)
	t_10 = fmin(t_2, t_9)
	t_11 = math.sqrt(t_10)
	t_12 = math.sqrt((t_10 + 1.0)) - t_11
	t_13 = fmin(t_3, t_8)
	t_14 = fmax(t_2, t_9)
	t_15 = math.sqrt(t_14)
	t_16 = math.sqrt((t_14 + 1.0)) - t_15
	t_17 = math.sqrt(t_13)
	t_18 = (((math.sqrt((t_5 + 1.0)) - t_6) + (math.sqrt((t_13 + 1.0)) - t_17)) + t_12) + t_16
	tmp = 0
	if t_18 <= 1e-5:
		tmp = ((0.5 / (t_5 * math.sqrt((1.0 / t_5)))) + t_12) + t_16
	elif t_18 <= 2.9995:
		tmp = t_7 - ((t_17 - math.sqrt((t_13 - -1.0))) - (1.0 / (t_11 + math.sqrt((1.0 + t_10)))))
	else:
		tmp = (t_7 - (-1.0 / (1.0 + t_17))) - ((t_11 - math.sqrt((t_10 - -1.0))) - (math.sqrt((t_14 - -1.0)) - t_15))
	return tmp
function code(x, y, z, t)
	t_1 = fmax(fmin(x, y), z)
	t_2 = fmax(fmax(x, y), t_1)
	t_3 = fmin(fmax(x, y), t_1)
	t_4 = fmin(fmin(x, y), z)
	t_5 = fmin(t_4, t)
	t_6 = sqrt(t_5)
	t_7 = Float64(sqrt(Float64(t_5 - -1.0)) - t_6)
	t_8 = fmax(t_4, t)
	t_9 = fmax(t_3, t_8)
	t_10 = fmin(t_2, t_9)
	t_11 = sqrt(t_10)
	t_12 = Float64(sqrt(Float64(t_10 + 1.0)) - t_11)
	t_13 = fmin(t_3, t_8)
	t_14 = fmax(t_2, t_9)
	t_15 = sqrt(t_14)
	t_16 = Float64(sqrt(Float64(t_14 + 1.0)) - t_15)
	t_17 = sqrt(t_13)
	t_18 = Float64(Float64(Float64(Float64(sqrt(Float64(t_5 + 1.0)) - t_6) + Float64(sqrt(Float64(t_13 + 1.0)) - t_17)) + t_12) + t_16)
	tmp = 0.0
	if (t_18 <= 1e-5)
		tmp = Float64(Float64(Float64(0.5 / Float64(t_5 * sqrt(Float64(1.0 / t_5)))) + t_12) + t_16);
	elseif (t_18 <= 2.9995)
		tmp = Float64(t_7 - Float64(Float64(t_17 - sqrt(Float64(t_13 - -1.0))) - Float64(1.0 / Float64(t_11 + sqrt(Float64(1.0 + t_10))))));
	else
		tmp = Float64(Float64(t_7 - Float64(-1.0 / Float64(1.0 + t_17))) - Float64(Float64(t_11 - sqrt(Float64(t_10 - -1.0))) - Float64(sqrt(Float64(t_14 - -1.0)) - t_15)));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t)
	t_1 = max(min(x, y), z);
	t_2 = max(max(x, y), t_1);
	t_3 = min(max(x, y), t_1);
	t_4 = min(min(x, y), z);
	t_5 = min(t_4, t);
	t_6 = sqrt(t_5);
	t_7 = sqrt((t_5 - -1.0)) - t_6;
	t_8 = max(t_4, t);
	t_9 = max(t_3, t_8);
	t_10 = min(t_2, t_9);
	t_11 = sqrt(t_10);
	t_12 = sqrt((t_10 + 1.0)) - t_11;
	t_13 = min(t_3, t_8);
	t_14 = max(t_2, t_9);
	t_15 = sqrt(t_14);
	t_16 = sqrt((t_14 + 1.0)) - t_15;
	t_17 = sqrt(t_13);
	t_18 = (((sqrt((t_5 + 1.0)) - t_6) + (sqrt((t_13 + 1.0)) - t_17)) + t_12) + t_16;
	tmp = 0.0;
	if (t_18 <= 1e-5)
		tmp = ((0.5 / (t_5 * sqrt((1.0 / t_5)))) + t_12) + t_16;
	elseif (t_18 <= 2.9995)
		tmp = t_7 - ((t_17 - sqrt((t_13 - -1.0))) - (1.0 / (t_11 + sqrt((1.0 + t_10)))));
	else
		tmp = (t_7 - (-1.0 / (1.0 + t_17))) - ((t_11 - sqrt((t_10 - -1.0))) - (sqrt((t_14 - -1.0)) - t_15));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[Max[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, Block[{t$95$2 = N[Max[N[Max[x, y], $MachinePrecision], t$95$1], $MachinePrecision]}, Block[{t$95$3 = N[Min[N[Max[x, y], $MachinePrecision], t$95$1], $MachinePrecision]}, Block[{t$95$4 = N[Min[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, Block[{t$95$5 = N[Min[t$95$4, t], $MachinePrecision]}, Block[{t$95$6 = N[Sqrt[t$95$5], $MachinePrecision]}, Block[{t$95$7 = N[(N[Sqrt[N[(t$95$5 - -1.0), $MachinePrecision]], $MachinePrecision] - t$95$6), $MachinePrecision]}, Block[{t$95$8 = N[Max[t$95$4, t], $MachinePrecision]}, Block[{t$95$9 = N[Max[t$95$3, t$95$8], $MachinePrecision]}, Block[{t$95$10 = N[Min[t$95$2, t$95$9], $MachinePrecision]}, Block[{t$95$11 = N[Sqrt[t$95$10], $MachinePrecision]}, Block[{t$95$12 = N[(N[Sqrt[N[(t$95$10 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$11), $MachinePrecision]}, Block[{t$95$13 = N[Min[t$95$3, t$95$8], $MachinePrecision]}, Block[{t$95$14 = N[Max[t$95$2, t$95$9], $MachinePrecision]}, Block[{t$95$15 = N[Sqrt[t$95$14], $MachinePrecision]}, Block[{t$95$16 = N[(N[Sqrt[N[(t$95$14 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$15), $MachinePrecision]}, Block[{t$95$17 = N[Sqrt[t$95$13], $MachinePrecision]}, Block[{t$95$18 = N[(N[(N[(N[(N[Sqrt[N[(t$95$5 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$6), $MachinePrecision] + N[(N[Sqrt[N[(t$95$13 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$17), $MachinePrecision]), $MachinePrecision] + t$95$12), $MachinePrecision] + t$95$16), $MachinePrecision]}, If[LessEqual[t$95$18, 1e-5], N[(N[(N[(0.5 / N[(t$95$5 * N[Sqrt[N[(1.0 / t$95$5), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$12), $MachinePrecision] + t$95$16), $MachinePrecision], If[LessEqual[t$95$18, 2.9995], N[(t$95$7 - N[(N[(t$95$17 - N[Sqrt[N[(t$95$13 - -1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] - N[(1.0 / N[(t$95$11 + N[Sqrt[N[(1.0 + t$95$10), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(t$95$7 - N[(-1.0 / N[(1.0 + t$95$17), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(t$95$11 - N[Sqrt[N[(t$95$10 - -1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] - N[(N[Sqrt[N[(t$95$14 - -1.0), $MachinePrecision]], $MachinePrecision] - t$95$15), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
t_1 := \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\\
t_2 := \mathsf{max}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\
t_3 := \mathsf{min}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\
t_4 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\
t_5 := \mathsf{min}\left(t\_4, t\right)\\
t_6 := \sqrt{t\_5}\\
t_7 := \sqrt{t\_5 - -1} - t\_6\\
t_8 := \mathsf{max}\left(t\_4, t\right)\\
t_9 := \mathsf{max}\left(t\_3, t\_8\right)\\
t_10 := \mathsf{min}\left(t\_2, t\_9\right)\\
t_11 := \sqrt{t\_10}\\
t_12 := \sqrt{t\_10 + 1} - t\_11\\
t_13 := \mathsf{min}\left(t\_3, t\_8\right)\\
t_14 := \mathsf{max}\left(t\_2, t\_9\right)\\
t_15 := \sqrt{t\_14}\\
t_16 := \sqrt{t\_14 + 1} - t\_15\\
t_17 := \sqrt{t\_13}\\
t_18 := \left(\left(\left(\sqrt{t\_5 + 1} - t\_6\right) + \left(\sqrt{t\_13 + 1} - t\_17\right)\right) + t\_12\right) + t\_16\\
\mathbf{if}\;t\_18 \leq 10^{-5}:\\
\;\;\;\;\left(\frac{0.5}{t\_5 \cdot \sqrt{\frac{1}{t\_5}}} + t\_12\right) + t\_16\\

\mathbf{elif}\;t\_18 \leq 2.9995:\\
\;\;\;\;t\_7 - \left(\left(t\_17 - \sqrt{t\_13 - -1}\right) - \frac{1}{t\_11 + \sqrt{1 + t\_10}}\right)\\

\mathbf{else}:\\
\;\;\;\;\left(t\_7 - \frac{-1}{1 + t\_17}\right) - \left(\left(t\_11 - \sqrt{t\_10 - -1}\right) - \left(\sqrt{t\_14 - -1} - t\_15\right)\right)\\


\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t))) < 1.00000000000000008e-5

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Taylor expanded in y around inf

      \[\leadsto \left(\color{blue}{\left(\sqrt{1 + x} - \sqrt{x}\right)} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \color{blue}{\sqrt{x}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-sqrt.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{\color{blue}{x}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-+.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{x}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-sqrt.f6450.9

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{x}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Applied rewrites50.9%

      \[\leadsto \left(\color{blue}{\left(\sqrt{1 + x} - \sqrt{x}\right)} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. Taylor expanded in x around inf

      \[\leadsto \left(\frac{\frac{1}{2}}{\color{blue}{x \cdot \sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \color{blue}{\sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-*.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-sqrt.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-/.f6426.6

        \[\leadsto \left(\frac{0.5}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. Applied rewrites26.6%

      \[\leadsto \left(\frac{0.5}{\color{blue}{x \cdot \sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]

    if 1.00000000000000008e-5 < (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t))) < 2.99949999999999983

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Step-by-step derivation
      1. lift--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\left(\sqrt{z + 1} - \sqrt{z}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. flip--N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\frac{\sqrt{z + 1} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-unsound-/.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\frac{\sqrt{z + 1} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-unsound--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. lower-unsound-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1} \cdot \sqrt{z + 1}} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. lower-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1} \cdot \sqrt{z + 1}} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1}} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      8. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\sqrt{z + 1} \cdot \color{blue}{\sqrt{z + 1}} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      9. rem-square-sqrtN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z + 1\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      10. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z + 1\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      11. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      12. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      13. metadata-evalN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - \color{blue}{-1}\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      14. lower-unsound-*.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \color{blue}{\sqrt{z} \cdot \sqrt{z}}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      15. lower-unsound-+.f6473.6

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\color{blue}{\sqrt{z + 1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      16. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{\color{blue}{z + 1}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      17. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{\color{blue}{z - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      18. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{\color{blue}{z - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      19. metadata-eval73.6

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z - \color{blue}{-1}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Applied rewrites73.6%

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z - -1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Applied rewrites92.1%

      \[\leadsto \color{blue}{\left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \left(\frac{\left(z - -1\right) - z}{\sqrt{z - -1} + \sqrt{z}} - \left(\sqrt{t} - \sqrt{t - -1}\right)\right)\right)} \]
    5. Taylor expanded in t around inf

      \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \color{blue}{\frac{1}{\sqrt{z} + \sqrt{1 + z}}}\right) \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \frac{1}{\color{blue}{\sqrt{z} + \sqrt{1 + z}}}\right) \]
      2. lower-+.f64N/A

        \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \frac{1}{\sqrt{z} + \color{blue}{\sqrt{1 + z}}}\right) \]
      3. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \frac{1}{\sqrt{z} + \sqrt{\color{blue}{1 + z}}}\right) \]
      4. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \frac{1}{\sqrt{z} + \sqrt{1 + z}}\right) \]
      5. lower-+.f6452.9

        \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \frac{1}{\sqrt{z} + \sqrt{1 + z}}\right) \]
    7. Applied rewrites52.9%

      \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \color{blue}{\frac{1}{\sqrt{z} + \sqrt{1 + z}}}\right) \]

    if 2.99949999999999983 < (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t)))

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Step-by-step derivation
      1. lift--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\left(\sqrt{y + 1} - \sqrt{y}\right)}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. flip--N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-unsound-/.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-unsound--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. lower-unsound-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. lower-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1}} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      8. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\sqrt{y + 1} \cdot \color{blue}{\sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      9. rem-square-sqrtN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y + 1\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      10. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y + 1\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      11. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      12. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      13. metadata-evalN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - \color{blue}{-1}\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      14. lower-unsound-*.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \color{blue}{\sqrt{y} \cdot \sqrt{y}}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      15. lower-unsound-+.f6472.8

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\color{blue}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      16. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y + 1}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      17. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      18. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      19. metadata-eval72.8

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - \color{blue}{-1}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Applied rewrites72.8%

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right)} \]
      2. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. add-flipN/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. associate-+l-N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right) - \left(\sqrt{t + 1} - \sqrt{t}\right)\right)} \]
      5. lower--.f64N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right) - \left(\sqrt{t + 1} - \sqrt{t}\right)\right)} \]
    5. Applied rewrites92.1%

      \[\leadsto \color{blue}{\left(\left(\sqrt{x - -1} - \sqrt{x}\right) - \frac{y - \left(y - -1\right)}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right)} \]
    6. Taylor expanded in y around 0

      \[\leadsto \left(\left(\sqrt{x - -1} - \sqrt{x}\right) - \color{blue}{\frac{-1}{1 + \sqrt{y}}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
    7. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \left(\left(\sqrt{x - -1} - \sqrt{x}\right) - \frac{-1}{\color{blue}{1 + \sqrt{y}}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      2. lower-+.f64N/A

        \[\leadsto \left(\left(\sqrt{x - -1} - \sqrt{x}\right) - \frac{-1}{1 + \color{blue}{\sqrt{y}}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      3. lower-sqrt.f6490.3

        \[\leadsto \left(\left(\sqrt{x - -1} - \sqrt{x}\right) - \frac{-1}{1 + \sqrt{y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
    8. Applied rewrites90.3%

      \[\leadsto \left(\left(\sqrt{x - -1} - \sqrt{x}\right) - \color{blue}{\frac{-1}{1 + \sqrt{y}}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
  3. Recombined 3 regimes into one program.
  4. Add Preprocessing

Alternative 5: 96.9% accurate, 0.1× speedup?

\[\begin{array}{l} t_1 := \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\\ t_2 := \mathsf{max}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\ t_3 := \mathsf{min}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\ t_4 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\ t_5 := \mathsf{min}\left(t\_4, t\right)\\ t_6 := \sqrt{t\_5 - -1}\\ t_7 := \sqrt{t\_5}\\ t_8 := \mathsf{max}\left(t\_4, t\right)\\ t_9 := \mathsf{max}\left(t\_3, t\_8\right)\\ t_10 := \mathsf{min}\left(t\_2, t\_9\right)\\ t_11 := \sqrt{t\_10}\\ t_12 := \sqrt{t\_10 + 1} - t\_11\\ t_13 := \mathsf{min}\left(t\_3, t\_8\right)\\ t_14 := \mathsf{max}\left(t\_2, t\_9\right)\\ t_15 := \sqrt{t\_14 + 1} - \sqrt{t\_14}\\ t_16 := \sqrt{t\_13}\\ t_17 := \left(\left(\left(\sqrt{t\_5 + 1} - t\_7\right) + \left(\sqrt{t\_13 + 1} - t\_16\right)\right) + t\_12\right) + t\_15\\ \mathbf{if}\;t\_17 \leq 10^{-5}:\\ \;\;\;\;\left(\frac{0.5}{t\_5 \cdot \sqrt{\frac{1}{t\_5}}} + t\_12\right) + t\_15\\ \mathbf{elif}\;t\_17 \leq 2.9995:\\ \;\;\;\;\left(t\_6 - t\_7\right) - \left(\left(t\_16 - \sqrt{t\_13 - -1}\right) - \frac{1}{t\_11 + \sqrt{1 + t\_10}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(\left(\sqrt{t\_10 - -1} - t\_11\right) + t\_6\right) - \left(t\_7 - 1\right)\right) - t\_16\right) + t\_15\\ \end{array} \]
(FPCore (x y z t)
 :precision binary64
 (let* ((t_1 (fmax (fmin x y) z))
        (t_2 (fmax (fmax x y) t_1))
        (t_3 (fmin (fmax x y) t_1))
        (t_4 (fmin (fmin x y) z))
        (t_5 (fmin t_4 t))
        (t_6 (sqrt (- t_5 -1.0)))
        (t_7 (sqrt t_5))
        (t_8 (fmax t_4 t))
        (t_9 (fmax t_3 t_8))
        (t_10 (fmin t_2 t_9))
        (t_11 (sqrt t_10))
        (t_12 (- (sqrt (+ t_10 1.0)) t_11))
        (t_13 (fmin t_3 t_8))
        (t_14 (fmax t_2 t_9))
        (t_15 (- (sqrt (+ t_14 1.0)) (sqrt t_14)))
        (t_16 (sqrt t_13))
        (t_17
         (+
          (+ (+ (- (sqrt (+ t_5 1.0)) t_7) (- (sqrt (+ t_13 1.0)) t_16)) t_12)
          t_15)))
   (if (<= t_17 1e-5)
     (+ (+ (/ 0.5 (* t_5 (sqrt (/ 1.0 t_5)))) t_12) t_15)
     (if (<= t_17 2.9995)
       (-
        (- t_6 t_7)
        (- (- t_16 (sqrt (- t_13 -1.0))) (/ 1.0 (+ t_11 (sqrt (+ 1.0 t_10))))))
       (+
        (- (- (+ (- (sqrt (- t_10 -1.0)) t_11) t_6) (- t_7 1.0)) t_16)
        t_15)))))
double code(double x, double y, double z, double t) {
	double t_1 = fmax(fmin(x, y), z);
	double t_2 = fmax(fmax(x, y), t_1);
	double t_3 = fmin(fmax(x, y), t_1);
	double t_4 = fmin(fmin(x, y), z);
	double t_5 = fmin(t_4, t);
	double t_6 = sqrt((t_5 - -1.0));
	double t_7 = sqrt(t_5);
	double t_8 = fmax(t_4, t);
	double t_9 = fmax(t_3, t_8);
	double t_10 = fmin(t_2, t_9);
	double t_11 = sqrt(t_10);
	double t_12 = sqrt((t_10 + 1.0)) - t_11;
	double t_13 = fmin(t_3, t_8);
	double t_14 = fmax(t_2, t_9);
	double t_15 = sqrt((t_14 + 1.0)) - sqrt(t_14);
	double t_16 = sqrt(t_13);
	double t_17 = (((sqrt((t_5 + 1.0)) - t_7) + (sqrt((t_13 + 1.0)) - t_16)) + t_12) + t_15;
	double tmp;
	if (t_17 <= 1e-5) {
		tmp = ((0.5 / (t_5 * sqrt((1.0 / t_5)))) + t_12) + t_15;
	} else if (t_17 <= 2.9995) {
		tmp = (t_6 - t_7) - ((t_16 - sqrt((t_13 - -1.0))) - (1.0 / (t_11 + sqrt((1.0 + t_10)))));
	} else {
		tmp = ((((sqrt((t_10 - -1.0)) - t_11) + t_6) - (t_7 - 1.0)) - t_16) + t_15;
	}
	return tmp;
}
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, z, t)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8) :: t_1
    real(8) :: t_10
    real(8) :: t_11
    real(8) :: t_12
    real(8) :: t_13
    real(8) :: t_14
    real(8) :: t_15
    real(8) :: t_16
    real(8) :: t_17
    real(8) :: t_2
    real(8) :: t_3
    real(8) :: t_4
    real(8) :: t_5
    real(8) :: t_6
    real(8) :: t_7
    real(8) :: t_8
    real(8) :: t_9
    real(8) :: tmp
    t_1 = fmax(fmin(x, y), z)
    t_2 = fmax(fmax(x, y), t_1)
    t_3 = fmin(fmax(x, y), t_1)
    t_4 = fmin(fmin(x, y), z)
    t_5 = fmin(t_4, t)
    t_6 = sqrt((t_5 - (-1.0d0)))
    t_7 = sqrt(t_5)
    t_8 = fmax(t_4, t)
    t_9 = fmax(t_3, t_8)
    t_10 = fmin(t_2, t_9)
    t_11 = sqrt(t_10)
    t_12 = sqrt((t_10 + 1.0d0)) - t_11
    t_13 = fmin(t_3, t_8)
    t_14 = fmax(t_2, t_9)
    t_15 = sqrt((t_14 + 1.0d0)) - sqrt(t_14)
    t_16 = sqrt(t_13)
    t_17 = (((sqrt((t_5 + 1.0d0)) - t_7) + (sqrt((t_13 + 1.0d0)) - t_16)) + t_12) + t_15
    if (t_17 <= 1d-5) then
        tmp = ((0.5d0 / (t_5 * sqrt((1.0d0 / t_5)))) + t_12) + t_15
    else if (t_17 <= 2.9995d0) then
        tmp = (t_6 - t_7) - ((t_16 - sqrt((t_13 - (-1.0d0)))) - (1.0d0 / (t_11 + sqrt((1.0d0 + t_10)))))
    else
        tmp = ((((sqrt((t_10 - (-1.0d0))) - t_11) + t_6) - (t_7 - 1.0d0)) - t_16) + t_15
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t) {
	double t_1 = fmax(fmin(x, y), z);
	double t_2 = fmax(fmax(x, y), t_1);
	double t_3 = fmin(fmax(x, y), t_1);
	double t_4 = fmin(fmin(x, y), z);
	double t_5 = fmin(t_4, t);
	double t_6 = Math.sqrt((t_5 - -1.0));
	double t_7 = Math.sqrt(t_5);
	double t_8 = fmax(t_4, t);
	double t_9 = fmax(t_3, t_8);
	double t_10 = fmin(t_2, t_9);
	double t_11 = Math.sqrt(t_10);
	double t_12 = Math.sqrt((t_10 + 1.0)) - t_11;
	double t_13 = fmin(t_3, t_8);
	double t_14 = fmax(t_2, t_9);
	double t_15 = Math.sqrt((t_14 + 1.0)) - Math.sqrt(t_14);
	double t_16 = Math.sqrt(t_13);
	double t_17 = (((Math.sqrt((t_5 + 1.0)) - t_7) + (Math.sqrt((t_13 + 1.0)) - t_16)) + t_12) + t_15;
	double tmp;
	if (t_17 <= 1e-5) {
		tmp = ((0.5 / (t_5 * Math.sqrt((1.0 / t_5)))) + t_12) + t_15;
	} else if (t_17 <= 2.9995) {
		tmp = (t_6 - t_7) - ((t_16 - Math.sqrt((t_13 - -1.0))) - (1.0 / (t_11 + Math.sqrt((1.0 + t_10)))));
	} else {
		tmp = ((((Math.sqrt((t_10 - -1.0)) - t_11) + t_6) - (t_7 - 1.0)) - t_16) + t_15;
	}
	return tmp;
}
def code(x, y, z, t):
	t_1 = fmax(fmin(x, y), z)
	t_2 = fmax(fmax(x, y), t_1)
	t_3 = fmin(fmax(x, y), t_1)
	t_4 = fmin(fmin(x, y), z)
	t_5 = fmin(t_4, t)
	t_6 = math.sqrt((t_5 - -1.0))
	t_7 = math.sqrt(t_5)
	t_8 = fmax(t_4, t)
	t_9 = fmax(t_3, t_8)
	t_10 = fmin(t_2, t_9)
	t_11 = math.sqrt(t_10)
	t_12 = math.sqrt((t_10 + 1.0)) - t_11
	t_13 = fmin(t_3, t_8)
	t_14 = fmax(t_2, t_9)
	t_15 = math.sqrt((t_14 + 1.0)) - math.sqrt(t_14)
	t_16 = math.sqrt(t_13)
	t_17 = (((math.sqrt((t_5 + 1.0)) - t_7) + (math.sqrt((t_13 + 1.0)) - t_16)) + t_12) + t_15
	tmp = 0
	if t_17 <= 1e-5:
		tmp = ((0.5 / (t_5 * math.sqrt((1.0 / t_5)))) + t_12) + t_15
	elif t_17 <= 2.9995:
		tmp = (t_6 - t_7) - ((t_16 - math.sqrt((t_13 - -1.0))) - (1.0 / (t_11 + math.sqrt((1.0 + t_10)))))
	else:
		tmp = ((((math.sqrt((t_10 - -1.0)) - t_11) + t_6) - (t_7 - 1.0)) - t_16) + t_15
	return tmp
function code(x, y, z, t)
	t_1 = fmax(fmin(x, y), z)
	t_2 = fmax(fmax(x, y), t_1)
	t_3 = fmin(fmax(x, y), t_1)
	t_4 = fmin(fmin(x, y), z)
	t_5 = fmin(t_4, t)
	t_6 = sqrt(Float64(t_5 - -1.0))
	t_7 = sqrt(t_5)
	t_8 = fmax(t_4, t)
	t_9 = fmax(t_3, t_8)
	t_10 = fmin(t_2, t_9)
	t_11 = sqrt(t_10)
	t_12 = Float64(sqrt(Float64(t_10 + 1.0)) - t_11)
	t_13 = fmin(t_3, t_8)
	t_14 = fmax(t_2, t_9)
	t_15 = Float64(sqrt(Float64(t_14 + 1.0)) - sqrt(t_14))
	t_16 = sqrt(t_13)
	t_17 = Float64(Float64(Float64(Float64(sqrt(Float64(t_5 + 1.0)) - t_7) + Float64(sqrt(Float64(t_13 + 1.0)) - t_16)) + t_12) + t_15)
	tmp = 0.0
	if (t_17 <= 1e-5)
		tmp = Float64(Float64(Float64(0.5 / Float64(t_5 * sqrt(Float64(1.0 / t_5)))) + t_12) + t_15);
	elseif (t_17 <= 2.9995)
		tmp = Float64(Float64(t_6 - t_7) - Float64(Float64(t_16 - sqrt(Float64(t_13 - -1.0))) - Float64(1.0 / Float64(t_11 + sqrt(Float64(1.0 + t_10))))));
	else
		tmp = Float64(Float64(Float64(Float64(Float64(sqrt(Float64(t_10 - -1.0)) - t_11) + t_6) - Float64(t_7 - 1.0)) - t_16) + t_15);
	end
	return tmp
end
function tmp_2 = code(x, y, z, t)
	t_1 = max(min(x, y), z);
	t_2 = max(max(x, y), t_1);
	t_3 = min(max(x, y), t_1);
	t_4 = min(min(x, y), z);
	t_5 = min(t_4, t);
	t_6 = sqrt((t_5 - -1.0));
	t_7 = sqrt(t_5);
	t_8 = max(t_4, t);
	t_9 = max(t_3, t_8);
	t_10 = min(t_2, t_9);
	t_11 = sqrt(t_10);
	t_12 = sqrt((t_10 + 1.0)) - t_11;
	t_13 = min(t_3, t_8);
	t_14 = max(t_2, t_9);
	t_15 = sqrt((t_14 + 1.0)) - sqrt(t_14);
	t_16 = sqrt(t_13);
	t_17 = (((sqrt((t_5 + 1.0)) - t_7) + (sqrt((t_13 + 1.0)) - t_16)) + t_12) + t_15;
	tmp = 0.0;
	if (t_17 <= 1e-5)
		tmp = ((0.5 / (t_5 * sqrt((1.0 / t_5)))) + t_12) + t_15;
	elseif (t_17 <= 2.9995)
		tmp = (t_6 - t_7) - ((t_16 - sqrt((t_13 - -1.0))) - (1.0 / (t_11 + sqrt((1.0 + t_10)))));
	else
		tmp = ((((sqrt((t_10 - -1.0)) - t_11) + t_6) - (t_7 - 1.0)) - t_16) + t_15;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[Max[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, Block[{t$95$2 = N[Max[N[Max[x, y], $MachinePrecision], t$95$1], $MachinePrecision]}, Block[{t$95$3 = N[Min[N[Max[x, y], $MachinePrecision], t$95$1], $MachinePrecision]}, Block[{t$95$4 = N[Min[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, Block[{t$95$5 = N[Min[t$95$4, t], $MachinePrecision]}, Block[{t$95$6 = N[Sqrt[N[(t$95$5 - -1.0), $MachinePrecision]], $MachinePrecision]}, Block[{t$95$7 = N[Sqrt[t$95$5], $MachinePrecision]}, Block[{t$95$8 = N[Max[t$95$4, t], $MachinePrecision]}, Block[{t$95$9 = N[Max[t$95$3, t$95$8], $MachinePrecision]}, Block[{t$95$10 = N[Min[t$95$2, t$95$9], $MachinePrecision]}, Block[{t$95$11 = N[Sqrt[t$95$10], $MachinePrecision]}, Block[{t$95$12 = N[(N[Sqrt[N[(t$95$10 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$11), $MachinePrecision]}, Block[{t$95$13 = N[Min[t$95$3, t$95$8], $MachinePrecision]}, Block[{t$95$14 = N[Max[t$95$2, t$95$9], $MachinePrecision]}, Block[{t$95$15 = N[(N[Sqrt[N[(t$95$14 + 1.0), $MachinePrecision]], $MachinePrecision] - N[Sqrt[t$95$14], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$16 = N[Sqrt[t$95$13], $MachinePrecision]}, Block[{t$95$17 = N[(N[(N[(N[(N[Sqrt[N[(t$95$5 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$7), $MachinePrecision] + N[(N[Sqrt[N[(t$95$13 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$16), $MachinePrecision]), $MachinePrecision] + t$95$12), $MachinePrecision] + t$95$15), $MachinePrecision]}, If[LessEqual[t$95$17, 1e-5], N[(N[(N[(0.5 / N[(t$95$5 * N[Sqrt[N[(1.0 / t$95$5), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$12), $MachinePrecision] + t$95$15), $MachinePrecision], If[LessEqual[t$95$17, 2.9995], N[(N[(t$95$6 - t$95$7), $MachinePrecision] - N[(N[(t$95$16 - N[Sqrt[N[(t$95$13 - -1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] - N[(1.0 / N[(t$95$11 + N[Sqrt[N[(1.0 + t$95$10), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(N[(N[(N[Sqrt[N[(t$95$10 - -1.0), $MachinePrecision]], $MachinePrecision] - t$95$11), $MachinePrecision] + t$95$6), $MachinePrecision] - N[(t$95$7 - 1.0), $MachinePrecision]), $MachinePrecision] - t$95$16), $MachinePrecision] + t$95$15), $MachinePrecision]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
t_1 := \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\\
t_2 := \mathsf{max}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\
t_3 := \mathsf{min}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\
t_4 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\
t_5 := \mathsf{min}\left(t\_4, t\right)\\
t_6 := \sqrt{t\_5 - -1}\\
t_7 := \sqrt{t\_5}\\
t_8 := \mathsf{max}\left(t\_4, t\right)\\
t_9 := \mathsf{max}\left(t\_3, t\_8\right)\\
t_10 := \mathsf{min}\left(t\_2, t\_9\right)\\
t_11 := \sqrt{t\_10}\\
t_12 := \sqrt{t\_10 + 1} - t\_11\\
t_13 := \mathsf{min}\left(t\_3, t\_8\right)\\
t_14 := \mathsf{max}\left(t\_2, t\_9\right)\\
t_15 := \sqrt{t\_14 + 1} - \sqrt{t\_14}\\
t_16 := \sqrt{t\_13}\\
t_17 := \left(\left(\left(\sqrt{t\_5 + 1} - t\_7\right) + \left(\sqrt{t\_13 + 1} - t\_16\right)\right) + t\_12\right) + t\_15\\
\mathbf{if}\;t\_17 \leq 10^{-5}:\\
\;\;\;\;\left(\frac{0.5}{t\_5 \cdot \sqrt{\frac{1}{t\_5}}} + t\_12\right) + t\_15\\

\mathbf{elif}\;t\_17 \leq 2.9995:\\
\;\;\;\;\left(t\_6 - t\_7\right) - \left(\left(t\_16 - \sqrt{t\_13 - -1}\right) - \frac{1}{t\_11 + \sqrt{1 + t\_10}}\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(\sqrt{t\_10 - -1} - t\_11\right) + t\_6\right) - \left(t\_7 - 1\right)\right) - t\_16\right) + t\_15\\


\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t))) < 1.00000000000000008e-5

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Taylor expanded in y around inf

      \[\leadsto \left(\color{blue}{\left(\sqrt{1 + x} - \sqrt{x}\right)} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \color{blue}{\sqrt{x}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-sqrt.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{\color{blue}{x}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-+.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{x}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-sqrt.f6450.9

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{x}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Applied rewrites50.9%

      \[\leadsto \left(\color{blue}{\left(\sqrt{1 + x} - \sqrt{x}\right)} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. Taylor expanded in x around inf

      \[\leadsto \left(\frac{\frac{1}{2}}{\color{blue}{x \cdot \sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \color{blue}{\sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-*.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-sqrt.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-/.f6426.6

        \[\leadsto \left(\frac{0.5}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. Applied rewrites26.6%

      \[\leadsto \left(\frac{0.5}{\color{blue}{x \cdot \sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]

    if 1.00000000000000008e-5 < (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t))) < 2.99949999999999983

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Step-by-step derivation
      1. lift--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\left(\sqrt{z + 1} - \sqrt{z}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. flip--N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\frac{\sqrt{z + 1} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-unsound-/.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\frac{\sqrt{z + 1} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-unsound--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. lower-unsound-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1} \cdot \sqrt{z + 1}} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. lower-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1} \cdot \sqrt{z + 1}} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1}} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      8. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\sqrt{z + 1} \cdot \color{blue}{\sqrt{z + 1}} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      9. rem-square-sqrtN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z + 1\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      10. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z + 1\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      11. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      12. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      13. metadata-evalN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - \color{blue}{-1}\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      14. lower-unsound-*.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \color{blue}{\sqrt{z} \cdot \sqrt{z}}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      15. lower-unsound-+.f6473.6

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\color{blue}{\sqrt{z + 1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      16. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{\color{blue}{z + 1}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      17. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{\color{blue}{z - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      18. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{\color{blue}{z - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      19. metadata-eval73.6

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z - \color{blue}{-1}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Applied rewrites73.6%

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z - -1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Applied rewrites92.1%

      \[\leadsto \color{blue}{\left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \left(\frac{\left(z - -1\right) - z}{\sqrt{z - -1} + \sqrt{z}} - \left(\sqrt{t} - \sqrt{t - -1}\right)\right)\right)} \]
    5. Taylor expanded in t around inf

      \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \color{blue}{\frac{1}{\sqrt{z} + \sqrt{1 + z}}}\right) \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \frac{1}{\color{blue}{\sqrt{z} + \sqrt{1 + z}}}\right) \]
      2. lower-+.f64N/A

        \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \frac{1}{\sqrt{z} + \color{blue}{\sqrt{1 + z}}}\right) \]
      3. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \frac{1}{\sqrt{z} + \sqrt{\color{blue}{1 + z}}}\right) \]
      4. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \frac{1}{\sqrt{z} + \sqrt{1 + z}}\right) \]
      5. lower-+.f6452.9

        \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \frac{1}{\sqrt{z} + \sqrt{1 + z}}\right) \]
    7. Applied rewrites52.9%

      \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \color{blue}{\frac{1}{\sqrt{z} + \sqrt{1 + z}}}\right) \]

    if 2.99949999999999983 < (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t)))

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. +-commutativeN/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lift-+.f64N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lift--.f64N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \left(\color{blue}{\left(\sqrt{x + 1} - \sqrt{x}\right)} + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. associate-+l-N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \color{blue}{\left(\sqrt{x + 1} - \left(\sqrt{x} - \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. associate-+r-N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lift--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \color{blue}{\left(\sqrt{y + 1} - \sqrt{y}\right)}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      8. associate--r-N/A

        \[\leadsto \left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \color{blue}{\left(\left(\sqrt{x} - \sqrt{y + 1}\right) + \sqrt{y}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      9. associate--r+N/A

        \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \sqrt{y + 1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      10. lower--.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \sqrt{y + 1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Applied rewrites37.7%

      \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z - -1} - \sqrt{z}\right) + \sqrt{x - -1}\right) - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Taylor expanded in y around 0

      \[\leadsto \left(\left(\left(\left(\sqrt{z - -1} - \sqrt{z}\right) + \sqrt{x - -1}\right) - \color{blue}{\left(\sqrt{x} - 1\right)}\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(\left(\left(\sqrt{z - -1} - \sqrt{z}\right) + \sqrt{x - -1}\right) - \left(\sqrt{x} - \color{blue}{1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-sqrt.f6429.1

        \[\leadsto \left(\left(\left(\left(\sqrt{z - -1} - \sqrt{z}\right) + \sqrt{x - -1}\right) - \left(\sqrt{x} - 1\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. Applied rewrites29.1%

      \[\leadsto \left(\left(\left(\left(\sqrt{z - -1} - \sqrt{z}\right) + \sqrt{x - -1}\right) - \color{blue}{\left(\sqrt{x} - 1\right)}\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
  3. Recombined 3 regimes into one program.
  4. Add Preprocessing

Alternative 6: 96.9% accurate, 0.1× speedup?

\[\begin{array}{l} t_1 := \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\\ t_2 := \mathsf{max}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\ t_3 := \mathsf{min}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\ t_4 := \sqrt{t\_3}\\ t_5 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\ t_6 := \mathsf{max}\left(t\_5, t\right)\\ t_7 := \mathsf{min}\left(t\_2, t\_6\right)\\ t_8 := \sqrt{t\_7}\\ t_9 := \mathsf{max}\left(t\_2, t\_6\right)\\ t_10 := \sqrt{t\_9 + 1} - \sqrt{t\_9}\\ t_11 := \mathsf{min}\left(t\_5, t\right)\\ t_12 := \sqrt{t\_11}\\ t_13 := \sqrt{t\_7 + 1} - t\_8\\ t_14 := \left(\left(\left(\sqrt{t\_11 + 1} - t\_12\right) + \left(\sqrt{t\_3 + 1} - t\_4\right)\right) + t\_13\right) + t\_10\\ \mathbf{if}\;t\_14 \leq 10^{-5}:\\ \;\;\;\;\left(\frac{0.5}{t\_11 \cdot \sqrt{\frac{1}{t\_11}}} + t\_13\right) + t\_10\\ \mathbf{elif}\;t\_14 \leq 2.999995:\\ \;\;\;\;\left(\sqrt{t\_11 - -1} - t\_12\right) - \left(\left(t\_4 - \sqrt{t\_3 - -1}\right) - \frac{1}{t\_8 + \sqrt{1 + t\_7}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(1 + \sqrt{1 + t\_3}\right) - \left(t\_12 + t\_4\right)\right) + \left(1 - t\_8\right)\right) + t\_10\\ \end{array} \]
(FPCore (x y z t)
 :precision binary64
 (let* ((t_1 (fmax (fmin x y) z))
        (t_2 (fmax (fmax x y) t_1))
        (t_3 (fmin (fmax x y) t_1))
        (t_4 (sqrt t_3))
        (t_5 (fmin (fmin x y) z))
        (t_6 (fmax t_5 t))
        (t_7 (fmin t_2 t_6))
        (t_8 (sqrt t_7))
        (t_9 (fmax t_2 t_6))
        (t_10 (- (sqrt (+ t_9 1.0)) (sqrt t_9)))
        (t_11 (fmin t_5 t))
        (t_12 (sqrt t_11))
        (t_13 (- (sqrt (+ t_7 1.0)) t_8))
        (t_14
         (+
          (+ (+ (- (sqrt (+ t_11 1.0)) t_12) (- (sqrt (+ t_3 1.0)) t_4)) t_13)
          t_10)))
   (if (<= t_14 1e-5)
     (+ (+ (/ 0.5 (* t_11 (sqrt (/ 1.0 t_11)))) t_13) t_10)
     (if (<= t_14 2.999995)
       (-
        (- (sqrt (- t_11 -1.0)) t_12)
        (- (- t_4 (sqrt (- t_3 -1.0))) (/ 1.0 (+ t_8 (sqrt (+ 1.0 t_7))))))
       (+ (+ (- (+ 1.0 (sqrt (+ 1.0 t_3))) (+ t_12 t_4)) (- 1.0 t_8)) t_10)))))
double code(double x, double y, double z, double t) {
	double t_1 = fmax(fmin(x, y), z);
	double t_2 = fmax(fmax(x, y), t_1);
	double t_3 = fmin(fmax(x, y), t_1);
	double t_4 = sqrt(t_3);
	double t_5 = fmin(fmin(x, y), z);
	double t_6 = fmax(t_5, t);
	double t_7 = fmin(t_2, t_6);
	double t_8 = sqrt(t_7);
	double t_9 = fmax(t_2, t_6);
	double t_10 = sqrt((t_9 + 1.0)) - sqrt(t_9);
	double t_11 = fmin(t_5, t);
	double t_12 = sqrt(t_11);
	double t_13 = sqrt((t_7 + 1.0)) - t_8;
	double t_14 = (((sqrt((t_11 + 1.0)) - t_12) + (sqrt((t_3 + 1.0)) - t_4)) + t_13) + t_10;
	double tmp;
	if (t_14 <= 1e-5) {
		tmp = ((0.5 / (t_11 * sqrt((1.0 / t_11)))) + t_13) + t_10;
	} else if (t_14 <= 2.999995) {
		tmp = (sqrt((t_11 - -1.0)) - t_12) - ((t_4 - sqrt((t_3 - -1.0))) - (1.0 / (t_8 + sqrt((1.0 + t_7)))));
	} else {
		tmp = (((1.0 + sqrt((1.0 + t_3))) - (t_12 + t_4)) + (1.0 - t_8)) + t_10;
	}
	return tmp;
}
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, z, t)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8) :: t_1
    real(8) :: t_10
    real(8) :: t_11
    real(8) :: t_12
    real(8) :: t_13
    real(8) :: t_14
    real(8) :: t_2
    real(8) :: t_3
    real(8) :: t_4
    real(8) :: t_5
    real(8) :: t_6
    real(8) :: t_7
    real(8) :: t_8
    real(8) :: t_9
    real(8) :: tmp
    t_1 = fmax(fmin(x, y), z)
    t_2 = fmax(fmax(x, y), t_1)
    t_3 = fmin(fmax(x, y), t_1)
    t_4 = sqrt(t_3)
    t_5 = fmin(fmin(x, y), z)
    t_6 = fmax(t_5, t)
    t_7 = fmin(t_2, t_6)
    t_8 = sqrt(t_7)
    t_9 = fmax(t_2, t_6)
    t_10 = sqrt((t_9 + 1.0d0)) - sqrt(t_9)
    t_11 = fmin(t_5, t)
    t_12 = sqrt(t_11)
    t_13 = sqrt((t_7 + 1.0d0)) - t_8
    t_14 = (((sqrt((t_11 + 1.0d0)) - t_12) + (sqrt((t_3 + 1.0d0)) - t_4)) + t_13) + t_10
    if (t_14 <= 1d-5) then
        tmp = ((0.5d0 / (t_11 * sqrt((1.0d0 / t_11)))) + t_13) + t_10
    else if (t_14 <= 2.999995d0) then
        tmp = (sqrt((t_11 - (-1.0d0))) - t_12) - ((t_4 - sqrt((t_3 - (-1.0d0)))) - (1.0d0 / (t_8 + sqrt((1.0d0 + t_7)))))
    else
        tmp = (((1.0d0 + sqrt((1.0d0 + t_3))) - (t_12 + t_4)) + (1.0d0 - t_8)) + t_10
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t) {
	double t_1 = fmax(fmin(x, y), z);
	double t_2 = fmax(fmax(x, y), t_1);
	double t_3 = fmin(fmax(x, y), t_1);
	double t_4 = Math.sqrt(t_3);
	double t_5 = fmin(fmin(x, y), z);
	double t_6 = fmax(t_5, t);
	double t_7 = fmin(t_2, t_6);
	double t_8 = Math.sqrt(t_7);
	double t_9 = fmax(t_2, t_6);
	double t_10 = Math.sqrt((t_9 + 1.0)) - Math.sqrt(t_9);
	double t_11 = fmin(t_5, t);
	double t_12 = Math.sqrt(t_11);
	double t_13 = Math.sqrt((t_7 + 1.0)) - t_8;
	double t_14 = (((Math.sqrt((t_11 + 1.0)) - t_12) + (Math.sqrt((t_3 + 1.0)) - t_4)) + t_13) + t_10;
	double tmp;
	if (t_14 <= 1e-5) {
		tmp = ((0.5 / (t_11 * Math.sqrt((1.0 / t_11)))) + t_13) + t_10;
	} else if (t_14 <= 2.999995) {
		tmp = (Math.sqrt((t_11 - -1.0)) - t_12) - ((t_4 - Math.sqrt((t_3 - -1.0))) - (1.0 / (t_8 + Math.sqrt((1.0 + t_7)))));
	} else {
		tmp = (((1.0 + Math.sqrt((1.0 + t_3))) - (t_12 + t_4)) + (1.0 - t_8)) + t_10;
	}
	return tmp;
}
def code(x, y, z, t):
	t_1 = fmax(fmin(x, y), z)
	t_2 = fmax(fmax(x, y), t_1)
	t_3 = fmin(fmax(x, y), t_1)
	t_4 = math.sqrt(t_3)
	t_5 = fmin(fmin(x, y), z)
	t_6 = fmax(t_5, t)
	t_7 = fmin(t_2, t_6)
	t_8 = math.sqrt(t_7)
	t_9 = fmax(t_2, t_6)
	t_10 = math.sqrt((t_9 + 1.0)) - math.sqrt(t_9)
	t_11 = fmin(t_5, t)
	t_12 = math.sqrt(t_11)
	t_13 = math.sqrt((t_7 + 1.0)) - t_8
	t_14 = (((math.sqrt((t_11 + 1.0)) - t_12) + (math.sqrt((t_3 + 1.0)) - t_4)) + t_13) + t_10
	tmp = 0
	if t_14 <= 1e-5:
		tmp = ((0.5 / (t_11 * math.sqrt((1.0 / t_11)))) + t_13) + t_10
	elif t_14 <= 2.999995:
		tmp = (math.sqrt((t_11 - -1.0)) - t_12) - ((t_4 - math.sqrt((t_3 - -1.0))) - (1.0 / (t_8 + math.sqrt((1.0 + t_7)))))
	else:
		tmp = (((1.0 + math.sqrt((1.0 + t_3))) - (t_12 + t_4)) + (1.0 - t_8)) + t_10
	return tmp
function code(x, y, z, t)
	t_1 = fmax(fmin(x, y), z)
	t_2 = fmax(fmax(x, y), t_1)
	t_3 = fmin(fmax(x, y), t_1)
	t_4 = sqrt(t_3)
	t_5 = fmin(fmin(x, y), z)
	t_6 = fmax(t_5, t)
	t_7 = fmin(t_2, t_6)
	t_8 = sqrt(t_7)
	t_9 = fmax(t_2, t_6)
	t_10 = Float64(sqrt(Float64(t_9 + 1.0)) - sqrt(t_9))
	t_11 = fmin(t_5, t)
	t_12 = sqrt(t_11)
	t_13 = Float64(sqrt(Float64(t_7 + 1.0)) - t_8)
	t_14 = Float64(Float64(Float64(Float64(sqrt(Float64(t_11 + 1.0)) - t_12) + Float64(sqrt(Float64(t_3 + 1.0)) - t_4)) + t_13) + t_10)
	tmp = 0.0
	if (t_14 <= 1e-5)
		tmp = Float64(Float64(Float64(0.5 / Float64(t_11 * sqrt(Float64(1.0 / t_11)))) + t_13) + t_10);
	elseif (t_14 <= 2.999995)
		tmp = Float64(Float64(sqrt(Float64(t_11 - -1.0)) - t_12) - Float64(Float64(t_4 - sqrt(Float64(t_3 - -1.0))) - Float64(1.0 / Float64(t_8 + sqrt(Float64(1.0 + t_7))))));
	else
		tmp = Float64(Float64(Float64(Float64(1.0 + sqrt(Float64(1.0 + t_3))) - Float64(t_12 + t_4)) + Float64(1.0 - t_8)) + t_10);
	end
	return tmp
end
function tmp_2 = code(x, y, z, t)
	t_1 = max(min(x, y), z);
	t_2 = max(max(x, y), t_1);
	t_3 = min(max(x, y), t_1);
	t_4 = sqrt(t_3);
	t_5 = min(min(x, y), z);
	t_6 = max(t_5, t);
	t_7 = min(t_2, t_6);
	t_8 = sqrt(t_7);
	t_9 = max(t_2, t_6);
	t_10 = sqrt((t_9 + 1.0)) - sqrt(t_9);
	t_11 = min(t_5, t);
	t_12 = sqrt(t_11);
	t_13 = sqrt((t_7 + 1.0)) - t_8;
	t_14 = (((sqrt((t_11 + 1.0)) - t_12) + (sqrt((t_3 + 1.0)) - t_4)) + t_13) + t_10;
	tmp = 0.0;
	if (t_14 <= 1e-5)
		tmp = ((0.5 / (t_11 * sqrt((1.0 / t_11)))) + t_13) + t_10;
	elseif (t_14 <= 2.999995)
		tmp = (sqrt((t_11 - -1.0)) - t_12) - ((t_4 - sqrt((t_3 - -1.0))) - (1.0 / (t_8 + sqrt((1.0 + t_7)))));
	else
		tmp = (((1.0 + sqrt((1.0 + t_3))) - (t_12 + t_4)) + (1.0 - t_8)) + t_10;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[Max[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, Block[{t$95$2 = N[Max[N[Max[x, y], $MachinePrecision], t$95$1], $MachinePrecision]}, Block[{t$95$3 = N[Min[N[Max[x, y], $MachinePrecision], t$95$1], $MachinePrecision]}, Block[{t$95$4 = N[Sqrt[t$95$3], $MachinePrecision]}, Block[{t$95$5 = N[Min[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, Block[{t$95$6 = N[Max[t$95$5, t], $MachinePrecision]}, Block[{t$95$7 = N[Min[t$95$2, t$95$6], $MachinePrecision]}, Block[{t$95$8 = N[Sqrt[t$95$7], $MachinePrecision]}, Block[{t$95$9 = N[Max[t$95$2, t$95$6], $MachinePrecision]}, Block[{t$95$10 = N[(N[Sqrt[N[(t$95$9 + 1.0), $MachinePrecision]], $MachinePrecision] - N[Sqrt[t$95$9], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$11 = N[Min[t$95$5, t], $MachinePrecision]}, Block[{t$95$12 = N[Sqrt[t$95$11], $MachinePrecision]}, Block[{t$95$13 = N[(N[Sqrt[N[(t$95$7 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$8), $MachinePrecision]}, Block[{t$95$14 = N[(N[(N[(N[(N[Sqrt[N[(t$95$11 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$12), $MachinePrecision] + N[(N[Sqrt[N[(t$95$3 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$4), $MachinePrecision]), $MachinePrecision] + t$95$13), $MachinePrecision] + t$95$10), $MachinePrecision]}, If[LessEqual[t$95$14, 1e-5], N[(N[(N[(0.5 / N[(t$95$11 * N[Sqrt[N[(1.0 / t$95$11), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$13), $MachinePrecision] + t$95$10), $MachinePrecision], If[LessEqual[t$95$14, 2.999995], N[(N[(N[Sqrt[N[(t$95$11 - -1.0), $MachinePrecision]], $MachinePrecision] - t$95$12), $MachinePrecision] - N[(N[(t$95$4 - N[Sqrt[N[(t$95$3 - -1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] - N[(1.0 / N[(t$95$8 + N[Sqrt[N[(1.0 + t$95$7), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(N[(1.0 + N[Sqrt[N[(1.0 + t$95$3), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] - N[(t$95$12 + t$95$4), $MachinePrecision]), $MachinePrecision] + N[(1.0 - t$95$8), $MachinePrecision]), $MachinePrecision] + t$95$10), $MachinePrecision]]]]]]]]]]]]]]]]]
\begin{array}{l}
t_1 := \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\\
t_2 := \mathsf{max}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\
t_3 := \mathsf{min}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\
t_4 := \sqrt{t\_3}\\
t_5 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\
t_6 := \mathsf{max}\left(t\_5, t\right)\\
t_7 := \mathsf{min}\left(t\_2, t\_6\right)\\
t_8 := \sqrt{t\_7}\\
t_9 := \mathsf{max}\left(t\_2, t\_6\right)\\
t_10 := \sqrt{t\_9 + 1} - \sqrt{t\_9}\\
t_11 := \mathsf{min}\left(t\_5, t\right)\\
t_12 := \sqrt{t\_11}\\
t_13 := \sqrt{t\_7 + 1} - t\_8\\
t_14 := \left(\left(\left(\sqrt{t\_11 + 1} - t\_12\right) + \left(\sqrt{t\_3 + 1} - t\_4\right)\right) + t\_13\right) + t\_10\\
\mathbf{if}\;t\_14 \leq 10^{-5}:\\
\;\;\;\;\left(\frac{0.5}{t\_11 \cdot \sqrt{\frac{1}{t\_11}}} + t\_13\right) + t\_10\\

\mathbf{elif}\;t\_14 \leq 2.999995:\\
\;\;\;\;\left(\sqrt{t\_11 - -1} - t\_12\right) - \left(\left(t\_4 - \sqrt{t\_3 - -1}\right) - \frac{1}{t\_8 + \sqrt{1 + t\_7}}\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\left(\left(1 + \sqrt{1 + t\_3}\right) - \left(t\_12 + t\_4\right)\right) + \left(1 - t\_8\right)\right) + t\_10\\


\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t))) < 1.00000000000000008e-5

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Taylor expanded in y around inf

      \[\leadsto \left(\color{blue}{\left(\sqrt{1 + x} - \sqrt{x}\right)} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \color{blue}{\sqrt{x}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-sqrt.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{\color{blue}{x}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-+.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{x}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-sqrt.f6450.9

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{x}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Applied rewrites50.9%

      \[\leadsto \left(\color{blue}{\left(\sqrt{1 + x} - \sqrt{x}\right)} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. Taylor expanded in x around inf

      \[\leadsto \left(\frac{\frac{1}{2}}{\color{blue}{x \cdot \sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \color{blue}{\sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-*.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-sqrt.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-/.f6426.6

        \[\leadsto \left(\frac{0.5}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. Applied rewrites26.6%

      \[\leadsto \left(\frac{0.5}{\color{blue}{x \cdot \sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]

    if 1.00000000000000008e-5 < (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t))) < 2.9999950000000002

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Step-by-step derivation
      1. lift--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\left(\sqrt{z + 1} - \sqrt{z}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. flip--N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\frac{\sqrt{z + 1} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-unsound-/.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\frac{\sqrt{z + 1} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-unsound--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. lower-unsound-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1} \cdot \sqrt{z + 1}} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. lower-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1} \cdot \sqrt{z + 1}} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1}} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      8. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\sqrt{z + 1} \cdot \color{blue}{\sqrt{z + 1}} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      9. rem-square-sqrtN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z + 1\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      10. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z + 1\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      11. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      12. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      13. metadata-evalN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - \color{blue}{-1}\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      14. lower-unsound-*.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \color{blue}{\sqrt{z} \cdot \sqrt{z}}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      15. lower-unsound-+.f6473.6

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\color{blue}{\sqrt{z + 1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      16. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{\color{blue}{z + 1}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      17. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{\color{blue}{z - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      18. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{\color{blue}{z - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      19. metadata-eval73.6

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z - \color{blue}{-1}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Applied rewrites73.6%

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z - -1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Applied rewrites92.1%

      \[\leadsto \color{blue}{\left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \left(\frac{\left(z - -1\right) - z}{\sqrt{z - -1} + \sqrt{z}} - \left(\sqrt{t} - \sqrt{t - -1}\right)\right)\right)} \]
    5. Taylor expanded in t around inf

      \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \color{blue}{\frac{1}{\sqrt{z} + \sqrt{1 + z}}}\right) \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \frac{1}{\color{blue}{\sqrt{z} + \sqrt{1 + z}}}\right) \]
      2. lower-+.f64N/A

        \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \frac{1}{\sqrt{z} + \color{blue}{\sqrt{1 + z}}}\right) \]
      3. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \frac{1}{\sqrt{z} + \sqrt{\color{blue}{1 + z}}}\right) \]
      4. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \frac{1}{\sqrt{z} + \sqrt{1 + z}}\right) \]
      5. lower-+.f6452.9

        \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \frac{1}{\sqrt{z} + \sqrt{1 + z}}\right) \]
    7. Applied rewrites52.9%

      \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \color{blue}{\frac{1}{\sqrt{z} + \sqrt{1 + z}}}\right) \]

    if 2.9999950000000002 < (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t)))

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Taylor expanded in z around 0

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\left(1 - \sqrt{z}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(1 - \color{blue}{\sqrt{z}}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-sqrt.f6448.8

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Applied rewrites48.8%

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\left(1 - \sqrt{z}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. Taylor expanded in x around 0

      \[\leadsto \left(\color{blue}{\left(\left(1 + \sqrt{1 + y}\right) - \left(\sqrt{x} + \sqrt{y}\right)\right)} + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(\left(1 + \sqrt{1 + y}\right) - \color{blue}{\left(\sqrt{x} + \sqrt{y}\right)}\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-+.f64N/A

        \[\leadsto \left(\left(\left(1 + \sqrt{1 + y}\right) - \left(\color{blue}{\sqrt{x}} + \sqrt{y}\right)\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-sqrt.f64N/A

        \[\leadsto \left(\left(\left(1 + \sqrt{1 + y}\right) - \left(\sqrt{x} + \sqrt{y}\right)\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-+.f64N/A

        \[\leadsto \left(\left(\left(1 + \sqrt{1 + y}\right) - \left(\sqrt{x} + \sqrt{y}\right)\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. lower-+.f64N/A

        \[\leadsto \left(\left(\left(1 + \sqrt{1 + y}\right) - \left(\sqrt{x} + \color{blue}{\sqrt{y}}\right)\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. lower-sqrt.f64N/A

        \[\leadsto \left(\left(\left(1 + \sqrt{1 + y}\right) - \left(\sqrt{x} + \sqrt{\color{blue}{y}}\right)\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lower-sqrt.f6420.5

        \[\leadsto \left(\left(\left(1 + \sqrt{1 + y}\right) - \left(\sqrt{x} + \sqrt{y}\right)\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. Applied rewrites20.5%

      \[\leadsto \left(\color{blue}{\left(\left(1 + \sqrt{1 + y}\right) - \left(\sqrt{x} + \sqrt{y}\right)\right)} + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
  3. Recombined 3 regimes into one program.
  4. Add Preprocessing

Alternative 7: 96.8% accurate, 0.1× speedup?

\[\begin{array}{l} t_1 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\ t_2 := \mathsf{max}\left(t\_1, t\right)\\ t_3 := \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\\ t_4 := \mathsf{max}\left(\mathsf{max}\left(x, y\right), t\_3\right)\\ t_5 := \mathsf{min}\left(\mathsf{max}\left(x, y\right), t\_3\right)\\ t_6 := \sqrt{t\_5}\\ t_7 := \mathsf{min}\left(t\_4, t\_2\right)\\ t_8 := \sqrt{t\_7}\\ t_9 := \mathsf{max}\left(t\_4, t\_2\right)\\ t_10 := \sqrt{t\_9}\\ t_11 := \sqrt{t\_9 + 1} - t\_10\\ t_12 := \sqrt{t\_5 - -1}\\ t_13 := \mathsf{min}\left(t\_1, t\right)\\ t_14 := \sqrt{t\_13}\\ t_15 := \sqrt{t\_13 - -1}\\ t_16 := \sqrt{t\_7 + 1} - t\_8\\ t_17 := \left(\left(\left(\sqrt{t\_13 + 1} - t\_14\right) + \left(\sqrt{t\_5 + 1} - t\_6\right)\right) + t\_16\right) + t\_11\\ \mathbf{if}\;t\_17 \leq 10^{-5}:\\ \;\;\;\;\left(\frac{0.5}{t\_13 \cdot \sqrt{\frac{1}{t\_13}}} + t\_16\right) + t\_11\\ \mathbf{elif}\;t\_17 \leq 2.999995:\\ \;\;\;\;\left(t\_15 - t\_14\right) - \left(\left(t\_6 - t\_12\right) - \frac{1}{t\_8 + \sqrt{1 + t\_7}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(t\_15 - \left(t\_14 - t\_12\right)\right) - \left(t\_6 - \left(\left(1 - t\_8\right) - \left(t\_10 - \sqrt{t\_9 - -1}\right)\right)\right)\\ \end{array} \]
(FPCore (x y z t)
 :precision binary64
 (let* ((t_1 (fmin (fmin x y) z))
        (t_2 (fmax t_1 t))
        (t_3 (fmax (fmin x y) z))
        (t_4 (fmax (fmax x y) t_3))
        (t_5 (fmin (fmax x y) t_3))
        (t_6 (sqrt t_5))
        (t_7 (fmin t_4 t_2))
        (t_8 (sqrt t_7))
        (t_9 (fmax t_4 t_2))
        (t_10 (sqrt t_9))
        (t_11 (- (sqrt (+ t_9 1.0)) t_10))
        (t_12 (sqrt (- t_5 -1.0)))
        (t_13 (fmin t_1 t))
        (t_14 (sqrt t_13))
        (t_15 (sqrt (- t_13 -1.0)))
        (t_16 (- (sqrt (+ t_7 1.0)) t_8))
        (t_17
         (+
          (+ (+ (- (sqrt (+ t_13 1.0)) t_14) (- (sqrt (+ t_5 1.0)) t_6)) t_16)
          t_11)))
   (if (<= t_17 1e-5)
     (+ (+ (/ 0.5 (* t_13 (sqrt (/ 1.0 t_13)))) t_16) t_11)
     (if (<= t_17 2.999995)
       (- (- t_15 t_14) (- (- t_6 t_12) (/ 1.0 (+ t_8 (sqrt (+ 1.0 t_7))))))
       (-
        (- t_15 (- t_14 t_12))
        (- t_6 (- (- 1.0 t_8) (- t_10 (sqrt (- t_9 -1.0))))))))))
double code(double x, double y, double z, double t) {
	double t_1 = fmin(fmin(x, y), z);
	double t_2 = fmax(t_1, t);
	double t_3 = fmax(fmin(x, y), z);
	double t_4 = fmax(fmax(x, y), t_3);
	double t_5 = fmin(fmax(x, y), t_3);
	double t_6 = sqrt(t_5);
	double t_7 = fmin(t_4, t_2);
	double t_8 = sqrt(t_7);
	double t_9 = fmax(t_4, t_2);
	double t_10 = sqrt(t_9);
	double t_11 = sqrt((t_9 + 1.0)) - t_10;
	double t_12 = sqrt((t_5 - -1.0));
	double t_13 = fmin(t_1, t);
	double t_14 = sqrt(t_13);
	double t_15 = sqrt((t_13 - -1.0));
	double t_16 = sqrt((t_7 + 1.0)) - t_8;
	double t_17 = (((sqrt((t_13 + 1.0)) - t_14) + (sqrt((t_5 + 1.0)) - t_6)) + t_16) + t_11;
	double tmp;
	if (t_17 <= 1e-5) {
		tmp = ((0.5 / (t_13 * sqrt((1.0 / t_13)))) + t_16) + t_11;
	} else if (t_17 <= 2.999995) {
		tmp = (t_15 - t_14) - ((t_6 - t_12) - (1.0 / (t_8 + sqrt((1.0 + t_7)))));
	} else {
		tmp = (t_15 - (t_14 - t_12)) - (t_6 - ((1.0 - t_8) - (t_10 - sqrt((t_9 - -1.0)))));
	}
	return tmp;
}
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, z, t)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8) :: t_1
    real(8) :: t_10
    real(8) :: t_11
    real(8) :: t_12
    real(8) :: t_13
    real(8) :: t_14
    real(8) :: t_15
    real(8) :: t_16
    real(8) :: t_17
    real(8) :: t_2
    real(8) :: t_3
    real(8) :: t_4
    real(8) :: t_5
    real(8) :: t_6
    real(8) :: t_7
    real(8) :: t_8
    real(8) :: t_9
    real(8) :: tmp
    t_1 = fmin(fmin(x, y), z)
    t_2 = fmax(t_1, t)
    t_3 = fmax(fmin(x, y), z)
    t_4 = fmax(fmax(x, y), t_3)
    t_5 = fmin(fmax(x, y), t_3)
    t_6 = sqrt(t_5)
    t_7 = fmin(t_4, t_2)
    t_8 = sqrt(t_7)
    t_9 = fmax(t_4, t_2)
    t_10 = sqrt(t_9)
    t_11 = sqrt((t_9 + 1.0d0)) - t_10
    t_12 = sqrt((t_5 - (-1.0d0)))
    t_13 = fmin(t_1, t)
    t_14 = sqrt(t_13)
    t_15 = sqrt((t_13 - (-1.0d0)))
    t_16 = sqrt((t_7 + 1.0d0)) - t_8
    t_17 = (((sqrt((t_13 + 1.0d0)) - t_14) + (sqrt((t_5 + 1.0d0)) - t_6)) + t_16) + t_11
    if (t_17 <= 1d-5) then
        tmp = ((0.5d0 / (t_13 * sqrt((1.0d0 / t_13)))) + t_16) + t_11
    else if (t_17 <= 2.999995d0) then
        tmp = (t_15 - t_14) - ((t_6 - t_12) - (1.0d0 / (t_8 + sqrt((1.0d0 + t_7)))))
    else
        tmp = (t_15 - (t_14 - t_12)) - (t_6 - ((1.0d0 - t_8) - (t_10 - sqrt((t_9 - (-1.0d0))))))
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t) {
	double t_1 = fmin(fmin(x, y), z);
	double t_2 = fmax(t_1, t);
	double t_3 = fmax(fmin(x, y), z);
	double t_4 = fmax(fmax(x, y), t_3);
	double t_5 = fmin(fmax(x, y), t_3);
	double t_6 = Math.sqrt(t_5);
	double t_7 = fmin(t_4, t_2);
	double t_8 = Math.sqrt(t_7);
	double t_9 = fmax(t_4, t_2);
	double t_10 = Math.sqrt(t_9);
	double t_11 = Math.sqrt((t_9 + 1.0)) - t_10;
	double t_12 = Math.sqrt((t_5 - -1.0));
	double t_13 = fmin(t_1, t);
	double t_14 = Math.sqrt(t_13);
	double t_15 = Math.sqrt((t_13 - -1.0));
	double t_16 = Math.sqrt((t_7 + 1.0)) - t_8;
	double t_17 = (((Math.sqrt((t_13 + 1.0)) - t_14) + (Math.sqrt((t_5 + 1.0)) - t_6)) + t_16) + t_11;
	double tmp;
	if (t_17 <= 1e-5) {
		tmp = ((0.5 / (t_13 * Math.sqrt((1.0 / t_13)))) + t_16) + t_11;
	} else if (t_17 <= 2.999995) {
		tmp = (t_15 - t_14) - ((t_6 - t_12) - (1.0 / (t_8 + Math.sqrt((1.0 + t_7)))));
	} else {
		tmp = (t_15 - (t_14 - t_12)) - (t_6 - ((1.0 - t_8) - (t_10 - Math.sqrt((t_9 - -1.0)))));
	}
	return tmp;
}
def code(x, y, z, t):
	t_1 = fmin(fmin(x, y), z)
	t_2 = fmax(t_1, t)
	t_3 = fmax(fmin(x, y), z)
	t_4 = fmax(fmax(x, y), t_3)
	t_5 = fmin(fmax(x, y), t_3)
	t_6 = math.sqrt(t_5)
	t_7 = fmin(t_4, t_2)
	t_8 = math.sqrt(t_7)
	t_9 = fmax(t_4, t_2)
	t_10 = math.sqrt(t_9)
	t_11 = math.sqrt((t_9 + 1.0)) - t_10
	t_12 = math.sqrt((t_5 - -1.0))
	t_13 = fmin(t_1, t)
	t_14 = math.sqrt(t_13)
	t_15 = math.sqrt((t_13 - -1.0))
	t_16 = math.sqrt((t_7 + 1.0)) - t_8
	t_17 = (((math.sqrt((t_13 + 1.0)) - t_14) + (math.sqrt((t_5 + 1.0)) - t_6)) + t_16) + t_11
	tmp = 0
	if t_17 <= 1e-5:
		tmp = ((0.5 / (t_13 * math.sqrt((1.0 / t_13)))) + t_16) + t_11
	elif t_17 <= 2.999995:
		tmp = (t_15 - t_14) - ((t_6 - t_12) - (1.0 / (t_8 + math.sqrt((1.0 + t_7)))))
	else:
		tmp = (t_15 - (t_14 - t_12)) - (t_6 - ((1.0 - t_8) - (t_10 - math.sqrt((t_9 - -1.0)))))
	return tmp
function code(x, y, z, t)
	t_1 = fmin(fmin(x, y), z)
	t_2 = fmax(t_1, t)
	t_3 = fmax(fmin(x, y), z)
	t_4 = fmax(fmax(x, y), t_3)
	t_5 = fmin(fmax(x, y), t_3)
	t_6 = sqrt(t_5)
	t_7 = fmin(t_4, t_2)
	t_8 = sqrt(t_7)
	t_9 = fmax(t_4, t_2)
	t_10 = sqrt(t_9)
	t_11 = Float64(sqrt(Float64(t_9 + 1.0)) - t_10)
	t_12 = sqrt(Float64(t_5 - -1.0))
	t_13 = fmin(t_1, t)
	t_14 = sqrt(t_13)
	t_15 = sqrt(Float64(t_13 - -1.0))
	t_16 = Float64(sqrt(Float64(t_7 + 1.0)) - t_8)
	t_17 = Float64(Float64(Float64(Float64(sqrt(Float64(t_13 + 1.0)) - t_14) + Float64(sqrt(Float64(t_5 + 1.0)) - t_6)) + t_16) + t_11)
	tmp = 0.0
	if (t_17 <= 1e-5)
		tmp = Float64(Float64(Float64(0.5 / Float64(t_13 * sqrt(Float64(1.0 / t_13)))) + t_16) + t_11);
	elseif (t_17 <= 2.999995)
		tmp = Float64(Float64(t_15 - t_14) - Float64(Float64(t_6 - t_12) - Float64(1.0 / Float64(t_8 + sqrt(Float64(1.0 + t_7))))));
	else
		tmp = Float64(Float64(t_15 - Float64(t_14 - t_12)) - Float64(t_6 - Float64(Float64(1.0 - t_8) - Float64(t_10 - sqrt(Float64(t_9 - -1.0))))));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t)
	t_1 = min(min(x, y), z);
	t_2 = max(t_1, t);
	t_3 = max(min(x, y), z);
	t_4 = max(max(x, y), t_3);
	t_5 = min(max(x, y), t_3);
	t_6 = sqrt(t_5);
	t_7 = min(t_4, t_2);
	t_8 = sqrt(t_7);
	t_9 = max(t_4, t_2);
	t_10 = sqrt(t_9);
	t_11 = sqrt((t_9 + 1.0)) - t_10;
	t_12 = sqrt((t_5 - -1.0));
	t_13 = min(t_1, t);
	t_14 = sqrt(t_13);
	t_15 = sqrt((t_13 - -1.0));
	t_16 = sqrt((t_7 + 1.0)) - t_8;
	t_17 = (((sqrt((t_13 + 1.0)) - t_14) + (sqrt((t_5 + 1.0)) - t_6)) + t_16) + t_11;
	tmp = 0.0;
	if (t_17 <= 1e-5)
		tmp = ((0.5 / (t_13 * sqrt((1.0 / t_13)))) + t_16) + t_11;
	elseif (t_17 <= 2.999995)
		tmp = (t_15 - t_14) - ((t_6 - t_12) - (1.0 / (t_8 + sqrt((1.0 + t_7)))));
	else
		tmp = (t_15 - (t_14 - t_12)) - (t_6 - ((1.0 - t_8) - (t_10 - sqrt((t_9 - -1.0)))));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[Min[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, Block[{t$95$2 = N[Max[t$95$1, t], $MachinePrecision]}, Block[{t$95$3 = N[Max[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, Block[{t$95$4 = N[Max[N[Max[x, y], $MachinePrecision], t$95$3], $MachinePrecision]}, Block[{t$95$5 = N[Min[N[Max[x, y], $MachinePrecision], t$95$3], $MachinePrecision]}, Block[{t$95$6 = N[Sqrt[t$95$5], $MachinePrecision]}, Block[{t$95$7 = N[Min[t$95$4, t$95$2], $MachinePrecision]}, Block[{t$95$8 = N[Sqrt[t$95$7], $MachinePrecision]}, Block[{t$95$9 = N[Max[t$95$4, t$95$2], $MachinePrecision]}, Block[{t$95$10 = N[Sqrt[t$95$9], $MachinePrecision]}, Block[{t$95$11 = N[(N[Sqrt[N[(t$95$9 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$10), $MachinePrecision]}, Block[{t$95$12 = N[Sqrt[N[(t$95$5 - -1.0), $MachinePrecision]], $MachinePrecision]}, Block[{t$95$13 = N[Min[t$95$1, t], $MachinePrecision]}, Block[{t$95$14 = N[Sqrt[t$95$13], $MachinePrecision]}, Block[{t$95$15 = N[Sqrt[N[(t$95$13 - -1.0), $MachinePrecision]], $MachinePrecision]}, Block[{t$95$16 = N[(N[Sqrt[N[(t$95$7 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$8), $MachinePrecision]}, Block[{t$95$17 = N[(N[(N[(N[(N[Sqrt[N[(t$95$13 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$14), $MachinePrecision] + N[(N[Sqrt[N[(t$95$5 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$6), $MachinePrecision]), $MachinePrecision] + t$95$16), $MachinePrecision] + t$95$11), $MachinePrecision]}, If[LessEqual[t$95$17, 1e-5], N[(N[(N[(0.5 / N[(t$95$13 * N[Sqrt[N[(1.0 / t$95$13), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$16), $MachinePrecision] + t$95$11), $MachinePrecision], If[LessEqual[t$95$17, 2.999995], N[(N[(t$95$15 - t$95$14), $MachinePrecision] - N[(N[(t$95$6 - t$95$12), $MachinePrecision] - N[(1.0 / N[(t$95$8 + N[Sqrt[N[(1.0 + t$95$7), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(t$95$15 - N[(t$95$14 - t$95$12), $MachinePrecision]), $MachinePrecision] - N[(t$95$6 - N[(N[(1.0 - t$95$8), $MachinePrecision] - N[(t$95$10 - N[Sqrt[N[(t$95$9 - -1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
t_1 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\
t_2 := \mathsf{max}\left(t\_1, t\right)\\
t_3 := \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\\
t_4 := \mathsf{max}\left(\mathsf{max}\left(x, y\right), t\_3\right)\\
t_5 := \mathsf{min}\left(\mathsf{max}\left(x, y\right), t\_3\right)\\
t_6 := \sqrt{t\_5}\\
t_7 := \mathsf{min}\left(t\_4, t\_2\right)\\
t_8 := \sqrt{t\_7}\\
t_9 := \mathsf{max}\left(t\_4, t\_2\right)\\
t_10 := \sqrt{t\_9}\\
t_11 := \sqrt{t\_9 + 1} - t\_10\\
t_12 := \sqrt{t\_5 - -1}\\
t_13 := \mathsf{min}\left(t\_1, t\right)\\
t_14 := \sqrt{t\_13}\\
t_15 := \sqrt{t\_13 - -1}\\
t_16 := \sqrt{t\_7 + 1} - t\_8\\
t_17 := \left(\left(\left(\sqrt{t\_13 + 1} - t\_14\right) + \left(\sqrt{t\_5 + 1} - t\_6\right)\right) + t\_16\right) + t\_11\\
\mathbf{if}\;t\_17 \leq 10^{-5}:\\
\;\;\;\;\left(\frac{0.5}{t\_13 \cdot \sqrt{\frac{1}{t\_13}}} + t\_16\right) + t\_11\\

\mathbf{elif}\;t\_17 \leq 2.999995:\\
\;\;\;\;\left(t\_15 - t\_14\right) - \left(\left(t\_6 - t\_12\right) - \frac{1}{t\_8 + \sqrt{1 + t\_7}}\right)\\

\mathbf{else}:\\
\;\;\;\;\left(t\_15 - \left(t\_14 - t\_12\right)\right) - \left(t\_6 - \left(\left(1 - t\_8\right) - \left(t\_10 - \sqrt{t\_9 - -1}\right)\right)\right)\\


\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t))) < 1.00000000000000008e-5

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Taylor expanded in y around inf

      \[\leadsto \left(\color{blue}{\left(\sqrt{1 + x} - \sqrt{x}\right)} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \color{blue}{\sqrt{x}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-sqrt.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{\color{blue}{x}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-+.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{x}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-sqrt.f6450.9

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{x}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Applied rewrites50.9%

      \[\leadsto \left(\color{blue}{\left(\sqrt{1 + x} - \sqrt{x}\right)} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. Taylor expanded in x around inf

      \[\leadsto \left(\frac{\frac{1}{2}}{\color{blue}{x \cdot \sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \color{blue}{\sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-*.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-sqrt.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-/.f6426.6

        \[\leadsto \left(\frac{0.5}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. Applied rewrites26.6%

      \[\leadsto \left(\frac{0.5}{\color{blue}{x \cdot \sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]

    if 1.00000000000000008e-5 < (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t))) < 2.9999950000000002

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Step-by-step derivation
      1. lift--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\left(\sqrt{z + 1} - \sqrt{z}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. flip--N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\frac{\sqrt{z + 1} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-unsound-/.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\frac{\sqrt{z + 1} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-unsound--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. lower-unsound-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1} \cdot \sqrt{z + 1}} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. lower-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1} \cdot \sqrt{z + 1}} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1}} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      8. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\sqrt{z + 1} \cdot \color{blue}{\sqrt{z + 1}} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      9. rem-square-sqrtN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z + 1\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      10. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z + 1\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      11. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      12. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      13. metadata-evalN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - \color{blue}{-1}\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      14. lower-unsound-*.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \color{blue}{\sqrt{z} \cdot \sqrt{z}}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      15. lower-unsound-+.f6473.6

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\color{blue}{\sqrt{z + 1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      16. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{\color{blue}{z + 1}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      17. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{\color{blue}{z - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      18. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{\color{blue}{z - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      19. metadata-eval73.6

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z - \color{blue}{-1}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Applied rewrites73.6%

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z - -1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Applied rewrites92.1%

      \[\leadsto \color{blue}{\left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \left(\frac{\left(z - -1\right) - z}{\sqrt{z - -1} + \sqrt{z}} - \left(\sqrt{t} - \sqrt{t - -1}\right)\right)\right)} \]
    5. Taylor expanded in t around inf

      \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \color{blue}{\frac{1}{\sqrt{z} + \sqrt{1 + z}}}\right) \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \frac{1}{\color{blue}{\sqrt{z} + \sqrt{1 + z}}}\right) \]
      2. lower-+.f64N/A

        \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \frac{1}{\sqrt{z} + \color{blue}{\sqrt{1 + z}}}\right) \]
      3. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \frac{1}{\sqrt{z} + \sqrt{\color{blue}{1 + z}}}\right) \]
      4. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \frac{1}{\sqrt{z} + \sqrt{1 + z}}\right) \]
      5. lower-+.f6452.9

        \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \frac{1}{\sqrt{z} + \sqrt{1 + z}}\right) \]
    7. Applied rewrites52.9%

      \[\leadsto \left(\sqrt{x - -1} - \sqrt{x}\right) - \left(\left(\sqrt{y} - \sqrt{y - -1}\right) - \color{blue}{\frac{1}{\sqrt{z} + \sqrt{1 + z}}}\right) \]

    if 2.9999950000000002 < (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t)))

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Taylor expanded in z around 0

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\left(1 - \sqrt{z}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(1 - \color{blue}{\sqrt{z}}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-sqrt.f6448.8

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Applied rewrites48.8%

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\left(1 - \sqrt{z}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right)} \]
      2. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(1 - \sqrt{z}\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. associate-+l+N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\left(1 - \sqrt{z}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right)\right)} \]
      4. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)} + \left(\left(1 - \sqrt{z}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right)\right) \]
      5. lift--.f64N/A

        \[\leadsto \left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\left(\sqrt{y + 1} - \sqrt{y}\right)}\right) + \left(\left(1 - \sqrt{z}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right)\right) \]
      6. associate-+r-N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \sqrt{y + 1}\right) - \sqrt{y}\right)} + \left(\left(1 - \sqrt{z}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right)\right) \]
      7. associate-+l-N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \sqrt{y + 1}\right) - \left(\sqrt{y} - \left(\left(1 - \sqrt{z}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right)\right)\right)} \]
    6. Applied rewrites17.8%

      \[\leadsto \color{blue}{\left(\sqrt{x - -1} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \left(\sqrt{y} - \left(\left(1 - \sqrt{z}\right) - \left(\sqrt{t} - \sqrt{t - -1}\right)\right)\right)} \]
  3. Recombined 3 regimes into one program.
  4. Add Preprocessing

Alternative 8: 96.4% accurate, 0.3× speedup?

\[\begin{array}{l} t_1 := \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\\ t_2 := \sqrt{t\_1}\\ t_3 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\ t_4 := \mathsf{min}\left(t\_3, t\right)\\ t_5 := \mathsf{max}\left(t\_3, t\right)\\ t_6 := \mathsf{min}\left(\mathsf{max}\left(x, y\right), t\_5\right)\\ t_7 := \mathsf{max}\left(\mathsf{max}\left(x, y\right), t\_5\right)\\ t_8 := \sqrt{t\_7}\\ \mathbf{if}\;t\_4 \leq 0.95:\\ \;\;\;\;\left(\left(1 + \frac{1}{\sqrt{t\_6} + \sqrt{1 + t\_6}}\right) - \sqrt{t\_4}\right) - \left(\left(t\_2 - \sqrt{t\_1 - -1}\right) - \left(\sqrt{t\_7 - -1} - t\_8\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{0.5}{t\_4 \cdot \sqrt{\frac{1}{t\_4}}} + \left(\sqrt{t\_1 + 1} - t\_2\right)\right) + \left(\sqrt{t\_7 + 1} - t\_8\right)\\ \end{array} \]
(FPCore (x y z t)
 :precision binary64
 (let* ((t_1 (fmax (fmin x y) z))
        (t_2 (sqrt t_1))
        (t_3 (fmin (fmin x y) z))
        (t_4 (fmin t_3 t))
        (t_5 (fmax t_3 t))
        (t_6 (fmin (fmax x y) t_5))
        (t_7 (fmax (fmax x y) t_5))
        (t_8 (sqrt t_7)))
   (if (<= t_4 0.95)
     (-
      (- (+ 1.0 (/ 1.0 (+ (sqrt t_6) (sqrt (+ 1.0 t_6))))) (sqrt t_4))
      (- (- t_2 (sqrt (- t_1 -1.0))) (- (sqrt (- t_7 -1.0)) t_8)))
     (+
      (+ (/ 0.5 (* t_4 (sqrt (/ 1.0 t_4)))) (- (sqrt (+ t_1 1.0)) t_2))
      (- (sqrt (+ t_7 1.0)) t_8)))))
double code(double x, double y, double z, double t) {
	double t_1 = fmax(fmin(x, y), z);
	double t_2 = sqrt(t_1);
	double t_3 = fmin(fmin(x, y), z);
	double t_4 = fmin(t_3, t);
	double t_5 = fmax(t_3, t);
	double t_6 = fmin(fmax(x, y), t_5);
	double t_7 = fmax(fmax(x, y), t_5);
	double t_8 = sqrt(t_7);
	double tmp;
	if (t_4 <= 0.95) {
		tmp = ((1.0 + (1.0 / (sqrt(t_6) + sqrt((1.0 + t_6))))) - sqrt(t_4)) - ((t_2 - sqrt((t_1 - -1.0))) - (sqrt((t_7 - -1.0)) - t_8));
	} else {
		tmp = ((0.5 / (t_4 * sqrt((1.0 / t_4)))) + (sqrt((t_1 + 1.0)) - t_2)) + (sqrt((t_7 + 1.0)) - t_8);
	}
	return tmp;
}
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, z, t)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: t_3
    real(8) :: t_4
    real(8) :: t_5
    real(8) :: t_6
    real(8) :: t_7
    real(8) :: t_8
    real(8) :: tmp
    t_1 = fmax(fmin(x, y), z)
    t_2 = sqrt(t_1)
    t_3 = fmin(fmin(x, y), z)
    t_4 = fmin(t_3, t)
    t_5 = fmax(t_3, t)
    t_6 = fmin(fmax(x, y), t_5)
    t_7 = fmax(fmax(x, y), t_5)
    t_8 = sqrt(t_7)
    if (t_4 <= 0.95d0) then
        tmp = ((1.0d0 + (1.0d0 / (sqrt(t_6) + sqrt((1.0d0 + t_6))))) - sqrt(t_4)) - ((t_2 - sqrt((t_1 - (-1.0d0)))) - (sqrt((t_7 - (-1.0d0))) - t_8))
    else
        tmp = ((0.5d0 / (t_4 * sqrt((1.0d0 / t_4)))) + (sqrt((t_1 + 1.0d0)) - t_2)) + (sqrt((t_7 + 1.0d0)) - t_8)
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t) {
	double t_1 = fmax(fmin(x, y), z);
	double t_2 = Math.sqrt(t_1);
	double t_3 = fmin(fmin(x, y), z);
	double t_4 = fmin(t_3, t);
	double t_5 = fmax(t_3, t);
	double t_6 = fmin(fmax(x, y), t_5);
	double t_7 = fmax(fmax(x, y), t_5);
	double t_8 = Math.sqrt(t_7);
	double tmp;
	if (t_4 <= 0.95) {
		tmp = ((1.0 + (1.0 / (Math.sqrt(t_6) + Math.sqrt((1.0 + t_6))))) - Math.sqrt(t_4)) - ((t_2 - Math.sqrt((t_1 - -1.0))) - (Math.sqrt((t_7 - -1.0)) - t_8));
	} else {
		tmp = ((0.5 / (t_4 * Math.sqrt((1.0 / t_4)))) + (Math.sqrt((t_1 + 1.0)) - t_2)) + (Math.sqrt((t_7 + 1.0)) - t_8);
	}
	return tmp;
}
def code(x, y, z, t):
	t_1 = fmax(fmin(x, y), z)
	t_2 = math.sqrt(t_1)
	t_3 = fmin(fmin(x, y), z)
	t_4 = fmin(t_3, t)
	t_5 = fmax(t_3, t)
	t_6 = fmin(fmax(x, y), t_5)
	t_7 = fmax(fmax(x, y), t_5)
	t_8 = math.sqrt(t_7)
	tmp = 0
	if t_4 <= 0.95:
		tmp = ((1.0 + (1.0 / (math.sqrt(t_6) + math.sqrt((1.0 + t_6))))) - math.sqrt(t_4)) - ((t_2 - math.sqrt((t_1 - -1.0))) - (math.sqrt((t_7 - -1.0)) - t_8))
	else:
		tmp = ((0.5 / (t_4 * math.sqrt((1.0 / t_4)))) + (math.sqrt((t_1 + 1.0)) - t_2)) + (math.sqrt((t_7 + 1.0)) - t_8)
	return tmp
function code(x, y, z, t)
	t_1 = fmax(fmin(x, y), z)
	t_2 = sqrt(t_1)
	t_3 = fmin(fmin(x, y), z)
	t_4 = fmin(t_3, t)
	t_5 = fmax(t_3, t)
	t_6 = fmin(fmax(x, y), t_5)
	t_7 = fmax(fmax(x, y), t_5)
	t_8 = sqrt(t_7)
	tmp = 0.0
	if (t_4 <= 0.95)
		tmp = Float64(Float64(Float64(1.0 + Float64(1.0 / Float64(sqrt(t_6) + sqrt(Float64(1.0 + t_6))))) - sqrt(t_4)) - Float64(Float64(t_2 - sqrt(Float64(t_1 - -1.0))) - Float64(sqrt(Float64(t_7 - -1.0)) - t_8)));
	else
		tmp = Float64(Float64(Float64(0.5 / Float64(t_4 * sqrt(Float64(1.0 / t_4)))) + Float64(sqrt(Float64(t_1 + 1.0)) - t_2)) + Float64(sqrt(Float64(t_7 + 1.0)) - t_8));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t)
	t_1 = max(min(x, y), z);
	t_2 = sqrt(t_1);
	t_3 = min(min(x, y), z);
	t_4 = min(t_3, t);
	t_5 = max(t_3, t);
	t_6 = min(max(x, y), t_5);
	t_7 = max(max(x, y), t_5);
	t_8 = sqrt(t_7);
	tmp = 0.0;
	if (t_4 <= 0.95)
		tmp = ((1.0 + (1.0 / (sqrt(t_6) + sqrt((1.0 + t_6))))) - sqrt(t_4)) - ((t_2 - sqrt((t_1 - -1.0))) - (sqrt((t_7 - -1.0)) - t_8));
	else
		tmp = ((0.5 / (t_4 * sqrt((1.0 / t_4)))) + (sqrt((t_1 + 1.0)) - t_2)) + (sqrt((t_7 + 1.0)) - t_8);
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[Max[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, Block[{t$95$2 = N[Sqrt[t$95$1], $MachinePrecision]}, Block[{t$95$3 = N[Min[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, Block[{t$95$4 = N[Min[t$95$3, t], $MachinePrecision]}, Block[{t$95$5 = N[Max[t$95$3, t], $MachinePrecision]}, Block[{t$95$6 = N[Min[N[Max[x, y], $MachinePrecision], t$95$5], $MachinePrecision]}, Block[{t$95$7 = N[Max[N[Max[x, y], $MachinePrecision], t$95$5], $MachinePrecision]}, Block[{t$95$8 = N[Sqrt[t$95$7], $MachinePrecision]}, If[LessEqual[t$95$4, 0.95], N[(N[(N[(1.0 + N[(1.0 / N[(N[Sqrt[t$95$6], $MachinePrecision] + N[Sqrt[N[(1.0 + t$95$6), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[Sqrt[t$95$4], $MachinePrecision]), $MachinePrecision] - N[(N[(t$95$2 - N[Sqrt[N[(t$95$1 - -1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] - N[(N[Sqrt[N[(t$95$7 - -1.0), $MachinePrecision]], $MachinePrecision] - t$95$8), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(0.5 / N[(t$95$4 * N[Sqrt[N[(1.0 / t$95$4), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[Sqrt[N[(t$95$1 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$2), $MachinePrecision]), $MachinePrecision] + N[(N[Sqrt[N[(t$95$7 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$8), $MachinePrecision]), $MachinePrecision]]]]]]]]]]
\begin{array}{l}
t_1 := \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\\
t_2 := \sqrt{t\_1}\\
t_3 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\
t_4 := \mathsf{min}\left(t\_3, t\right)\\
t_5 := \mathsf{max}\left(t\_3, t\right)\\
t_6 := \mathsf{min}\left(\mathsf{max}\left(x, y\right), t\_5\right)\\
t_7 := \mathsf{max}\left(\mathsf{max}\left(x, y\right), t\_5\right)\\
t_8 := \sqrt{t\_7}\\
\mathbf{if}\;t\_4 \leq 0.95:\\
\;\;\;\;\left(\left(1 + \frac{1}{\sqrt{t\_6} + \sqrt{1 + t\_6}}\right) - \sqrt{t\_4}\right) - \left(\left(t\_2 - \sqrt{t\_1 - -1}\right) - \left(\sqrt{t\_7 - -1} - t\_8\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\frac{0.5}{t\_4 \cdot \sqrt{\frac{1}{t\_4}}} + \left(\sqrt{t\_1 + 1} - t\_2\right)\right) + \left(\sqrt{t\_7 + 1} - t\_8\right)\\


\end{array}
Derivation
  1. Split input into 2 regimes
  2. if x < 0.94999999999999996

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Step-by-step derivation
      1. lift--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\left(\sqrt{y + 1} - \sqrt{y}\right)}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. flip--N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-unsound-/.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-unsound--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. lower-unsound-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. lower-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1}} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      8. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\sqrt{y + 1} \cdot \color{blue}{\sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      9. rem-square-sqrtN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y + 1\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      10. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y + 1\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      11. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      12. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      13. metadata-evalN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - \color{blue}{-1}\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      14. lower-unsound-*.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \color{blue}{\sqrt{y} \cdot \sqrt{y}}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      15. lower-unsound-+.f6472.8

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\color{blue}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      16. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y + 1}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      17. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      18. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      19. metadata-eval72.8

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - \color{blue}{-1}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Applied rewrites72.8%

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right)} \]
      2. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. add-flipN/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. associate-+l-N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right) - \left(\sqrt{t + 1} - \sqrt{t}\right)\right)} \]
      5. lower--.f64N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\mathsf{neg}\left(\left(\sqrt{z + 1} - \sqrt{z}\right)\right)\right) - \left(\sqrt{t + 1} - \sqrt{t}\right)\right)} \]
    5. Applied rewrites92.1%

      \[\leadsto \color{blue}{\left(\left(\sqrt{x - -1} - \sqrt{x}\right) - \frac{y - \left(y - -1\right)}{\sqrt{y - -1} + \sqrt{y}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right)} \]
    6. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(\left(1 + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \sqrt{x}\right)} - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
    7. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(1 + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \color{blue}{\sqrt{x}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      2. lower-+.f64N/A

        \[\leadsto \left(\left(1 + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \sqrt{\color{blue}{x}}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      3. lower-/.f64N/A

        \[\leadsto \left(\left(1 + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \sqrt{x}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      4. lower-+.f64N/A

        \[\leadsto \left(\left(1 + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \sqrt{x}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      5. lower-sqrt.f64N/A

        \[\leadsto \left(\left(1 + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \sqrt{x}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      6. lower-sqrt.f64N/A

        \[\leadsto \left(\left(1 + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \sqrt{x}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      7. lower-+.f64N/A

        \[\leadsto \left(\left(1 + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \sqrt{x}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
      8. lower-sqrt.f6449.5

        \[\leadsto \left(\left(1 + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \sqrt{x}\right) - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]
    8. Applied rewrites49.5%

      \[\leadsto \color{blue}{\left(\left(1 + \frac{1}{\sqrt{y} + \sqrt{1 + y}}\right) - \sqrt{x}\right)} - \left(\left(\sqrt{z} - \sqrt{z - -1}\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right) \]

    if 0.94999999999999996 < x

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Taylor expanded in y around inf

      \[\leadsto \left(\color{blue}{\left(\sqrt{1 + x} - \sqrt{x}\right)} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \color{blue}{\sqrt{x}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-sqrt.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{\color{blue}{x}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-+.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{x}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-sqrt.f6450.9

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{x}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Applied rewrites50.9%

      \[\leadsto \left(\color{blue}{\left(\sqrt{1 + x} - \sqrt{x}\right)} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. Taylor expanded in x around inf

      \[\leadsto \left(\frac{\frac{1}{2}}{\color{blue}{x \cdot \sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \color{blue}{\sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-*.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-sqrt.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-/.f6426.6

        \[\leadsto \left(\frac{0.5}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. Applied rewrites26.6%

      \[\leadsto \left(\frac{0.5}{\color{blue}{x \cdot \sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 9: 95.5% accurate, 0.0× speedup?

\[\begin{array}{l} t_1 := \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\\ t_2 := \mathsf{max}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\ t_3 := \mathsf{min}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\ t_4 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\ t_5 := \mathsf{min}\left(t\_4, t\right)\\ t_6 := \sqrt{t\_5}\\ t_7 := \mathsf{max}\left(t\_4, t\right)\\ t_8 := \mathsf{max}\left(t\_3, t\_7\right)\\ t_9 := \mathsf{min}\left(t\_2, t\_8\right)\\ t_10 := \sqrt{t\_9}\\ t_11 := \sqrt{t\_9 + 1} - t\_10\\ t_12 := \mathsf{min}\left(t\_3, t\_7\right)\\ t_13 := \mathsf{max}\left(t\_2, t\_8\right)\\ t_14 := \sqrt{t\_13}\\ t_15 := \sqrt{t\_13 + 1} - t\_14\\ t_16 := \sqrt{1 + t\_12}\\ t_17 := \sqrt{t\_12}\\ t_18 := \left(\left(\left(\sqrt{t\_5 + 1} - t\_6\right) + \left(\sqrt{t\_12 + 1} - t\_17\right)\right) + t\_11\right) + t\_15\\ \mathbf{if}\;t\_18 \leq 10^{-5}:\\ \;\;\;\;\left(\frac{0.5}{t\_5 \cdot \sqrt{\frac{1}{t\_5}}} + t\_11\right) + t\_15\\ \mathbf{elif}\;t\_18 \leq 2:\\ \;\;\;\;\sqrt{t\_5 - -1} - \left(\left(t\_6 - \left(\sqrt{t\_12 - -1} - t\_17\right)\right) - \left(\sqrt{t\_13 - -1} - t\_14\right)\right)\\ \mathbf{elif}\;t\_18 \leq 2.999995:\\ \;\;\;\;\left(\sqrt{1 + t\_5} + \left(t\_16 + \sqrt{1 + t\_9}\right)\right) - \left(t\_6 + \left(t\_17 + t\_10\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(1 + t\_16\right) - \left(t\_6 + t\_17\right)\right) + \left(1 - t\_10\right)\right) + t\_15\\ \end{array} \]
(FPCore (x y z t)
 :precision binary64
 (let* ((t_1 (fmax (fmin x y) z))
        (t_2 (fmax (fmax x y) t_1))
        (t_3 (fmin (fmax x y) t_1))
        (t_4 (fmin (fmin x y) z))
        (t_5 (fmin t_4 t))
        (t_6 (sqrt t_5))
        (t_7 (fmax t_4 t))
        (t_8 (fmax t_3 t_7))
        (t_9 (fmin t_2 t_8))
        (t_10 (sqrt t_9))
        (t_11 (- (sqrt (+ t_9 1.0)) t_10))
        (t_12 (fmin t_3 t_7))
        (t_13 (fmax t_2 t_8))
        (t_14 (sqrt t_13))
        (t_15 (- (sqrt (+ t_13 1.0)) t_14))
        (t_16 (sqrt (+ 1.0 t_12)))
        (t_17 (sqrt t_12))
        (t_18
         (+
          (+ (+ (- (sqrt (+ t_5 1.0)) t_6) (- (sqrt (+ t_12 1.0)) t_17)) t_11)
          t_15)))
   (if (<= t_18 1e-5)
     (+ (+ (/ 0.5 (* t_5 (sqrt (/ 1.0 t_5)))) t_11) t_15)
     (if (<= t_18 2.0)
       (-
        (sqrt (- t_5 -1.0))
        (-
         (- t_6 (- (sqrt (- t_12 -1.0)) t_17))
         (- (sqrt (- t_13 -1.0)) t_14)))
       (if (<= t_18 2.999995)
         (-
          (+ (sqrt (+ 1.0 t_5)) (+ t_16 (sqrt (+ 1.0 t_9))))
          (+ t_6 (+ t_17 t_10)))
         (+ (+ (- (+ 1.0 t_16) (+ t_6 t_17)) (- 1.0 t_10)) t_15))))))
double code(double x, double y, double z, double t) {
	double t_1 = fmax(fmin(x, y), z);
	double t_2 = fmax(fmax(x, y), t_1);
	double t_3 = fmin(fmax(x, y), t_1);
	double t_4 = fmin(fmin(x, y), z);
	double t_5 = fmin(t_4, t);
	double t_6 = sqrt(t_5);
	double t_7 = fmax(t_4, t);
	double t_8 = fmax(t_3, t_7);
	double t_9 = fmin(t_2, t_8);
	double t_10 = sqrt(t_9);
	double t_11 = sqrt((t_9 + 1.0)) - t_10;
	double t_12 = fmin(t_3, t_7);
	double t_13 = fmax(t_2, t_8);
	double t_14 = sqrt(t_13);
	double t_15 = sqrt((t_13 + 1.0)) - t_14;
	double t_16 = sqrt((1.0 + t_12));
	double t_17 = sqrt(t_12);
	double t_18 = (((sqrt((t_5 + 1.0)) - t_6) + (sqrt((t_12 + 1.0)) - t_17)) + t_11) + t_15;
	double tmp;
	if (t_18 <= 1e-5) {
		tmp = ((0.5 / (t_5 * sqrt((1.0 / t_5)))) + t_11) + t_15;
	} else if (t_18 <= 2.0) {
		tmp = sqrt((t_5 - -1.0)) - ((t_6 - (sqrt((t_12 - -1.0)) - t_17)) - (sqrt((t_13 - -1.0)) - t_14));
	} else if (t_18 <= 2.999995) {
		tmp = (sqrt((1.0 + t_5)) + (t_16 + sqrt((1.0 + t_9)))) - (t_6 + (t_17 + t_10));
	} else {
		tmp = (((1.0 + t_16) - (t_6 + t_17)) + (1.0 - t_10)) + t_15;
	}
	return tmp;
}
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, z, t)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8) :: t_1
    real(8) :: t_10
    real(8) :: t_11
    real(8) :: t_12
    real(8) :: t_13
    real(8) :: t_14
    real(8) :: t_15
    real(8) :: t_16
    real(8) :: t_17
    real(8) :: t_18
    real(8) :: t_2
    real(8) :: t_3
    real(8) :: t_4
    real(8) :: t_5
    real(8) :: t_6
    real(8) :: t_7
    real(8) :: t_8
    real(8) :: t_9
    real(8) :: tmp
    t_1 = fmax(fmin(x, y), z)
    t_2 = fmax(fmax(x, y), t_1)
    t_3 = fmin(fmax(x, y), t_1)
    t_4 = fmin(fmin(x, y), z)
    t_5 = fmin(t_4, t)
    t_6 = sqrt(t_5)
    t_7 = fmax(t_4, t)
    t_8 = fmax(t_3, t_7)
    t_9 = fmin(t_2, t_8)
    t_10 = sqrt(t_9)
    t_11 = sqrt((t_9 + 1.0d0)) - t_10
    t_12 = fmin(t_3, t_7)
    t_13 = fmax(t_2, t_8)
    t_14 = sqrt(t_13)
    t_15 = sqrt((t_13 + 1.0d0)) - t_14
    t_16 = sqrt((1.0d0 + t_12))
    t_17 = sqrt(t_12)
    t_18 = (((sqrt((t_5 + 1.0d0)) - t_6) + (sqrt((t_12 + 1.0d0)) - t_17)) + t_11) + t_15
    if (t_18 <= 1d-5) then
        tmp = ((0.5d0 / (t_5 * sqrt((1.0d0 / t_5)))) + t_11) + t_15
    else if (t_18 <= 2.0d0) then
        tmp = sqrt((t_5 - (-1.0d0))) - ((t_6 - (sqrt((t_12 - (-1.0d0))) - t_17)) - (sqrt((t_13 - (-1.0d0))) - t_14))
    else if (t_18 <= 2.999995d0) then
        tmp = (sqrt((1.0d0 + t_5)) + (t_16 + sqrt((1.0d0 + t_9)))) - (t_6 + (t_17 + t_10))
    else
        tmp = (((1.0d0 + t_16) - (t_6 + t_17)) + (1.0d0 - t_10)) + t_15
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t) {
	double t_1 = fmax(fmin(x, y), z);
	double t_2 = fmax(fmax(x, y), t_1);
	double t_3 = fmin(fmax(x, y), t_1);
	double t_4 = fmin(fmin(x, y), z);
	double t_5 = fmin(t_4, t);
	double t_6 = Math.sqrt(t_5);
	double t_7 = fmax(t_4, t);
	double t_8 = fmax(t_3, t_7);
	double t_9 = fmin(t_2, t_8);
	double t_10 = Math.sqrt(t_9);
	double t_11 = Math.sqrt((t_9 + 1.0)) - t_10;
	double t_12 = fmin(t_3, t_7);
	double t_13 = fmax(t_2, t_8);
	double t_14 = Math.sqrt(t_13);
	double t_15 = Math.sqrt((t_13 + 1.0)) - t_14;
	double t_16 = Math.sqrt((1.0 + t_12));
	double t_17 = Math.sqrt(t_12);
	double t_18 = (((Math.sqrt((t_5 + 1.0)) - t_6) + (Math.sqrt((t_12 + 1.0)) - t_17)) + t_11) + t_15;
	double tmp;
	if (t_18 <= 1e-5) {
		tmp = ((0.5 / (t_5 * Math.sqrt((1.0 / t_5)))) + t_11) + t_15;
	} else if (t_18 <= 2.0) {
		tmp = Math.sqrt((t_5 - -1.0)) - ((t_6 - (Math.sqrt((t_12 - -1.0)) - t_17)) - (Math.sqrt((t_13 - -1.0)) - t_14));
	} else if (t_18 <= 2.999995) {
		tmp = (Math.sqrt((1.0 + t_5)) + (t_16 + Math.sqrt((1.0 + t_9)))) - (t_6 + (t_17 + t_10));
	} else {
		tmp = (((1.0 + t_16) - (t_6 + t_17)) + (1.0 - t_10)) + t_15;
	}
	return tmp;
}
def code(x, y, z, t):
	t_1 = fmax(fmin(x, y), z)
	t_2 = fmax(fmax(x, y), t_1)
	t_3 = fmin(fmax(x, y), t_1)
	t_4 = fmin(fmin(x, y), z)
	t_5 = fmin(t_4, t)
	t_6 = math.sqrt(t_5)
	t_7 = fmax(t_4, t)
	t_8 = fmax(t_3, t_7)
	t_9 = fmin(t_2, t_8)
	t_10 = math.sqrt(t_9)
	t_11 = math.sqrt((t_9 + 1.0)) - t_10
	t_12 = fmin(t_3, t_7)
	t_13 = fmax(t_2, t_8)
	t_14 = math.sqrt(t_13)
	t_15 = math.sqrt((t_13 + 1.0)) - t_14
	t_16 = math.sqrt((1.0 + t_12))
	t_17 = math.sqrt(t_12)
	t_18 = (((math.sqrt((t_5 + 1.0)) - t_6) + (math.sqrt((t_12 + 1.0)) - t_17)) + t_11) + t_15
	tmp = 0
	if t_18 <= 1e-5:
		tmp = ((0.5 / (t_5 * math.sqrt((1.0 / t_5)))) + t_11) + t_15
	elif t_18 <= 2.0:
		tmp = math.sqrt((t_5 - -1.0)) - ((t_6 - (math.sqrt((t_12 - -1.0)) - t_17)) - (math.sqrt((t_13 - -1.0)) - t_14))
	elif t_18 <= 2.999995:
		tmp = (math.sqrt((1.0 + t_5)) + (t_16 + math.sqrt((1.0 + t_9)))) - (t_6 + (t_17 + t_10))
	else:
		tmp = (((1.0 + t_16) - (t_6 + t_17)) + (1.0 - t_10)) + t_15
	return tmp
function code(x, y, z, t)
	t_1 = fmax(fmin(x, y), z)
	t_2 = fmax(fmax(x, y), t_1)
	t_3 = fmin(fmax(x, y), t_1)
	t_4 = fmin(fmin(x, y), z)
	t_5 = fmin(t_4, t)
	t_6 = sqrt(t_5)
	t_7 = fmax(t_4, t)
	t_8 = fmax(t_3, t_7)
	t_9 = fmin(t_2, t_8)
	t_10 = sqrt(t_9)
	t_11 = Float64(sqrt(Float64(t_9 + 1.0)) - t_10)
	t_12 = fmin(t_3, t_7)
	t_13 = fmax(t_2, t_8)
	t_14 = sqrt(t_13)
	t_15 = Float64(sqrt(Float64(t_13 + 1.0)) - t_14)
	t_16 = sqrt(Float64(1.0 + t_12))
	t_17 = sqrt(t_12)
	t_18 = Float64(Float64(Float64(Float64(sqrt(Float64(t_5 + 1.0)) - t_6) + Float64(sqrt(Float64(t_12 + 1.0)) - t_17)) + t_11) + t_15)
	tmp = 0.0
	if (t_18 <= 1e-5)
		tmp = Float64(Float64(Float64(0.5 / Float64(t_5 * sqrt(Float64(1.0 / t_5)))) + t_11) + t_15);
	elseif (t_18 <= 2.0)
		tmp = Float64(sqrt(Float64(t_5 - -1.0)) - Float64(Float64(t_6 - Float64(sqrt(Float64(t_12 - -1.0)) - t_17)) - Float64(sqrt(Float64(t_13 - -1.0)) - t_14)));
	elseif (t_18 <= 2.999995)
		tmp = Float64(Float64(sqrt(Float64(1.0 + t_5)) + Float64(t_16 + sqrt(Float64(1.0 + t_9)))) - Float64(t_6 + Float64(t_17 + t_10)));
	else
		tmp = Float64(Float64(Float64(Float64(1.0 + t_16) - Float64(t_6 + t_17)) + Float64(1.0 - t_10)) + t_15);
	end
	return tmp
end
function tmp_2 = code(x, y, z, t)
	t_1 = max(min(x, y), z);
	t_2 = max(max(x, y), t_1);
	t_3 = min(max(x, y), t_1);
	t_4 = min(min(x, y), z);
	t_5 = min(t_4, t);
	t_6 = sqrt(t_5);
	t_7 = max(t_4, t);
	t_8 = max(t_3, t_7);
	t_9 = min(t_2, t_8);
	t_10 = sqrt(t_9);
	t_11 = sqrt((t_9 + 1.0)) - t_10;
	t_12 = min(t_3, t_7);
	t_13 = max(t_2, t_8);
	t_14 = sqrt(t_13);
	t_15 = sqrt((t_13 + 1.0)) - t_14;
	t_16 = sqrt((1.0 + t_12));
	t_17 = sqrt(t_12);
	t_18 = (((sqrt((t_5 + 1.0)) - t_6) + (sqrt((t_12 + 1.0)) - t_17)) + t_11) + t_15;
	tmp = 0.0;
	if (t_18 <= 1e-5)
		tmp = ((0.5 / (t_5 * sqrt((1.0 / t_5)))) + t_11) + t_15;
	elseif (t_18 <= 2.0)
		tmp = sqrt((t_5 - -1.0)) - ((t_6 - (sqrt((t_12 - -1.0)) - t_17)) - (sqrt((t_13 - -1.0)) - t_14));
	elseif (t_18 <= 2.999995)
		tmp = (sqrt((1.0 + t_5)) + (t_16 + sqrt((1.0 + t_9)))) - (t_6 + (t_17 + t_10));
	else
		tmp = (((1.0 + t_16) - (t_6 + t_17)) + (1.0 - t_10)) + t_15;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[Max[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, Block[{t$95$2 = N[Max[N[Max[x, y], $MachinePrecision], t$95$1], $MachinePrecision]}, Block[{t$95$3 = N[Min[N[Max[x, y], $MachinePrecision], t$95$1], $MachinePrecision]}, Block[{t$95$4 = N[Min[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, Block[{t$95$5 = N[Min[t$95$4, t], $MachinePrecision]}, Block[{t$95$6 = N[Sqrt[t$95$5], $MachinePrecision]}, Block[{t$95$7 = N[Max[t$95$4, t], $MachinePrecision]}, Block[{t$95$8 = N[Max[t$95$3, t$95$7], $MachinePrecision]}, Block[{t$95$9 = N[Min[t$95$2, t$95$8], $MachinePrecision]}, Block[{t$95$10 = N[Sqrt[t$95$9], $MachinePrecision]}, Block[{t$95$11 = N[(N[Sqrt[N[(t$95$9 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$10), $MachinePrecision]}, Block[{t$95$12 = N[Min[t$95$3, t$95$7], $MachinePrecision]}, Block[{t$95$13 = N[Max[t$95$2, t$95$8], $MachinePrecision]}, Block[{t$95$14 = N[Sqrt[t$95$13], $MachinePrecision]}, Block[{t$95$15 = N[(N[Sqrt[N[(t$95$13 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$14), $MachinePrecision]}, Block[{t$95$16 = N[Sqrt[N[(1.0 + t$95$12), $MachinePrecision]], $MachinePrecision]}, Block[{t$95$17 = N[Sqrt[t$95$12], $MachinePrecision]}, Block[{t$95$18 = N[(N[(N[(N[(N[Sqrt[N[(t$95$5 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$6), $MachinePrecision] + N[(N[Sqrt[N[(t$95$12 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$17), $MachinePrecision]), $MachinePrecision] + t$95$11), $MachinePrecision] + t$95$15), $MachinePrecision]}, If[LessEqual[t$95$18, 1e-5], N[(N[(N[(0.5 / N[(t$95$5 * N[Sqrt[N[(1.0 / t$95$5), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$11), $MachinePrecision] + t$95$15), $MachinePrecision], If[LessEqual[t$95$18, 2.0], N[(N[Sqrt[N[(t$95$5 - -1.0), $MachinePrecision]], $MachinePrecision] - N[(N[(t$95$6 - N[(N[Sqrt[N[(t$95$12 - -1.0), $MachinePrecision]], $MachinePrecision] - t$95$17), $MachinePrecision]), $MachinePrecision] - N[(N[Sqrt[N[(t$95$13 - -1.0), $MachinePrecision]], $MachinePrecision] - t$95$14), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$18, 2.999995], N[(N[(N[Sqrt[N[(1.0 + t$95$5), $MachinePrecision]], $MachinePrecision] + N[(t$95$16 + N[Sqrt[N[(1.0 + t$95$9), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(t$95$6 + N[(t$95$17 + t$95$10), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(N[(1.0 + t$95$16), $MachinePrecision] - N[(t$95$6 + t$95$17), $MachinePrecision]), $MachinePrecision] + N[(1.0 - t$95$10), $MachinePrecision]), $MachinePrecision] + t$95$15), $MachinePrecision]]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
t_1 := \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\\
t_2 := \mathsf{max}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\
t_3 := \mathsf{min}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\
t_4 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\
t_5 := \mathsf{min}\left(t\_4, t\right)\\
t_6 := \sqrt{t\_5}\\
t_7 := \mathsf{max}\left(t\_4, t\right)\\
t_8 := \mathsf{max}\left(t\_3, t\_7\right)\\
t_9 := \mathsf{min}\left(t\_2, t\_8\right)\\
t_10 := \sqrt{t\_9}\\
t_11 := \sqrt{t\_9 + 1} - t\_10\\
t_12 := \mathsf{min}\left(t\_3, t\_7\right)\\
t_13 := \mathsf{max}\left(t\_2, t\_8\right)\\
t_14 := \sqrt{t\_13}\\
t_15 := \sqrt{t\_13 + 1} - t\_14\\
t_16 := \sqrt{1 + t\_12}\\
t_17 := \sqrt{t\_12}\\
t_18 := \left(\left(\left(\sqrt{t\_5 + 1} - t\_6\right) + \left(\sqrt{t\_12 + 1} - t\_17\right)\right) + t\_11\right) + t\_15\\
\mathbf{if}\;t\_18 \leq 10^{-5}:\\
\;\;\;\;\left(\frac{0.5}{t\_5 \cdot \sqrt{\frac{1}{t\_5}}} + t\_11\right) + t\_15\\

\mathbf{elif}\;t\_18 \leq 2:\\
\;\;\;\;\sqrt{t\_5 - -1} - \left(\left(t\_6 - \left(\sqrt{t\_12 - -1} - t\_17\right)\right) - \left(\sqrt{t\_13 - -1} - t\_14\right)\right)\\

\mathbf{elif}\;t\_18 \leq 2.999995:\\
\;\;\;\;\left(\sqrt{1 + t\_5} + \left(t\_16 + \sqrt{1 + t\_9}\right)\right) - \left(t\_6 + \left(t\_17 + t\_10\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\left(\left(1 + t\_16\right) - \left(t\_6 + t\_17\right)\right) + \left(1 - t\_10\right)\right) + t\_15\\


\end{array}
Derivation
  1. Split input into 4 regimes
  2. if (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t))) < 1.00000000000000008e-5

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Taylor expanded in y around inf

      \[\leadsto \left(\color{blue}{\left(\sqrt{1 + x} - \sqrt{x}\right)} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \color{blue}{\sqrt{x}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-sqrt.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{\color{blue}{x}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-+.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{x}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-sqrt.f6450.9

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{x}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Applied rewrites50.9%

      \[\leadsto \left(\color{blue}{\left(\sqrt{1 + x} - \sqrt{x}\right)} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. Taylor expanded in x around inf

      \[\leadsto \left(\frac{\frac{1}{2}}{\color{blue}{x \cdot \sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \color{blue}{\sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-*.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-sqrt.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-/.f6426.6

        \[\leadsto \left(\frac{0.5}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. Applied rewrites26.6%

      \[\leadsto \left(\frac{0.5}{\color{blue}{x \cdot \sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]

    if 1.00000000000000008e-5 < (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t))) < 2

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. +-commutativeN/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lift-+.f64N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lift--.f64N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \left(\color{blue}{\left(\sqrt{x + 1} - \sqrt{x}\right)} + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. associate-+l-N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \color{blue}{\left(\sqrt{x + 1} - \left(\sqrt{x} - \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. associate-+r-N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lift--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \color{blue}{\left(\sqrt{y + 1} - \sqrt{y}\right)}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      8. associate--r-N/A

        \[\leadsto \left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \color{blue}{\left(\left(\sqrt{x} - \sqrt{y + 1}\right) + \sqrt{y}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      9. associate--r+N/A

        \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \sqrt{y + 1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      10. lower--.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \sqrt{y + 1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Applied rewrites37.7%

      \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z - -1} - \sqrt{z}\right) + \sqrt{x - -1}\right) - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Taylor expanded in z around inf

      \[\leadsto \left(\left(\color{blue}{\sqrt{1 + x}} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. Step-by-step derivation
      1. lower-sqrt.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-+.f6426.0

        \[\leadsto \left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. Applied rewrites26.0%

      \[\leadsto \left(\left(\color{blue}{\sqrt{1 + x}} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right)} \]
    8. Applied rewrites32.5%

      \[\leadsto \color{blue}{\sqrt{x - -1} - \left(\left(\sqrt{x} - \left(\sqrt{y - -1} - \sqrt{y}\right)\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right)} \]

    if 2 < (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t))) < 2.9999950000000002

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Taylor expanded in t around inf

      \[\leadsto \color{blue}{\left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right)} \]
    3. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \color{blue}{\left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right)} \]
      2. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\color{blue}{\sqrt{x}} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      3. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{\color{blue}{x}} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      4. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      5. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      6. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      7. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      8. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      9. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      10. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \color{blue}{\left(\sqrt{y} + \sqrt{z}\right)}\right) \]
      11. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\color{blue}{\sqrt{y}} + \sqrt{z}\right)\right) \]
      12. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \color{blue}{\sqrt{z}}\right)\right) \]
    4. Applied rewrites11.7%

      \[\leadsto \color{blue}{\left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right)} \]

    if 2.9999950000000002 < (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t)))

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Taylor expanded in z around 0

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\left(1 - \sqrt{z}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(1 - \color{blue}{\sqrt{z}}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-sqrt.f6448.8

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Applied rewrites48.8%

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\left(1 - \sqrt{z}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. Taylor expanded in x around 0

      \[\leadsto \left(\color{blue}{\left(\left(1 + \sqrt{1 + y}\right) - \left(\sqrt{x} + \sqrt{y}\right)\right)} + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(\left(1 + \sqrt{1 + y}\right) - \color{blue}{\left(\sqrt{x} + \sqrt{y}\right)}\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-+.f64N/A

        \[\leadsto \left(\left(\left(1 + \sqrt{1 + y}\right) - \left(\color{blue}{\sqrt{x}} + \sqrt{y}\right)\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-sqrt.f64N/A

        \[\leadsto \left(\left(\left(1 + \sqrt{1 + y}\right) - \left(\sqrt{x} + \sqrt{y}\right)\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-+.f64N/A

        \[\leadsto \left(\left(\left(1 + \sqrt{1 + y}\right) - \left(\sqrt{x} + \sqrt{y}\right)\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. lower-+.f64N/A

        \[\leadsto \left(\left(\left(1 + \sqrt{1 + y}\right) - \left(\sqrt{x} + \color{blue}{\sqrt{y}}\right)\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. lower-sqrt.f64N/A

        \[\leadsto \left(\left(\left(1 + \sqrt{1 + y}\right) - \left(\sqrt{x} + \sqrt{\color{blue}{y}}\right)\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lower-sqrt.f6420.5

        \[\leadsto \left(\left(\left(1 + \sqrt{1 + y}\right) - \left(\sqrt{x} + \sqrt{y}\right)\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. Applied rewrites20.5%

      \[\leadsto \left(\color{blue}{\left(\left(1 + \sqrt{1 + y}\right) - \left(\sqrt{x} + \sqrt{y}\right)\right)} + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
  3. Recombined 4 regimes into one program.
  4. Add Preprocessing

Alternative 10: 95.5% accurate, 0.0× speedup?

\[\begin{array}{l} t_1 := \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\\ t_2 := \mathsf{max}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\ t_3 := \mathsf{min}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\ t_4 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\ t_5 := \mathsf{min}\left(t\_4, t\right)\\ t_6 := \sqrt{t\_5}\\ t_7 := \sqrt{t\_5 + 1} - t\_6\\ t_8 := \mathsf{max}\left(t\_4, t\right)\\ t_9 := \mathsf{max}\left(t\_3, t\_8\right)\\ t_10 := \mathsf{min}\left(t\_2, t\_9\right)\\ t_11 := \sqrt{t\_10}\\ t_12 := \sqrt{t\_10 + 1} - t\_11\\ t_13 := \mathsf{min}\left(t\_3, t\_8\right)\\ t_14 := \mathsf{max}\left(t\_2, t\_9\right)\\ t_15 := \sqrt{t\_14}\\ t_16 := \sqrt{t\_14 + 1} - t\_15\\ t_17 := \sqrt{t\_13}\\ t_18 := \left(\left(t\_7 + \left(\sqrt{t\_13 + 1} - t\_17\right)\right) + t\_12\right) + t\_16\\ \mathbf{if}\;t\_18 \leq 10^{-5}:\\ \;\;\;\;\left(\frac{0.5}{t\_5 \cdot \sqrt{\frac{1}{t\_5}}} + t\_12\right) + t\_16\\ \mathbf{elif}\;t\_18 \leq 2:\\ \;\;\;\;\sqrt{t\_5 - -1} - \left(\left(t\_6 - \left(\sqrt{t\_13 - -1} - t\_17\right)\right) - \left(\sqrt{t\_14 - -1} - t\_15\right)\right)\\ \mathbf{elif}\;t\_18 \leq 2.999995:\\ \;\;\;\;\left(\sqrt{1 + t\_5} + \left(\sqrt{1 + t\_13} + \sqrt{1 + t\_10}\right)\right) - \left(t\_6 + \left(t\_17 + t\_11\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(t\_7 + \left(1 - t\_17\right)\right) + \left(1 - t\_11\right)\right) + t\_16\\ \end{array} \]
(FPCore (x y z t)
 :precision binary64
 (let* ((t_1 (fmax (fmin x y) z))
        (t_2 (fmax (fmax x y) t_1))
        (t_3 (fmin (fmax x y) t_1))
        (t_4 (fmin (fmin x y) z))
        (t_5 (fmin t_4 t))
        (t_6 (sqrt t_5))
        (t_7 (- (sqrt (+ t_5 1.0)) t_6))
        (t_8 (fmax t_4 t))
        (t_9 (fmax t_3 t_8))
        (t_10 (fmin t_2 t_9))
        (t_11 (sqrt t_10))
        (t_12 (- (sqrt (+ t_10 1.0)) t_11))
        (t_13 (fmin t_3 t_8))
        (t_14 (fmax t_2 t_9))
        (t_15 (sqrt t_14))
        (t_16 (- (sqrt (+ t_14 1.0)) t_15))
        (t_17 (sqrt t_13))
        (t_18 (+ (+ (+ t_7 (- (sqrt (+ t_13 1.0)) t_17)) t_12) t_16)))
   (if (<= t_18 1e-5)
     (+ (+ (/ 0.5 (* t_5 (sqrt (/ 1.0 t_5)))) t_12) t_16)
     (if (<= t_18 2.0)
       (-
        (sqrt (- t_5 -1.0))
        (-
         (- t_6 (- (sqrt (- t_13 -1.0)) t_17))
         (- (sqrt (- t_14 -1.0)) t_15)))
       (if (<= t_18 2.999995)
         (-
          (+ (sqrt (+ 1.0 t_5)) (+ (sqrt (+ 1.0 t_13)) (sqrt (+ 1.0 t_10))))
          (+ t_6 (+ t_17 t_11)))
         (+ (+ (+ t_7 (- 1.0 t_17)) (- 1.0 t_11)) t_16))))))
double code(double x, double y, double z, double t) {
	double t_1 = fmax(fmin(x, y), z);
	double t_2 = fmax(fmax(x, y), t_1);
	double t_3 = fmin(fmax(x, y), t_1);
	double t_4 = fmin(fmin(x, y), z);
	double t_5 = fmin(t_4, t);
	double t_6 = sqrt(t_5);
	double t_7 = sqrt((t_5 + 1.0)) - t_6;
	double t_8 = fmax(t_4, t);
	double t_9 = fmax(t_3, t_8);
	double t_10 = fmin(t_2, t_9);
	double t_11 = sqrt(t_10);
	double t_12 = sqrt((t_10 + 1.0)) - t_11;
	double t_13 = fmin(t_3, t_8);
	double t_14 = fmax(t_2, t_9);
	double t_15 = sqrt(t_14);
	double t_16 = sqrt((t_14 + 1.0)) - t_15;
	double t_17 = sqrt(t_13);
	double t_18 = ((t_7 + (sqrt((t_13 + 1.0)) - t_17)) + t_12) + t_16;
	double tmp;
	if (t_18 <= 1e-5) {
		tmp = ((0.5 / (t_5 * sqrt((1.0 / t_5)))) + t_12) + t_16;
	} else if (t_18 <= 2.0) {
		tmp = sqrt((t_5 - -1.0)) - ((t_6 - (sqrt((t_13 - -1.0)) - t_17)) - (sqrt((t_14 - -1.0)) - t_15));
	} else if (t_18 <= 2.999995) {
		tmp = (sqrt((1.0 + t_5)) + (sqrt((1.0 + t_13)) + sqrt((1.0 + t_10)))) - (t_6 + (t_17 + t_11));
	} else {
		tmp = ((t_7 + (1.0 - t_17)) + (1.0 - t_11)) + t_16;
	}
	return tmp;
}
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, z, t)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8) :: t_1
    real(8) :: t_10
    real(8) :: t_11
    real(8) :: t_12
    real(8) :: t_13
    real(8) :: t_14
    real(8) :: t_15
    real(8) :: t_16
    real(8) :: t_17
    real(8) :: t_18
    real(8) :: t_2
    real(8) :: t_3
    real(8) :: t_4
    real(8) :: t_5
    real(8) :: t_6
    real(8) :: t_7
    real(8) :: t_8
    real(8) :: t_9
    real(8) :: tmp
    t_1 = fmax(fmin(x, y), z)
    t_2 = fmax(fmax(x, y), t_1)
    t_3 = fmin(fmax(x, y), t_1)
    t_4 = fmin(fmin(x, y), z)
    t_5 = fmin(t_4, t)
    t_6 = sqrt(t_5)
    t_7 = sqrt((t_5 + 1.0d0)) - t_6
    t_8 = fmax(t_4, t)
    t_9 = fmax(t_3, t_8)
    t_10 = fmin(t_2, t_9)
    t_11 = sqrt(t_10)
    t_12 = sqrt((t_10 + 1.0d0)) - t_11
    t_13 = fmin(t_3, t_8)
    t_14 = fmax(t_2, t_9)
    t_15 = sqrt(t_14)
    t_16 = sqrt((t_14 + 1.0d0)) - t_15
    t_17 = sqrt(t_13)
    t_18 = ((t_7 + (sqrt((t_13 + 1.0d0)) - t_17)) + t_12) + t_16
    if (t_18 <= 1d-5) then
        tmp = ((0.5d0 / (t_5 * sqrt((1.0d0 / t_5)))) + t_12) + t_16
    else if (t_18 <= 2.0d0) then
        tmp = sqrt((t_5 - (-1.0d0))) - ((t_6 - (sqrt((t_13 - (-1.0d0))) - t_17)) - (sqrt((t_14 - (-1.0d0))) - t_15))
    else if (t_18 <= 2.999995d0) then
        tmp = (sqrt((1.0d0 + t_5)) + (sqrt((1.0d0 + t_13)) + sqrt((1.0d0 + t_10)))) - (t_6 + (t_17 + t_11))
    else
        tmp = ((t_7 + (1.0d0 - t_17)) + (1.0d0 - t_11)) + t_16
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t) {
	double t_1 = fmax(fmin(x, y), z);
	double t_2 = fmax(fmax(x, y), t_1);
	double t_3 = fmin(fmax(x, y), t_1);
	double t_4 = fmin(fmin(x, y), z);
	double t_5 = fmin(t_4, t);
	double t_6 = Math.sqrt(t_5);
	double t_7 = Math.sqrt((t_5 + 1.0)) - t_6;
	double t_8 = fmax(t_4, t);
	double t_9 = fmax(t_3, t_8);
	double t_10 = fmin(t_2, t_9);
	double t_11 = Math.sqrt(t_10);
	double t_12 = Math.sqrt((t_10 + 1.0)) - t_11;
	double t_13 = fmin(t_3, t_8);
	double t_14 = fmax(t_2, t_9);
	double t_15 = Math.sqrt(t_14);
	double t_16 = Math.sqrt((t_14 + 1.0)) - t_15;
	double t_17 = Math.sqrt(t_13);
	double t_18 = ((t_7 + (Math.sqrt((t_13 + 1.0)) - t_17)) + t_12) + t_16;
	double tmp;
	if (t_18 <= 1e-5) {
		tmp = ((0.5 / (t_5 * Math.sqrt((1.0 / t_5)))) + t_12) + t_16;
	} else if (t_18 <= 2.0) {
		tmp = Math.sqrt((t_5 - -1.0)) - ((t_6 - (Math.sqrt((t_13 - -1.0)) - t_17)) - (Math.sqrt((t_14 - -1.0)) - t_15));
	} else if (t_18 <= 2.999995) {
		tmp = (Math.sqrt((1.0 + t_5)) + (Math.sqrt((1.0 + t_13)) + Math.sqrt((1.0 + t_10)))) - (t_6 + (t_17 + t_11));
	} else {
		tmp = ((t_7 + (1.0 - t_17)) + (1.0 - t_11)) + t_16;
	}
	return tmp;
}
def code(x, y, z, t):
	t_1 = fmax(fmin(x, y), z)
	t_2 = fmax(fmax(x, y), t_1)
	t_3 = fmin(fmax(x, y), t_1)
	t_4 = fmin(fmin(x, y), z)
	t_5 = fmin(t_4, t)
	t_6 = math.sqrt(t_5)
	t_7 = math.sqrt((t_5 + 1.0)) - t_6
	t_8 = fmax(t_4, t)
	t_9 = fmax(t_3, t_8)
	t_10 = fmin(t_2, t_9)
	t_11 = math.sqrt(t_10)
	t_12 = math.sqrt((t_10 + 1.0)) - t_11
	t_13 = fmin(t_3, t_8)
	t_14 = fmax(t_2, t_9)
	t_15 = math.sqrt(t_14)
	t_16 = math.sqrt((t_14 + 1.0)) - t_15
	t_17 = math.sqrt(t_13)
	t_18 = ((t_7 + (math.sqrt((t_13 + 1.0)) - t_17)) + t_12) + t_16
	tmp = 0
	if t_18 <= 1e-5:
		tmp = ((0.5 / (t_5 * math.sqrt((1.0 / t_5)))) + t_12) + t_16
	elif t_18 <= 2.0:
		tmp = math.sqrt((t_5 - -1.0)) - ((t_6 - (math.sqrt((t_13 - -1.0)) - t_17)) - (math.sqrt((t_14 - -1.0)) - t_15))
	elif t_18 <= 2.999995:
		tmp = (math.sqrt((1.0 + t_5)) + (math.sqrt((1.0 + t_13)) + math.sqrt((1.0 + t_10)))) - (t_6 + (t_17 + t_11))
	else:
		tmp = ((t_7 + (1.0 - t_17)) + (1.0 - t_11)) + t_16
	return tmp
function code(x, y, z, t)
	t_1 = fmax(fmin(x, y), z)
	t_2 = fmax(fmax(x, y), t_1)
	t_3 = fmin(fmax(x, y), t_1)
	t_4 = fmin(fmin(x, y), z)
	t_5 = fmin(t_4, t)
	t_6 = sqrt(t_5)
	t_7 = Float64(sqrt(Float64(t_5 + 1.0)) - t_6)
	t_8 = fmax(t_4, t)
	t_9 = fmax(t_3, t_8)
	t_10 = fmin(t_2, t_9)
	t_11 = sqrt(t_10)
	t_12 = Float64(sqrt(Float64(t_10 + 1.0)) - t_11)
	t_13 = fmin(t_3, t_8)
	t_14 = fmax(t_2, t_9)
	t_15 = sqrt(t_14)
	t_16 = Float64(sqrt(Float64(t_14 + 1.0)) - t_15)
	t_17 = sqrt(t_13)
	t_18 = Float64(Float64(Float64(t_7 + Float64(sqrt(Float64(t_13 + 1.0)) - t_17)) + t_12) + t_16)
	tmp = 0.0
	if (t_18 <= 1e-5)
		tmp = Float64(Float64(Float64(0.5 / Float64(t_5 * sqrt(Float64(1.0 / t_5)))) + t_12) + t_16);
	elseif (t_18 <= 2.0)
		tmp = Float64(sqrt(Float64(t_5 - -1.0)) - Float64(Float64(t_6 - Float64(sqrt(Float64(t_13 - -1.0)) - t_17)) - Float64(sqrt(Float64(t_14 - -1.0)) - t_15)));
	elseif (t_18 <= 2.999995)
		tmp = Float64(Float64(sqrt(Float64(1.0 + t_5)) + Float64(sqrt(Float64(1.0 + t_13)) + sqrt(Float64(1.0 + t_10)))) - Float64(t_6 + Float64(t_17 + t_11)));
	else
		tmp = Float64(Float64(Float64(t_7 + Float64(1.0 - t_17)) + Float64(1.0 - t_11)) + t_16);
	end
	return tmp
end
function tmp_2 = code(x, y, z, t)
	t_1 = max(min(x, y), z);
	t_2 = max(max(x, y), t_1);
	t_3 = min(max(x, y), t_1);
	t_4 = min(min(x, y), z);
	t_5 = min(t_4, t);
	t_6 = sqrt(t_5);
	t_7 = sqrt((t_5 + 1.0)) - t_6;
	t_8 = max(t_4, t);
	t_9 = max(t_3, t_8);
	t_10 = min(t_2, t_9);
	t_11 = sqrt(t_10);
	t_12 = sqrt((t_10 + 1.0)) - t_11;
	t_13 = min(t_3, t_8);
	t_14 = max(t_2, t_9);
	t_15 = sqrt(t_14);
	t_16 = sqrt((t_14 + 1.0)) - t_15;
	t_17 = sqrt(t_13);
	t_18 = ((t_7 + (sqrt((t_13 + 1.0)) - t_17)) + t_12) + t_16;
	tmp = 0.0;
	if (t_18 <= 1e-5)
		tmp = ((0.5 / (t_5 * sqrt((1.0 / t_5)))) + t_12) + t_16;
	elseif (t_18 <= 2.0)
		tmp = sqrt((t_5 - -1.0)) - ((t_6 - (sqrt((t_13 - -1.0)) - t_17)) - (sqrt((t_14 - -1.0)) - t_15));
	elseif (t_18 <= 2.999995)
		tmp = (sqrt((1.0 + t_5)) + (sqrt((1.0 + t_13)) + sqrt((1.0 + t_10)))) - (t_6 + (t_17 + t_11));
	else
		tmp = ((t_7 + (1.0 - t_17)) + (1.0 - t_11)) + t_16;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[Max[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, Block[{t$95$2 = N[Max[N[Max[x, y], $MachinePrecision], t$95$1], $MachinePrecision]}, Block[{t$95$3 = N[Min[N[Max[x, y], $MachinePrecision], t$95$1], $MachinePrecision]}, Block[{t$95$4 = N[Min[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, Block[{t$95$5 = N[Min[t$95$4, t], $MachinePrecision]}, Block[{t$95$6 = N[Sqrt[t$95$5], $MachinePrecision]}, Block[{t$95$7 = N[(N[Sqrt[N[(t$95$5 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$6), $MachinePrecision]}, Block[{t$95$8 = N[Max[t$95$4, t], $MachinePrecision]}, Block[{t$95$9 = N[Max[t$95$3, t$95$8], $MachinePrecision]}, Block[{t$95$10 = N[Min[t$95$2, t$95$9], $MachinePrecision]}, Block[{t$95$11 = N[Sqrt[t$95$10], $MachinePrecision]}, Block[{t$95$12 = N[(N[Sqrt[N[(t$95$10 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$11), $MachinePrecision]}, Block[{t$95$13 = N[Min[t$95$3, t$95$8], $MachinePrecision]}, Block[{t$95$14 = N[Max[t$95$2, t$95$9], $MachinePrecision]}, Block[{t$95$15 = N[Sqrt[t$95$14], $MachinePrecision]}, Block[{t$95$16 = N[(N[Sqrt[N[(t$95$14 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$15), $MachinePrecision]}, Block[{t$95$17 = N[Sqrt[t$95$13], $MachinePrecision]}, Block[{t$95$18 = N[(N[(N[(t$95$7 + N[(N[Sqrt[N[(t$95$13 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$17), $MachinePrecision]), $MachinePrecision] + t$95$12), $MachinePrecision] + t$95$16), $MachinePrecision]}, If[LessEqual[t$95$18, 1e-5], N[(N[(N[(0.5 / N[(t$95$5 * N[Sqrt[N[(1.0 / t$95$5), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$12), $MachinePrecision] + t$95$16), $MachinePrecision], If[LessEqual[t$95$18, 2.0], N[(N[Sqrt[N[(t$95$5 - -1.0), $MachinePrecision]], $MachinePrecision] - N[(N[(t$95$6 - N[(N[Sqrt[N[(t$95$13 - -1.0), $MachinePrecision]], $MachinePrecision] - t$95$17), $MachinePrecision]), $MachinePrecision] - N[(N[Sqrt[N[(t$95$14 - -1.0), $MachinePrecision]], $MachinePrecision] - t$95$15), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$18, 2.999995], N[(N[(N[Sqrt[N[(1.0 + t$95$5), $MachinePrecision]], $MachinePrecision] + N[(N[Sqrt[N[(1.0 + t$95$13), $MachinePrecision]], $MachinePrecision] + N[Sqrt[N[(1.0 + t$95$10), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(t$95$6 + N[(t$95$17 + t$95$11), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(t$95$7 + N[(1.0 - t$95$17), $MachinePrecision]), $MachinePrecision] + N[(1.0 - t$95$11), $MachinePrecision]), $MachinePrecision] + t$95$16), $MachinePrecision]]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
t_1 := \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\\
t_2 := \mathsf{max}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\
t_3 := \mathsf{min}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\
t_4 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\
t_5 := \mathsf{min}\left(t\_4, t\right)\\
t_6 := \sqrt{t\_5}\\
t_7 := \sqrt{t\_5 + 1} - t\_6\\
t_8 := \mathsf{max}\left(t\_4, t\right)\\
t_9 := \mathsf{max}\left(t\_3, t\_8\right)\\
t_10 := \mathsf{min}\left(t\_2, t\_9\right)\\
t_11 := \sqrt{t\_10}\\
t_12 := \sqrt{t\_10 + 1} - t\_11\\
t_13 := \mathsf{min}\left(t\_3, t\_8\right)\\
t_14 := \mathsf{max}\left(t\_2, t\_9\right)\\
t_15 := \sqrt{t\_14}\\
t_16 := \sqrt{t\_14 + 1} - t\_15\\
t_17 := \sqrt{t\_13}\\
t_18 := \left(\left(t\_7 + \left(\sqrt{t\_13 + 1} - t\_17\right)\right) + t\_12\right) + t\_16\\
\mathbf{if}\;t\_18 \leq 10^{-5}:\\
\;\;\;\;\left(\frac{0.5}{t\_5 \cdot \sqrt{\frac{1}{t\_5}}} + t\_12\right) + t\_16\\

\mathbf{elif}\;t\_18 \leq 2:\\
\;\;\;\;\sqrt{t\_5 - -1} - \left(\left(t\_6 - \left(\sqrt{t\_13 - -1} - t\_17\right)\right) - \left(\sqrt{t\_14 - -1} - t\_15\right)\right)\\

\mathbf{elif}\;t\_18 \leq 2.999995:\\
\;\;\;\;\left(\sqrt{1 + t\_5} + \left(\sqrt{1 + t\_13} + \sqrt{1 + t\_10}\right)\right) - \left(t\_6 + \left(t\_17 + t\_11\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\left(t\_7 + \left(1 - t\_17\right)\right) + \left(1 - t\_11\right)\right) + t\_16\\


\end{array}
Derivation
  1. Split input into 4 regimes
  2. if (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t))) < 1.00000000000000008e-5

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Taylor expanded in y around inf

      \[\leadsto \left(\color{blue}{\left(\sqrt{1 + x} - \sqrt{x}\right)} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \color{blue}{\sqrt{x}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-sqrt.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{\color{blue}{x}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-+.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{x}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-sqrt.f6450.9

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{x}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Applied rewrites50.9%

      \[\leadsto \left(\color{blue}{\left(\sqrt{1 + x} - \sqrt{x}\right)} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. Taylor expanded in x around inf

      \[\leadsto \left(\frac{\frac{1}{2}}{\color{blue}{x \cdot \sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \color{blue}{\sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-*.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-sqrt.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-/.f6426.6

        \[\leadsto \left(\frac{0.5}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. Applied rewrites26.6%

      \[\leadsto \left(\frac{0.5}{\color{blue}{x \cdot \sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]

    if 1.00000000000000008e-5 < (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t))) < 2

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. +-commutativeN/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lift-+.f64N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lift--.f64N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \left(\color{blue}{\left(\sqrt{x + 1} - \sqrt{x}\right)} + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. associate-+l-N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \color{blue}{\left(\sqrt{x + 1} - \left(\sqrt{x} - \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. associate-+r-N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lift--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \color{blue}{\left(\sqrt{y + 1} - \sqrt{y}\right)}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      8. associate--r-N/A

        \[\leadsto \left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \color{blue}{\left(\left(\sqrt{x} - \sqrt{y + 1}\right) + \sqrt{y}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      9. associate--r+N/A

        \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \sqrt{y + 1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      10. lower--.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \sqrt{y + 1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Applied rewrites37.7%

      \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z - -1} - \sqrt{z}\right) + \sqrt{x - -1}\right) - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Taylor expanded in z around inf

      \[\leadsto \left(\left(\color{blue}{\sqrt{1 + x}} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. Step-by-step derivation
      1. lower-sqrt.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-+.f6426.0

        \[\leadsto \left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. Applied rewrites26.0%

      \[\leadsto \left(\left(\color{blue}{\sqrt{1 + x}} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right)} \]
    8. Applied rewrites32.5%

      \[\leadsto \color{blue}{\sqrt{x - -1} - \left(\left(\sqrt{x} - \left(\sqrt{y - -1} - \sqrt{y}\right)\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right)} \]

    if 2 < (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t))) < 2.9999950000000002

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Taylor expanded in t around inf

      \[\leadsto \color{blue}{\left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right)} \]
    3. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \color{blue}{\left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right)} \]
      2. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\color{blue}{\sqrt{x}} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      3. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{\color{blue}{x}} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      4. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      5. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      6. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      7. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      8. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      9. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      10. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \color{blue}{\left(\sqrt{y} + \sqrt{z}\right)}\right) \]
      11. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\color{blue}{\sqrt{y}} + \sqrt{z}\right)\right) \]
      12. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \color{blue}{\sqrt{z}}\right)\right) \]
    4. Applied rewrites11.7%

      \[\leadsto \color{blue}{\left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right)} \]

    if 2.9999950000000002 < (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t)))

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Taylor expanded in z around 0

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\left(1 - \sqrt{z}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(1 - \color{blue}{\sqrt{z}}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-sqrt.f6448.8

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Applied rewrites48.8%

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\left(1 - \sqrt{z}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. Taylor expanded in y around 0

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\left(1 - \sqrt{y}\right)}\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(1 - \color{blue}{\sqrt{y}}\right)\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-sqrt.f6424.5

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(1 - \sqrt{y}\right)\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. Applied rewrites24.5%

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\left(1 - \sqrt{y}\right)}\right) + \left(1 - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
  3. Recombined 4 regimes into one program.
  4. Add Preprocessing

Alternative 11: 90.0% accurate, 0.1× speedup?

\[\begin{array}{l} t_1 := \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\\ t_2 := \mathsf{max}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\ t_3 := \mathsf{min}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\ t_4 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\ t_5 := \mathsf{min}\left(t\_4, t\right)\\ t_6 := \sqrt{t\_5}\\ t_7 := \mathsf{max}\left(t\_4, t\right)\\ t_8 := \mathsf{max}\left(t\_3, t\_7\right)\\ t_9 := \mathsf{min}\left(t\_2, t\_8\right)\\ t_10 := \sqrt{t\_9}\\ t_11 := \sqrt{t\_9 + 1} - t\_10\\ t_12 := \mathsf{min}\left(t\_3, t\_7\right)\\ t_13 := \mathsf{max}\left(t\_2, t\_8\right)\\ t_14 := \sqrt{t\_13}\\ t_15 := \sqrt{t\_13 + 1} - t\_14\\ t_16 := \sqrt{t\_12}\\ t_17 := \left(\left(\left(\sqrt{t\_5 + 1} - t\_6\right) + \left(\sqrt{t\_12 + 1} - t\_16\right)\right) + t\_11\right) + t\_15\\ \mathbf{if}\;t\_17 \leq 10^{-5}:\\ \;\;\;\;\left(\frac{0.5}{t\_5 \cdot \sqrt{\frac{1}{t\_5}}} + t\_11\right) + t\_15\\ \mathbf{elif}\;t\_17 \leq 2:\\ \;\;\;\;\sqrt{t\_5 - -1} - \left(\left(t\_6 - \left(\sqrt{t\_12 - -1} - t\_16\right)\right) - \left(\sqrt{t\_13 - -1} - t\_14\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{1 + t\_5} + \left(\sqrt{1 + t\_12} + \sqrt{1 + t\_9}\right)\right) - \left(t\_6 + \left(t\_16 + t\_10\right)\right)\\ \end{array} \]
(FPCore (x y z t)
 :precision binary64
 (let* ((t_1 (fmax (fmin x y) z))
        (t_2 (fmax (fmax x y) t_1))
        (t_3 (fmin (fmax x y) t_1))
        (t_4 (fmin (fmin x y) z))
        (t_5 (fmin t_4 t))
        (t_6 (sqrt t_5))
        (t_7 (fmax t_4 t))
        (t_8 (fmax t_3 t_7))
        (t_9 (fmin t_2 t_8))
        (t_10 (sqrt t_9))
        (t_11 (- (sqrt (+ t_9 1.0)) t_10))
        (t_12 (fmin t_3 t_7))
        (t_13 (fmax t_2 t_8))
        (t_14 (sqrt t_13))
        (t_15 (- (sqrt (+ t_13 1.0)) t_14))
        (t_16 (sqrt t_12))
        (t_17
         (+
          (+ (+ (- (sqrt (+ t_5 1.0)) t_6) (- (sqrt (+ t_12 1.0)) t_16)) t_11)
          t_15)))
   (if (<= t_17 1e-5)
     (+ (+ (/ 0.5 (* t_5 (sqrt (/ 1.0 t_5)))) t_11) t_15)
     (if (<= t_17 2.0)
       (-
        (sqrt (- t_5 -1.0))
        (-
         (- t_6 (- (sqrt (- t_12 -1.0)) t_16))
         (- (sqrt (- t_13 -1.0)) t_14)))
       (-
        (+ (sqrt (+ 1.0 t_5)) (+ (sqrt (+ 1.0 t_12)) (sqrt (+ 1.0 t_9))))
        (+ t_6 (+ t_16 t_10)))))))
double code(double x, double y, double z, double t) {
	double t_1 = fmax(fmin(x, y), z);
	double t_2 = fmax(fmax(x, y), t_1);
	double t_3 = fmin(fmax(x, y), t_1);
	double t_4 = fmin(fmin(x, y), z);
	double t_5 = fmin(t_4, t);
	double t_6 = sqrt(t_5);
	double t_7 = fmax(t_4, t);
	double t_8 = fmax(t_3, t_7);
	double t_9 = fmin(t_2, t_8);
	double t_10 = sqrt(t_9);
	double t_11 = sqrt((t_9 + 1.0)) - t_10;
	double t_12 = fmin(t_3, t_7);
	double t_13 = fmax(t_2, t_8);
	double t_14 = sqrt(t_13);
	double t_15 = sqrt((t_13 + 1.0)) - t_14;
	double t_16 = sqrt(t_12);
	double t_17 = (((sqrt((t_5 + 1.0)) - t_6) + (sqrt((t_12 + 1.0)) - t_16)) + t_11) + t_15;
	double tmp;
	if (t_17 <= 1e-5) {
		tmp = ((0.5 / (t_5 * sqrt((1.0 / t_5)))) + t_11) + t_15;
	} else if (t_17 <= 2.0) {
		tmp = sqrt((t_5 - -1.0)) - ((t_6 - (sqrt((t_12 - -1.0)) - t_16)) - (sqrt((t_13 - -1.0)) - t_14));
	} else {
		tmp = (sqrt((1.0 + t_5)) + (sqrt((1.0 + t_12)) + sqrt((1.0 + t_9)))) - (t_6 + (t_16 + t_10));
	}
	return tmp;
}
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, z, t)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8) :: t_1
    real(8) :: t_10
    real(8) :: t_11
    real(8) :: t_12
    real(8) :: t_13
    real(8) :: t_14
    real(8) :: t_15
    real(8) :: t_16
    real(8) :: t_17
    real(8) :: t_2
    real(8) :: t_3
    real(8) :: t_4
    real(8) :: t_5
    real(8) :: t_6
    real(8) :: t_7
    real(8) :: t_8
    real(8) :: t_9
    real(8) :: tmp
    t_1 = fmax(fmin(x, y), z)
    t_2 = fmax(fmax(x, y), t_1)
    t_3 = fmin(fmax(x, y), t_1)
    t_4 = fmin(fmin(x, y), z)
    t_5 = fmin(t_4, t)
    t_6 = sqrt(t_5)
    t_7 = fmax(t_4, t)
    t_8 = fmax(t_3, t_7)
    t_9 = fmin(t_2, t_8)
    t_10 = sqrt(t_9)
    t_11 = sqrt((t_9 + 1.0d0)) - t_10
    t_12 = fmin(t_3, t_7)
    t_13 = fmax(t_2, t_8)
    t_14 = sqrt(t_13)
    t_15 = sqrt((t_13 + 1.0d0)) - t_14
    t_16 = sqrt(t_12)
    t_17 = (((sqrt((t_5 + 1.0d0)) - t_6) + (sqrt((t_12 + 1.0d0)) - t_16)) + t_11) + t_15
    if (t_17 <= 1d-5) then
        tmp = ((0.5d0 / (t_5 * sqrt((1.0d0 / t_5)))) + t_11) + t_15
    else if (t_17 <= 2.0d0) then
        tmp = sqrt((t_5 - (-1.0d0))) - ((t_6 - (sqrt((t_12 - (-1.0d0))) - t_16)) - (sqrt((t_13 - (-1.0d0))) - t_14))
    else
        tmp = (sqrt((1.0d0 + t_5)) + (sqrt((1.0d0 + t_12)) + sqrt((1.0d0 + t_9)))) - (t_6 + (t_16 + t_10))
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t) {
	double t_1 = fmax(fmin(x, y), z);
	double t_2 = fmax(fmax(x, y), t_1);
	double t_3 = fmin(fmax(x, y), t_1);
	double t_4 = fmin(fmin(x, y), z);
	double t_5 = fmin(t_4, t);
	double t_6 = Math.sqrt(t_5);
	double t_7 = fmax(t_4, t);
	double t_8 = fmax(t_3, t_7);
	double t_9 = fmin(t_2, t_8);
	double t_10 = Math.sqrt(t_9);
	double t_11 = Math.sqrt((t_9 + 1.0)) - t_10;
	double t_12 = fmin(t_3, t_7);
	double t_13 = fmax(t_2, t_8);
	double t_14 = Math.sqrt(t_13);
	double t_15 = Math.sqrt((t_13 + 1.0)) - t_14;
	double t_16 = Math.sqrt(t_12);
	double t_17 = (((Math.sqrt((t_5 + 1.0)) - t_6) + (Math.sqrt((t_12 + 1.0)) - t_16)) + t_11) + t_15;
	double tmp;
	if (t_17 <= 1e-5) {
		tmp = ((0.5 / (t_5 * Math.sqrt((1.0 / t_5)))) + t_11) + t_15;
	} else if (t_17 <= 2.0) {
		tmp = Math.sqrt((t_5 - -1.0)) - ((t_6 - (Math.sqrt((t_12 - -1.0)) - t_16)) - (Math.sqrt((t_13 - -1.0)) - t_14));
	} else {
		tmp = (Math.sqrt((1.0 + t_5)) + (Math.sqrt((1.0 + t_12)) + Math.sqrt((1.0 + t_9)))) - (t_6 + (t_16 + t_10));
	}
	return tmp;
}
def code(x, y, z, t):
	t_1 = fmax(fmin(x, y), z)
	t_2 = fmax(fmax(x, y), t_1)
	t_3 = fmin(fmax(x, y), t_1)
	t_4 = fmin(fmin(x, y), z)
	t_5 = fmin(t_4, t)
	t_6 = math.sqrt(t_5)
	t_7 = fmax(t_4, t)
	t_8 = fmax(t_3, t_7)
	t_9 = fmin(t_2, t_8)
	t_10 = math.sqrt(t_9)
	t_11 = math.sqrt((t_9 + 1.0)) - t_10
	t_12 = fmin(t_3, t_7)
	t_13 = fmax(t_2, t_8)
	t_14 = math.sqrt(t_13)
	t_15 = math.sqrt((t_13 + 1.0)) - t_14
	t_16 = math.sqrt(t_12)
	t_17 = (((math.sqrt((t_5 + 1.0)) - t_6) + (math.sqrt((t_12 + 1.0)) - t_16)) + t_11) + t_15
	tmp = 0
	if t_17 <= 1e-5:
		tmp = ((0.5 / (t_5 * math.sqrt((1.0 / t_5)))) + t_11) + t_15
	elif t_17 <= 2.0:
		tmp = math.sqrt((t_5 - -1.0)) - ((t_6 - (math.sqrt((t_12 - -1.0)) - t_16)) - (math.sqrt((t_13 - -1.0)) - t_14))
	else:
		tmp = (math.sqrt((1.0 + t_5)) + (math.sqrt((1.0 + t_12)) + math.sqrt((1.0 + t_9)))) - (t_6 + (t_16 + t_10))
	return tmp
function code(x, y, z, t)
	t_1 = fmax(fmin(x, y), z)
	t_2 = fmax(fmax(x, y), t_1)
	t_3 = fmin(fmax(x, y), t_1)
	t_4 = fmin(fmin(x, y), z)
	t_5 = fmin(t_4, t)
	t_6 = sqrt(t_5)
	t_7 = fmax(t_4, t)
	t_8 = fmax(t_3, t_7)
	t_9 = fmin(t_2, t_8)
	t_10 = sqrt(t_9)
	t_11 = Float64(sqrt(Float64(t_9 + 1.0)) - t_10)
	t_12 = fmin(t_3, t_7)
	t_13 = fmax(t_2, t_8)
	t_14 = sqrt(t_13)
	t_15 = Float64(sqrt(Float64(t_13 + 1.0)) - t_14)
	t_16 = sqrt(t_12)
	t_17 = Float64(Float64(Float64(Float64(sqrt(Float64(t_5 + 1.0)) - t_6) + Float64(sqrt(Float64(t_12 + 1.0)) - t_16)) + t_11) + t_15)
	tmp = 0.0
	if (t_17 <= 1e-5)
		tmp = Float64(Float64(Float64(0.5 / Float64(t_5 * sqrt(Float64(1.0 / t_5)))) + t_11) + t_15);
	elseif (t_17 <= 2.0)
		tmp = Float64(sqrt(Float64(t_5 - -1.0)) - Float64(Float64(t_6 - Float64(sqrt(Float64(t_12 - -1.0)) - t_16)) - Float64(sqrt(Float64(t_13 - -1.0)) - t_14)));
	else
		tmp = Float64(Float64(sqrt(Float64(1.0 + t_5)) + Float64(sqrt(Float64(1.0 + t_12)) + sqrt(Float64(1.0 + t_9)))) - Float64(t_6 + Float64(t_16 + t_10)));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t)
	t_1 = max(min(x, y), z);
	t_2 = max(max(x, y), t_1);
	t_3 = min(max(x, y), t_1);
	t_4 = min(min(x, y), z);
	t_5 = min(t_4, t);
	t_6 = sqrt(t_5);
	t_7 = max(t_4, t);
	t_8 = max(t_3, t_7);
	t_9 = min(t_2, t_8);
	t_10 = sqrt(t_9);
	t_11 = sqrt((t_9 + 1.0)) - t_10;
	t_12 = min(t_3, t_7);
	t_13 = max(t_2, t_8);
	t_14 = sqrt(t_13);
	t_15 = sqrt((t_13 + 1.0)) - t_14;
	t_16 = sqrt(t_12);
	t_17 = (((sqrt((t_5 + 1.0)) - t_6) + (sqrt((t_12 + 1.0)) - t_16)) + t_11) + t_15;
	tmp = 0.0;
	if (t_17 <= 1e-5)
		tmp = ((0.5 / (t_5 * sqrt((1.0 / t_5)))) + t_11) + t_15;
	elseif (t_17 <= 2.0)
		tmp = sqrt((t_5 - -1.0)) - ((t_6 - (sqrt((t_12 - -1.0)) - t_16)) - (sqrt((t_13 - -1.0)) - t_14));
	else
		tmp = (sqrt((1.0 + t_5)) + (sqrt((1.0 + t_12)) + sqrt((1.0 + t_9)))) - (t_6 + (t_16 + t_10));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[Max[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, Block[{t$95$2 = N[Max[N[Max[x, y], $MachinePrecision], t$95$1], $MachinePrecision]}, Block[{t$95$3 = N[Min[N[Max[x, y], $MachinePrecision], t$95$1], $MachinePrecision]}, Block[{t$95$4 = N[Min[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, Block[{t$95$5 = N[Min[t$95$4, t], $MachinePrecision]}, Block[{t$95$6 = N[Sqrt[t$95$5], $MachinePrecision]}, Block[{t$95$7 = N[Max[t$95$4, t], $MachinePrecision]}, Block[{t$95$8 = N[Max[t$95$3, t$95$7], $MachinePrecision]}, Block[{t$95$9 = N[Min[t$95$2, t$95$8], $MachinePrecision]}, Block[{t$95$10 = N[Sqrt[t$95$9], $MachinePrecision]}, Block[{t$95$11 = N[(N[Sqrt[N[(t$95$9 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$10), $MachinePrecision]}, Block[{t$95$12 = N[Min[t$95$3, t$95$7], $MachinePrecision]}, Block[{t$95$13 = N[Max[t$95$2, t$95$8], $MachinePrecision]}, Block[{t$95$14 = N[Sqrt[t$95$13], $MachinePrecision]}, Block[{t$95$15 = N[(N[Sqrt[N[(t$95$13 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$14), $MachinePrecision]}, Block[{t$95$16 = N[Sqrt[t$95$12], $MachinePrecision]}, Block[{t$95$17 = N[(N[(N[(N[(N[Sqrt[N[(t$95$5 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$6), $MachinePrecision] + N[(N[Sqrt[N[(t$95$12 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$16), $MachinePrecision]), $MachinePrecision] + t$95$11), $MachinePrecision] + t$95$15), $MachinePrecision]}, If[LessEqual[t$95$17, 1e-5], N[(N[(N[(0.5 / N[(t$95$5 * N[Sqrt[N[(1.0 / t$95$5), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$11), $MachinePrecision] + t$95$15), $MachinePrecision], If[LessEqual[t$95$17, 2.0], N[(N[Sqrt[N[(t$95$5 - -1.0), $MachinePrecision]], $MachinePrecision] - N[(N[(t$95$6 - N[(N[Sqrt[N[(t$95$12 - -1.0), $MachinePrecision]], $MachinePrecision] - t$95$16), $MachinePrecision]), $MachinePrecision] - N[(N[Sqrt[N[(t$95$13 - -1.0), $MachinePrecision]], $MachinePrecision] - t$95$14), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[Sqrt[N[(1.0 + t$95$5), $MachinePrecision]], $MachinePrecision] + N[(N[Sqrt[N[(1.0 + t$95$12), $MachinePrecision]], $MachinePrecision] + N[Sqrt[N[(1.0 + t$95$9), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(t$95$6 + N[(t$95$16 + t$95$10), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
t_1 := \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\\
t_2 := \mathsf{max}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\
t_3 := \mathsf{min}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\
t_4 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\
t_5 := \mathsf{min}\left(t\_4, t\right)\\
t_6 := \sqrt{t\_5}\\
t_7 := \mathsf{max}\left(t\_4, t\right)\\
t_8 := \mathsf{max}\left(t\_3, t\_7\right)\\
t_9 := \mathsf{min}\left(t\_2, t\_8\right)\\
t_10 := \sqrt{t\_9}\\
t_11 := \sqrt{t\_9 + 1} - t\_10\\
t_12 := \mathsf{min}\left(t\_3, t\_7\right)\\
t_13 := \mathsf{max}\left(t\_2, t\_8\right)\\
t_14 := \sqrt{t\_13}\\
t_15 := \sqrt{t\_13 + 1} - t\_14\\
t_16 := \sqrt{t\_12}\\
t_17 := \left(\left(\left(\sqrt{t\_5 + 1} - t\_6\right) + \left(\sqrt{t\_12 + 1} - t\_16\right)\right) + t\_11\right) + t\_15\\
\mathbf{if}\;t\_17 \leq 10^{-5}:\\
\;\;\;\;\left(\frac{0.5}{t\_5 \cdot \sqrt{\frac{1}{t\_5}}} + t\_11\right) + t\_15\\

\mathbf{elif}\;t\_17 \leq 2:\\
\;\;\;\;\sqrt{t\_5 - -1} - \left(\left(t\_6 - \left(\sqrt{t\_12 - -1} - t\_16\right)\right) - \left(\sqrt{t\_13 - -1} - t\_14\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\sqrt{1 + t\_5} + \left(\sqrt{1 + t\_12} + \sqrt{1 + t\_9}\right)\right) - \left(t\_6 + \left(t\_16 + t\_10\right)\right)\\


\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t))) < 1.00000000000000008e-5

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Taylor expanded in y around inf

      \[\leadsto \left(\color{blue}{\left(\sqrt{1 + x} - \sqrt{x}\right)} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \color{blue}{\sqrt{x}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-sqrt.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{\color{blue}{x}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-+.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{x}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-sqrt.f6450.9

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{x}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Applied rewrites50.9%

      \[\leadsto \left(\color{blue}{\left(\sqrt{1 + x} - \sqrt{x}\right)} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. Taylor expanded in x around inf

      \[\leadsto \left(\frac{\frac{1}{2}}{\color{blue}{x \cdot \sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \color{blue}{\sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-*.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-sqrt.f64N/A

        \[\leadsto \left(\frac{\frac{1}{2}}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-/.f6426.6

        \[\leadsto \left(\frac{0.5}{x \cdot \sqrt{\frac{1}{x}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. Applied rewrites26.6%

      \[\leadsto \left(\frac{0.5}{\color{blue}{x \cdot \sqrt{\frac{1}{x}}}} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]

    if 1.00000000000000008e-5 < (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t))) < 2

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. +-commutativeN/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lift-+.f64N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lift--.f64N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \left(\color{blue}{\left(\sqrt{x + 1} - \sqrt{x}\right)} + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. associate-+l-N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \color{blue}{\left(\sqrt{x + 1} - \left(\sqrt{x} - \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. associate-+r-N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lift--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \color{blue}{\left(\sqrt{y + 1} - \sqrt{y}\right)}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      8. associate--r-N/A

        \[\leadsto \left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \color{blue}{\left(\left(\sqrt{x} - \sqrt{y + 1}\right) + \sqrt{y}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      9. associate--r+N/A

        \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \sqrt{y + 1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      10. lower--.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \sqrt{y + 1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Applied rewrites37.7%

      \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z - -1} - \sqrt{z}\right) + \sqrt{x - -1}\right) - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Taylor expanded in z around inf

      \[\leadsto \left(\left(\color{blue}{\sqrt{1 + x}} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. Step-by-step derivation
      1. lower-sqrt.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-+.f6426.0

        \[\leadsto \left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. Applied rewrites26.0%

      \[\leadsto \left(\left(\color{blue}{\sqrt{1 + x}} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right)} \]
    8. Applied rewrites32.5%

      \[\leadsto \color{blue}{\sqrt{x - -1} - \left(\left(\sqrt{x} - \left(\sqrt{y - -1} - \sqrt{y}\right)\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right)} \]

    if 2 < (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z #s(literal 1 binary64))) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t #s(literal 1 binary64))) (sqrt.f64 t)))

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Taylor expanded in t around inf

      \[\leadsto \color{blue}{\left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right)} \]
    3. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \color{blue}{\left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right)} \]
      2. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\color{blue}{\sqrt{x}} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      3. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{\color{blue}{x}} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      4. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      5. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      6. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      7. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      8. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      9. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      10. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \color{blue}{\left(\sqrt{y} + \sqrt{z}\right)}\right) \]
      11. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\color{blue}{\sqrt{y}} + \sqrt{z}\right)\right) \]
      12. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \color{blue}{\sqrt{z}}\right)\right) \]
    4. Applied rewrites11.7%

      \[\leadsto \color{blue}{\left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right)} \]
  3. Recombined 3 regimes into one program.
  4. Add Preprocessing

Alternative 12: 85.9% accurate, 0.2× speedup?

\[\begin{array}{l} t_1 := \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\\ t_2 := \mathsf{max}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\ t_3 := \mathsf{min}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\ t_4 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\ t_5 := \mathsf{max}\left(t\_4, t\right)\\ t_6 := \mathsf{min}\left(t\_4, t\right)\\ t_7 := \mathsf{min}\left(t\_3, t\_5\right)\\ t_8 := \sqrt{t\_7}\\ t_9 := \mathsf{max}\left(t\_3, t\_5\right)\\ t_10 := \mathsf{min}\left(t\_2, t\_9\right)\\ t_11 := \sqrt{t\_6}\\ t_12 := \mathsf{max}\left(t\_2, t\_9\right)\\ \mathbf{if}\;t\_10 \leq 6.8 \cdot 10^{+15}:\\ \;\;\;\;\left(\sqrt{1 + t\_6} + \left(\sqrt{1 + t\_7} + \sqrt{1 + t\_10}\right)\right) - \left(t\_11 + \left(t\_8 + \sqrt{t\_10}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\sqrt{t\_6 - -1} - \left(\left(t\_11 - \left(\sqrt{t\_7 - -1} - t\_8\right)\right) - \left(\sqrt{t\_12 - -1} - \sqrt{t\_12}\right)\right)\\ \end{array} \]
(FPCore (x y z t)
 :precision binary64
 (let* ((t_1 (fmax (fmin x y) z))
        (t_2 (fmax (fmax x y) t_1))
        (t_3 (fmin (fmax x y) t_1))
        (t_4 (fmin (fmin x y) z))
        (t_5 (fmax t_4 t))
        (t_6 (fmin t_4 t))
        (t_7 (fmin t_3 t_5))
        (t_8 (sqrt t_7))
        (t_9 (fmax t_3 t_5))
        (t_10 (fmin t_2 t_9))
        (t_11 (sqrt t_6))
        (t_12 (fmax t_2 t_9)))
   (if (<= t_10 6.8e+15)
     (-
      (+ (sqrt (+ 1.0 t_6)) (+ (sqrt (+ 1.0 t_7)) (sqrt (+ 1.0 t_10))))
      (+ t_11 (+ t_8 (sqrt t_10))))
     (-
      (sqrt (- t_6 -1.0))
      (-
       (- t_11 (- (sqrt (- t_7 -1.0)) t_8))
       (- (sqrt (- t_12 -1.0)) (sqrt t_12)))))))
double code(double x, double y, double z, double t) {
	double t_1 = fmax(fmin(x, y), z);
	double t_2 = fmax(fmax(x, y), t_1);
	double t_3 = fmin(fmax(x, y), t_1);
	double t_4 = fmin(fmin(x, y), z);
	double t_5 = fmax(t_4, t);
	double t_6 = fmin(t_4, t);
	double t_7 = fmin(t_3, t_5);
	double t_8 = sqrt(t_7);
	double t_9 = fmax(t_3, t_5);
	double t_10 = fmin(t_2, t_9);
	double t_11 = sqrt(t_6);
	double t_12 = fmax(t_2, t_9);
	double tmp;
	if (t_10 <= 6.8e+15) {
		tmp = (sqrt((1.0 + t_6)) + (sqrt((1.0 + t_7)) + sqrt((1.0 + t_10)))) - (t_11 + (t_8 + sqrt(t_10)));
	} else {
		tmp = sqrt((t_6 - -1.0)) - ((t_11 - (sqrt((t_7 - -1.0)) - t_8)) - (sqrt((t_12 - -1.0)) - sqrt(t_12)));
	}
	return tmp;
}
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, z, t)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8) :: t_1
    real(8) :: t_10
    real(8) :: t_11
    real(8) :: t_12
    real(8) :: t_2
    real(8) :: t_3
    real(8) :: t_4
    real(8) :: t_5
    real(8) :: t_6
    real(8) :: t_7
    real(8) :: t_8
    real(8) :: t_9
    real(8) :: tmp
    t_1 = fmax(fmin(x, y), z)
    t_2 = fmax(fmax(x, y), t_1)
    t_3 = fmin(fmax(x, y), t_1)
    t_4 = fmin(fmin(x, y), z)
    t_5 = fmax(t_4, t)
    t_6 = fmin(t_4, t)
    t_7 = fmin(t_3, t_5)
    t_8 = sqrt(t_7)
    t_9 = fmax(t_3, t_5)
    t_10 = fmin(t_2, t_9)
    t_11 = sqrt(t_6)
    t_12 = fmax(t_2, t_9)
    if (t_10 <= 6.8d+15) then
        tmp = (sqrt((1.0d0 + t_6)) + (sqrt((1.0d0 + t_7)) + sqrt((1.0d0 + t_10)))) - (t_11 + (t_8 + sqrt(t_10)))
    else
        tmp = sqrt((t_6 - (-1.0d0))) - ((t_11 - (sqrt((t_7 - (-1.0d0))) - t_8)) - (sqrt((t_12 - (-1.0d0))) - sqrt(t_12)))
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t) {
	double t_1 = fmax(fmin(x, y), z);
	double t_2 = fmax(fmax(x, y), t_1);
	double t_3 = fmin(fmax(x, y), t_1);
	double t_4 = fmin(fmin(x, y), z);
	double t_5 = fmax(t_4, t);
	double t_6 = fmin(t_4, t);
	double t_7 = fmin(t_3, t_5);
	double t_8 = Math.sqrt(t_7);
	double t_9 = fmax(t_3, t_5);
	double t_10 = fmin(t_2, t_9);
	double t_11 = Math.sqrt(t_6);
	double t_12 = fmax(t_2, t_9);
	double tmp;
	if (t_10 <= 6.8e+15) {
		tmp = (Math.sqrt((1.0 + t_6)) + (Math.sqrt((1.0 + t_7)) + Math.sqrt((1.0 + t_10)))) - (t_11 + (t_8 + Math.sqrt(t_10)));
	} else {
		tmp = Math.sqrt((t_6 - -1.0)) - ((t_11 - (Math.sqrt((t_7 - -1.0)) - t_8)) - (Math.sqrt((t_12 - -1.0)) - Math.sqrt(t_12)));
	}
	return tmp;
}
def code(x, y, z, t):
	t_1 = fmax(fmin(x, y), z)
	t_2 = fmax(fmax(x, y), t_1)
	t_3 = fmin(fmax(x, y), t_1)
	t_4 = fmin(fmin(x, y), z)
	t_5 = fmax(t_4, t)
	t_6 = fmin(t_4, t)
	t_7 = fmin(t_3, t_5)
	t_8 = math.sqrt(t_7)
	t_9 = fmax(t_3, t_5)
	t_10 = fmin(t_2, t_9)
	t_11 = math.sqrt(t_6)
	t_12 = fmax(t_2, t_9)
	tmp = 0
	if t_10 <= 6.8e+15:
		tmp = (math.sqrt((1.0 + t_6)) + (math.sqrt((1.0 + t_7)) + math.sqrt((1.0 + t_10)))) - (t_11 + (t_8 + math.sqrt(t_10)))
	else:
		tmp = math.sqrt((t_6 - -1.0)) - ((t_11 - (math.sqrt((t_7 - -1.0)) - t_8)) - (math.sqrt((t_12 - -1.0)) - math.sqrt(t_12)))
	return tmp
function code(x, y, z, t)
	t_1 = fmax(fmin(x, y), z)
	t_2 = fmax(fmax(x, y), t_1)
	t_3 = fmin(fmax(x, y), t_1)
	t_4 = fmin(fmin(x, y), z)
	t_5 = fmax(t_4, t)
	t_6 = fmin(t_4, t)
	t_7 = fmin(t_3, t_5)
	t_8 = sqrt(t_7)
	t_9 = fmax(t_3, t_5)
	t_10 = fmin(t_2, t_9)
	t_11 = sqrt(t_6)
	t_12 = fmax(t_2, t_9)
	tmp = 0.0
	if (t_10 <= 6.8e+15)
		tmp = Float64(Float64(sqrt(Float64(1.0 + t_6)) + Float64(sqrt(Float64(1.0 + t_7)) + sqrt(Float64(1.0 + t_10)))) - Float64(t_11 + Float64(t_8 + sqrt(t_10))));
	else
		tmp = Float64(sqrt(Float64(t_6 - -1.0)) - Float64(Float64(t_11 - Float64(sqrt(Float64(t_7 - -1.0)) - t_8)) - Float64(sqrt(Float64(t_12 - -1.0)) - sqrt(t_12))));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t)
	t_1 = max(min(x, y), z);
	t_2 = max(max(x, y), t_1);
	t_3 = min(max(x, y), t_1);
	t_4 = min(min(x, y), z);
	t_5 = max(t_4, t);
	t_6 = min(t_4, t);
	t_7 = min(t_3, t_5);
	t_8 = sqrt(t_7);
	t_9 = max(t_3, t_5);
	t_10 = min(t_2, t_9);
	t_11 = sqrt(t_6);
	t_12 = max(t_2, t_9);
	tmp = 0.0;
	if (t_10 <= 6.8e+15)
		tmp = (sqrt((1.0 + t_6)) + (sqrt((1.0 + t_7)) + sqrt((1.0 + t_10)))) - (t_11 + (t_8 + sqrt(t_10)));
	else
		tmp = sqrt((t_6 - -1.0)) - ((t_11 - (sqrt((t_7 - -1.0)) - t_8)) - (sqrt((t_12 - -1.0)) - sqrt(t_12)));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[Max[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, Block[{t$95$2 = N[Max[N[Max[x, y], $MachinePrecision], t$95$1], $MachinePrecision]}, Block[{t$95$3 = N[Min[N[Max[x, y], $MachinePrecision], t$95$1], $MachinePrecision]}, Block[{t$95$4 = N[Min[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, Block[{t$95$5 = N[Max[t$95$4, t], $MachinePrecision]}, Block[{t$95$6 = N[Min[t$95$4, t], $MachinePrecision]}, Block[{t$95$7 = N[Min[t$95$3, t$95$5], $MachinePrecision]}, Block[{t$95$8 = N[Sqrt[t$95$7], $MachinePrecision]}, Block[{t$95$9 = N[Max[t$95$3, t$95$5], $MachinePrecision]}, Block[{t$95$10 = N[Min[t$95$2, t$95$9], $MachinePrecision]}, Block[{t$95$11 = N[Sqrt[t$95$6], $MachinePrecision]}, Block[{t$95$12 = N[Max[t$95$2, t$95$9], $MachinePrecision]}, If[LessEqual[t$95$10, 6.8e+15], N[(N[(N[Sqrt[N[(1.0 + t$95$6), $MachinePrecision]], $MachinePrecision] + N[(N[Sqrt[N[(1.0 + t$95$7), $MachinePrecision]], $MachinePrecision] + N[Sqrt[N[(1.0 + t$95$10), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(t$95$11 + N[(t$95$8 + N[Sqrt[t$95$10], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[Sqrt[N[(t$95$6 - -1.0), $MachinePrecision]], $MachinePrecision] - N[(N[(t$95$11 - N[(N[Sqrt[N[(t$95$7 - -1.0), $MachinePrecision]], $MachinePrecision] - t$95$8), $MachinePrecision]), $MachinePrecision] - N[(N[Sqrt[N[(t$95$12 - -1.0), $MachinePrecision]], $MachinePrecision] - N[Sqrt[t$95$12], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]]]
\begin{array}{l}
t_1 := \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\\
t_2 := \mathsf{max}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\
t_3 := \mathsf{min}\left(\mathsf{max}\left(x, y\right), t\_1\right)\\
t_4 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\
t_5 := \mathsf{max}\left(t\_4, t\right)\\
t_6 := \mathsf{min}\left(t\_4, t\right)\\
t_7 := \mathsf{min}\left(t\_3, t\_5\right)\\
t_8 := \sqrt{t\_7}\\
t_9 := \mathsf{max}\left(t\_3, t\_5\right)\\
t_10 := \mathsf{min}\left(t\_2, t\_9\right)\\
t_11 := \sqrt{t\_6}\\
t_12 := \mathsf{max}\left(t\_2, t\_9\right)\\
\mathbf{if}\;t\_10 \leq 6.8 \cdot 10^{+15}:\\
\;\;\;\;\left(\sqrt{1 + t\_6} + \left(\sqrt{1 + t\_7} + \sqrt{1 + t\_10}\right)\right) - \left(t\_11 + \left(t\_8 + \sqrt{t\_10}\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\sqrt{t\_6 - -1} - \left(\left(t\_11 - \left(\sqrt{t\_7 - -1} - t\_8\right)\right) - \left(\sqrt{t\_12 - -1} - \sqrt{t\_12}\right)\right)\\


\end{array}
Derivation
  1. Split input into 2 regimes
  2. if z < 6.8e15

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Taylor expanded in t around inf

      \[\leadsto \color{blue}{\left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right)} \]
    3. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \color{blue}{\left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right)} \]
      2. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\color{blue}{\sqrt{x}} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      3. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{\color{blue}{x}} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      4. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      5. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      6. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      7. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      8. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      9. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right) \]
      10. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \color{blue}{\left(\sqrt{y} + \sqrt{z}\right)}\right) \]
      11. lower-sqrt.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\color{blue}{\sqrt{y}} + \sqrt{z}\right)\right) \]
      12. lower-+.f64N/A

        \[\leadsto \left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \color{blue}{\sqrt{z}}\right)\right) \]
    4. Applied rewrites11.7%

      \[\leadsto \color{blue}{\left(\sqrt{1 + x} + \left(\sqrt{1 + y} + \sqrt{1 + z}\right)\right) - \left(\sqrt{x} + \left(\sqrt{y} + \sqrt{z}\right)\right)} \]

    if 6.8e15 < z

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. +-commutativeN/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lift-+.f64N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lift--.f64N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \left(\color{blue}{\left(\sqrt{x + 1} - \sqrt{x}\right)} + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. associate-+l-N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \color{blue}{\left(\sqrt{x + 1} - \left(\sqrt{x} - \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. associate-+r-N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lift--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \color{blue}{\left(\sqrt{y + 1} - \sqrt{y}\right)}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      8. associate--r-N/A

        \[\leadsto \left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \color{blue}{\left(\left(\sqrt{x} - \sqrt{y + 1}\right) + \sqrt{y}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      9. associate--r+N/A

        \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \sqrt{y + 1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      10. lower--.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \sqrt{y + 1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Applied rewrites37.7%

      \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z - -1} - \sqrt{z}\right) + \sqrt{x - -1}\right) - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Taylor expanded in z around inf

      \[\leadsto \left(\left(\color{blue}{\sqrt{1 + x}} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. Step-by-step derivation
      1. lower-sqrt.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-+.f6426.0

        \[\leadsto \left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. Applied rewrites26.0%

      \[\leadsto \left(\left(\color{blue}{\sqrt{1 + x}} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right)} \]
    8. Applied rewrites32.5%

      \[\leadsto \color{blue}{\sqrt{x - -1} - \left(\left(\sqrt{x} - \left(\sqrt{y - -1} - \sqrt{y}\right)\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right)} \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 13: 81.1% accurate, 0.5× speedup?

\[\begin{array}{l} t_1 := \mathsf{min}\left(\mathsf{max}\left(x, y\right), \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\right)\\ t_2 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\ t_3 := \mathsf{min}\left(t\_2, t\right)\\ t_4 := \mathsf{max}\left(t\_2, t\right)\\ \sqrt{t\_3 - -1} - \left(\left(\sqrt{t\_3} - \left(\sqrt{t\_1 - -1} - \sqrt{t\_1}\right)\right) - \left(\sqrt{t\_4 - -1} - \sqrt{t\_4}\right)\right) \end{array} \]
(FPCore (x y z t)
 :precision binary64
 (let* ((t_1 (fmin (fmax x y) (fmax (fmin x y) z)))
        (t_2 (fmin (fmin x y) z))
        (t_3 (fmin t_2 t))
        (t_4 (fmax t_2 t)))
   (-
    (sqrt (- t_3 -1.0))
    (-
     (- (sqrt t_3) (- (sqrt (- t_1 -1.0)) (sqrt t_1)))
     (- (sqrt (- t_4 -1.0)) (sqrt t_4))))))
double code(double x, double y, double z, double t) {
	double t_1 = fmin(fmax(x, y), fmax(fmin(x, y), z));
	double t_2 = fmin(fmin(x, y), z);
	double t_3 = fmin(t_2, t);
	double t_4 = fmax(t_2, t);
	return sqrt((t_3 - -1.0)) - ((sqrt(t_3) - (sqrt((t_1 - -1.0)) - sqrt(t_1))) - (sqrt((t_4 - -1.0)) - sqrt(t_4)));
}
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, z, t)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: t_3
    real(8) :: t_4
    t_1 = fmin(fmax(x, y), fmax(fmin(x, y), z))
    t_2 = fmin(fmin(x, y), z)
    t_3 = fmin(t_2, t)
    t_4 = fmax(t_2, t)
    code = sqrt((t_3 - (-1.0d0))) - ((sqrt(t_3) - (sqrt((t_1 - (-1.0d0))) - sqrt(t_1))) - (sqrt((t_4 - (-1.0d0))) - sqrt(t_4)))
end function
public static double code(double x, double y, double z, double t) {
	double t_1 = fmin(fmax(x, y), fmax(fmin(x, y), z));
	double t_2 = fmin(fmin(x, y), z);
	double t_3 = fmin(t_2, t);
	double t_4 = fmax(t_2, t);
	return Math.sqrt((t_3 - -1.0)) - ((Math.sqrt(t_3) - (Math.sqrt((t_1 - -1.0)) - Math.sqrt(t_1))) - (Math.sqrt((t_4 - -1.0)) - Math.sqrt(t_4)));
}
def code(x, y, z, t):
	t_1 = fmin(fmax(x, y), fmax(fmin(x, y), z))
	t_2 = fmin(fmin(x, y), z)
	t_3 = fmin(t_2, t)
	t_4 = fmax(t_2, t)
	return math.sqrt((t_3 - -1.0)) - ((math.sqrt(t_3) - (math.sqrt((t_1 - -1.0)) - math.sqrt(t_1))) - (math.sqrt((t_4 - -1.0)) - math.sqrt(t_4)))
function code(x, y, z, t)
	t_1 = fmin(fmax(x, y), fmax(fmin(x, y), z))
	t_2 = fmin(fmin(x, y), z)
	t_3 = fmin(t_2, t)
	t_4 = fmax(t_2, t)
	return Float64(sqrt(Float64(t_3 - -1.0)) - Float64(Float64(sqrt(t_3) - Float64(sqrt(Float64(t_1 - -1.0)) - sqrt(t_1))) - Float64(sqrt(Float64(t_4 - -1.0)) - sqrt(t_4))))
end
function tmp = code(x, y, z, t)
	t_1 = min(max(x, y), max(min(x, y), z));
	t_2 = min(min(x, y), z);
	t_3 = min(t_2, t);
	t_4 = max(t_2, t);
	tmp = sqrt((t_3 - -1.0)) - ((sqrt(t_3) - (sqrt((t_1 - -1.0)) - sqrt(t_1))) - (sqrt((t_4 - -1.0)) - sqrt(t_4)));
end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[Min[N[Max[x, y], $MachinePrecision], N[Max[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]], $MachinePrecision]}, Block[{t$95$2 = N[Min[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, Block[{t$95$3 = N[Min[t$95$2, t], $MachinePrecision]}, Block[{t$95$4 = N[Max[t$95$2, t], $MachinePrecision]}, N[(N[Sqrt[N[(t$95$3 - -1.0), $MachinePrecision]], $MachinePrecision] - N[(N[(N[Sqrt[t$95$3], $MachinePrecision] - N[(N[Sqrt[N[(t$95$1 - -1.0), $MachinePrecision]], $MachinePrecision] - N[Sqrt[t$95$1], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[Sqrt[N[(t$95$4 - -1.0), $MachinePrecision]], $MachinePrecision] - N[Sqrt[t$95$4], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
t_1 := \mathsf{min}\left(\mathsf{max}\left(x, y\right), \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\right)\\
t_2 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\
t_3 := \mathsf{min}\left(t\_2, t\right)\\
t_4 := \mathsf{max}\left(t\_2, t\right)\\
\sqrt{t\_3 - -1} - \left(\left(\sqrt{t\_3} - \left(\sqrt{t\_1 - -1} - \sqrt{t\_1}\right)\right) - \left(\sqrt{t\_4 - -1} - \sqrt{t\_4}\right)\right)
\end{array}
Derivation
  1. Initial program 91.7%

    \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
  2. Step-by-step derivation
    1. lift-+.f64N/A

      \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. +-commutativeN/A

      \[\leadsto \color{blue}{\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. lift-+.f64N/A

      \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. lift--.f64N/A

      \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \left(\color{blue}{\left(\sqrt{x + 1} - \sqrt{x}\right)} + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. associate-+l-N/A

      \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \color{blue}{\left(\sqrt{x + 1} - \left(\sqrt{x} - \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. associate-+r-N/A

      \[\leadsto \color{blue}{\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. lift--.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \color{blue}{\left(\sqrt{y + 1} - \sqrt{y}\right)}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    8. associate--r-N/A

      \[\leadsto \left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \color{blue}{\left(\left(\sqrt{x} - \sqrt{y + 1}\right) + \sqrt{y}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    9. associate--r+N/A

      \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \sqrt{y + 1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    10. lower--.f64N/A

      \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \sqrt{y + 1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
  3. Applied rewrites37.7%

    \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z - -1} - \sqrt{z}\right) + \sqrt{x - -1}\right) - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
  4. Taylor expanded in z around inf

    \[\leadsto \left(\left(\color{blue}{\sqrt{1 + x}} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
  5. Step-by-step derivation
    1. lower-sqrt.f64N/A

      \[\leadsto \left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. lower-+.f6426.0

      \[\leadsto \left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
  6. Applied rewrites26.0%

    \[\leadsto \left(\left(\color{blue}{\sqrt{1 + x}} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
  7. Step-by-step derivation
    1. lift-+.f64N/A

      \[\leadsto \color{blue}{\left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right)} \]
  8. Applied rewrites32.5%

    \[\leadsto \color{blue}{\sqrt{x - -1} - \left(\left(\sqrt{x} - \left(\sqrt{y - -1} - \sqrt{y}\right)\right) - \left(\sqrt{t - -1} - \sqrt{t}\right)\right)} \]
  9. Add Preprocessing

Alternative 14: 79.3% accurate, 0.4× speedup?

\[\begin{array}{l} t_1 := \sqrt{\mathsf{max}\left(x, y\right)}\\ t_2 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\ t_3 := \mathsf{max}\left(t\_2, t\right)\\ t_4 := \sqrt{t\_3 + 1} - \sqrt{t\_3}\\ t_5 := \mathsf{min}\left(t\_2, t\right)\\ t_6 := \sqrt{t\_5}\\ t_7 := \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\\ \mathbf{if}\;\left(\sqrt{t\_5 + 1} - t\_6\right) + \left(\sqrt{\mathsf{max}\left(x, y\right) + 1} - t\_1\right) \leq 1.5:\\ \;\;\;\;\left(\left(1 - t\_6\right) + \left(\sqrt{t\_7 + 1} - \sqrt{t\_7}\right)\right) + t\_4\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\sqrt{1 + t\_5} - \left(t\_6 - 1\right)\right) - t\_1\right) + t\_4\\ \end{array} \]
(FPCore (x y z t)
 :precision binary64
 (let* ((t_1 (sqrt (fmax x y)))
        (t_2 (fmin (fmin x y) z))
        (t_3 (fmax t_2 t))
        (t_4 (- (sqrt (+ t_3 1.0)) (sqrt t_3)))
        (t_5 (fmin t_2 t))
        (t_6 (sqrt t_5))
        (t_7 (fmax (fmin x y) z)))
   (if (<=
        (+ (- (sqrt (+ t_5 1.0)) t_6) (- (sqrt (+ (fmax x y) 1.0)) t_1))
        1.5)
     (+ (+ (- 1.0 t_6) (- (sqrt (+ t_7 1.0)) (sqrt t_7))) t_4)
     (+ (- (- (sqrt (+ 1.0 t_5)) (- t_6 1.0)) t_1) t_4))))
double code(double x, double y, double z, double t) {
	double t_1 = sqrt(fmax(x, y));
	double t_2 = fmin(fmin(x, y), z);
	double t_3 = fmax(t_2, t);
	double t_4 = sqrt((t_3 + 1.0)) - sqrt(t_3);
	double t_5 = fmin(t_2, t);
	double t_6 = sqrt(t_5);
	double t_7 = fmax(fmin(x, y), z);
	double tmp;
	if (((sqrt((t_5 + 1.0)) - t_6) + (sqrt((fmax(x, y) + 1.0)) - t_1)) <= 1.5) {
		tmp = ((1.0 - t_6) + (sqrt((t_7 + 1.0)) - sqrt(t_7))) + t_4;
	} else {
		tmp = ((sqrt((1.0 + t_5)) - (t_6 - 1.0)) - t_1) + t_4;
	}
	return tmp;
}
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, z, t)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: t_3
    real(8) :: t_4
    real(8) :: t_5
    real(8) :: t_6
    real(8) :: t_7
    real(8) :: tmp
    t_1 = sqrt(fmax(x, y))
    t_2 = fmin(fmin(x, y), z)
    t_3 = fmax(t_2, t)
    t_4 = sqrt((t_3 + 1.0d0)) - sqrt(t_3)
    t_5 = fmin(t_2, t)
    t_6 = sqrt(t_5)
    t_7 = fmax(fmin(x, y), z)
    if (((sqrt((t_5 + 1.0d0)) - t_6) + (sqrt((fmax(x, y) + 1.0d0)) - t_1)) <= 1.5d0) then
        tmp = ((1.0d0 - t_6) + (sqrt((t_7 + 1.0d0)) - sqrt(t_7))) + t_4
    else
        tmp = ((sqrt((1.0d0 + t_5)) - (t_6 - 1.0d0)) - t_1) + t_4
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t) {
	double t_1 = Math.sqrt(fmax(x, y));
	double t_2 = fmin(fmin(x, y), z);
	double t_3 = fmax(t_2, t);
	double t_4 = Math.sqrt((t_3 + 1.0)) - Math.sqrt(t_3);
	double t_5 = fmin(t_2, t);
	double t_6 = Math.sqrt(t_5);
	double t_7 = fmax(fmin(x, y), z);
	double tmp;
	if (((Math.sqrt((t_5 + 1.0)) - t_6) + (Math.sqrt((fmax(x, y) + 1.0)) - t_1)) <= 1.5) {
		tmp = ((1.0 - t_6) + (Math.sqrt((t_7 + 1.0)) - Math.sqrt(t_7))) + t_4;
	} else {
		tmp = ((Math.sqrt((1.0 + t_5)) - (t_6 - 1.0)) - t_1) + t_4;
	}
	return tmp;
}
def code(x, y, z, t):
	t_1 = math.sqrt(fmax(x, y))
	t_2 = fmin(fmin(x, y), z)
	t_3 = fmax(t_2, t)
	t_4 = math.sqrt((t_3 + 1.0)) - math.sqrt(t_3)
	t_5 = fmin(t_2, t)
	t_6 = math.sqrt(t_5)
	t_7 = fmax(fmin(x, y), z)
	tmp = 0
	if ((math.sqrt((t_5 + 1.0)) - t_6) + (math.sqrt((fmax(x, y) + 1.0)) - t_1)) <= 1.5:
		tmp = ((1.0 - t_6) + (math.sqrt((t_7 + 1.0)) - math.sqrt(t_7))) + t_4
	else:
		tmp = ((math.sqrt((1.0 + t_5)) - (t_6 - 1.0)) - t_1) + t_4
	return tmp
function code(x, y, z, t)
	t_1 = sqrt(fmax(x, y))
	t_2 = fmin(fmin(x, y), z)
	t_3 = fmax(t_2, t)
	t_4 = Float64(sqrt(Float64(t_3 + 1.0)) - sqrt(t_3))
	t_5 = fmin(t_2, t)
	t_6 = sqrt(t_5)
	t_7 = fmax(fmin(x, y), z)
	tmp = 0.0
	if (Float64(Float64(sqrt(Float64(t_5 + 1.0)) - t_6) + Float64(sqrt(Float64(fmax(x, y) + 1.0)) - t_1)) <= 1.5)
		tmp = Float64(Float64(Float64(1.0 - t_6) + Float64(sqrt(Float64(t_7 + 1.0)) - sqrt(t_7))) + t_4);
	else
		tmp = Float64(Float64(Float64(sqrt(Float64(1.0 + t_5)) - Float64(t_6 - 1.0)) - t_1) + t_4);
	end
	return tmp
end
function tmp_2 = code(x, y, z, t)
	t_1 = sqrt(max(x, y));
	t_2 = min(min(x, y), z);
	t_3 = max(t_2, t);
	t_4 = sqrt((t_3 + 1.0)) - sqrt(t_3);
	t_5 = min(t_2, t);
	t_6 = sqrt(t_5);
	t_7 = max(min(x, y), z);
	tmp = 0.0;
	if (((sqrt((t_5 + 1.0)) - t_6) + (sqrt((max(x, y) + 1.0)) - t_1)) <= 1.5)
		tmp = ((1.0 - t_6) + (sqrt((t_7 + 1.0)) - sqrt(t_7))) + t_4;
	else
		tmp = ((sqrt((1.0 + t_5)) - (t_6 - 1.0)) - t_1) + t_4;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[Sqrt[N[Max[x, y], $MachinePrecision]], $MachinePrecision]}, Block[{t$95$2 = N[Min[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, Block[{t$95$3 = N[Max[t$95$2, t], $MachinePrecision]}, Block[{t$95$4 = N[(N[Sqrt[N[(t$95$3 + 1.0), $MachinePrecision]], $MachinePrecision] - N[Sqrt[t$95$3], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[Min[t$95$2, t], $MachinePrecision]}, Block[{t$95$6 = N[Sqrt[t$95$5], $MachinePrecision]}, Block[{t$95$7 = N[Max[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]}, If[LessEqual[N[(N[(N[Sqrt[N[(t$95$5 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$6), $MachinePrecision] + N[(N[Sqrt[N[(N[Max[x, y], $MachinePrecision] + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$1), $MachinePrecision]), $MachinePrecision], 1.5], N[(N[(N[(1.0 - t$95$6), $MachinePrecision] + N[(N[Sqrt[N[(t$95$7 + 1.0), $MachinePrecision]], $MachinePrecision] - N[Sqrt[t$95$7], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$4), $MachinePrecision], N[(N[(N[(N[Sqrt[N[(1.0 + t$95$5), $MachinePrecision]], $MachinePrecision] - N[(t$95$6 - 1.0), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision] + t$95$4), $MachinePrecision]]]]]]]]]
\begin{array}{l}
t_1 := \sqrt{\mathsf{max}\left(x, y\right)}\\
t_2 := \mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right)\\
t_3 := \mathsf{max}\left(t\_2, t\right)\\
t_4 := \sqrt{t\_3 + 1} - \sqrt{t\_3}\\
t_5 := \mathsf{min}\left(t\_2, t\right)\\
t_6 := \sqrt{t\_5}\\
t_7 := \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\\
\mathbf{if}\;\left(\sqrt{t\_5 + 1} - t\_6\right) + \left(\sqrt{\mathsf{max}\left(x, y\right) + 1} - t\_1\right) \leq 1.5:\\
\;\;\;\;\left(\left(1 - t\_6\right) + \left(\sqrt{t\_7 + 1} - \sqrt{t\_7}\right)\right) + t\_4\\

\mathbf{else}:\\
\;\;\;\;\left(\left(\sqrt{1 + t\_5} - \left(t\_6 - 1\right)\right) - t\_1\right) + t\_4\\


\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) < 1.5

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Taylor expanded in y around inf

      \[\leadsto \left(\color{blue}{\left(\sqrt{1 + x} - \sqrt{x}\right)} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \color{blue}{\sqrt{x}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-sqrt.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{\color{blue}{x}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-+.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{x}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-sqrt.f6450.9

        \[\leadsto \left(\left(\sqrt{1 + x} - \sqrt{x}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Applied rewrites50.9%

      \[\leadsto \left(\color{blue}{\left(\sqrt{1 + x} - \sqrt{x}\right)} + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. Taylor expanded in x around 0

      \[\leadsto \left(\left(1 - \color{blue}{\sqrt{x}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(1 - \sqrt{x}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-sqrt.f6429.5

        \[\leadsto \left(\left(1 - \sqrt{x}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. Applied rewrites29.5%

      \[\leadsto \left(\left(1 - \color{blue}{\sqrt{x}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]

    if 1.5 < (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y)))

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. +-commutativeN/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lift-+.f64N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lift--.f64N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \left(\color{blue}{\left(\sqrt{x + 1} - \sqrt{x}\right)} + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. associate-+l-N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \color{blue}{\left(\sqrt{x + 1} - \left(\sqrt{x} - \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. associate-+r-N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lift--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \color{blue}{\left(\sqrt{y + 1} - \sqrt{y}\right)}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      8. associate--r-N/A

        \[\leadsto \left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \color{blue}{\left(\left(\sqrt{x} - \sqrt{y + 1}\right) + \sqrt{y}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      9. associate--r+N/A

        \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \sqrt{y + 1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      10. lower--.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \sqrt{y + 1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Applied rewrites37.7%

      \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z - -1} - \sqrt{z}\right) + \sqrt{x - -1}\right) - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Taylor expanded in z around inf

      \[\leadsto \left(\left(\color{blue}{\sqrt{1 + x}} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. Step-by-step derivation
      1. lower-sqrt.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-+.f6426.0

        \[\leadsto \left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. Applied rewrites26.0%

      \[\leadsto \left(\left(\color{blue}{\sqrt{1 + x}} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. Taylor expanded in y around 0

      \[\leadsto \left(\left(\sqrt{1 + x} - \color{blue}{\left(\sqrt{x} - 1\right)}\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    8. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \color{blue}{1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-sqrt.f6418.6

        \[\leadsto \left(\left(\sqrt{1 + x} - \left(\sqrt{x} - 1\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    9. Applied rewrites18.6%

      \[\leadsto \left(\left(\sqrt{1 + x} - \color{blue}{\left(\sqrt{x} - 1\right)}\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 15: 58.0% accurate, 0.3× speedup?

\[\begin{array}{l} t_1 := \mathsf{min}\left(y, \mathsf{max}\left(x, z\right)\right)\\ t_2 := \mathsf{max}\left(\mathsf{min}\left(x, z\right), t\right)\\ t_3 := \mathsf{min}\left(t\_1, t\_2\right)\\ t_4 := \mathsf{min}\left(\mathsf{min}\left(x, z\right), t\right)\\ t_5 := \sqrt{t\_4}\\ t_6 := \sqrt{t\_3}\\ t_7 := \mathsf{max}\left(t\_1, t\_2\right)\\ \mathbf{if}\;\left(\sqrt{t\_4 + 1} - t\_5\right) + \left(\sqrt{t\_3 + 1} - t\_6\right) \leq 1.2:\\ \;\;\;\;0.5 \cdot \left(t\_3 \cdot \sqrt{\frac{1}{t\_3}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\sqrt{1 + t\_4} - \left(t\_5 - 1\right)\right) - t\_6\right) + \left(\sqrt{t\_7 + 1} - \sqrt{t\_7}\right)\\ \end{array} \]
(FPCore (x y z t)
 :precision binary64
 (let* ((t_1 (fmin y (fmax x z)))
        (t_2 (fmax (fmin x z) t))
        (t_3 (fmin t_1 t_2))
        (t_4 (fmin (fmin x z) t))
        (t_5 (sqrt t_4))
        (t_6 (sqrt t_3))
        (t_7 (fmax t_1 t_2)))
   (if (<= (+ (- (sqrt (+ t_4 1.0)) t_5) (- (sqrt (+ t_3 1.0)) t_6)) 1.2)
     (* 0.5 (* t_3 (sqrt (/ 1.0 t_3))))
     (+
      (- (- (sqrt (+ 1.0 t_4)) (- t_5 1.0)) t_6)
      (- (sqrt (+ t_7 1.0)) (sqrt t_7))))))
double code(double x, double y, double z, double t) {
	double t_1 = fmin(y, fmax(x, z));
	double t_2 = fmax(fmin(x, z), t);
	double t_3 = fmin(t_1, t_2);
	double t_4 = fmin(fmin(x, z), t);
	double t_5 = sqrt(t_4);
	double t_6 = sqrt(t_3);
	double t_7 = fmax(t_1, t_2);
	double tmp;
	if (((sqrt((t_4 + 1.0)) - t_5) + (sqrt((t_3 + 1.0)) - t_6)) <= 1.2) {
		tmp = 0.5 * (t_3 * sqrt((1.0 / t_3)));
	} else {
		tmp = ((sqrt((1.0 + t_4)) - (t_5 - 1.0)) - t_6) + (sqrt((t_7 + 1.0)) - sqrt(t_7));
	}
	return tmp;
}
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, z, t)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: t_3
    real(8) :: t_4
    real(8) :: t_5
    real(8) :: t_6
    real(8) :: t_7
    real(8) :: tmp
    t_1 = fmin(y, fmax(x, z))
    t_2 = fmax(fmin(x, z), t)
    t_3 = fmin(t_1, t_2)
    t_4 = fmin(fmin(x, z), t)
    t_5 = sqrt(t_4)
    t_6 = sqrt(t_3)
    t_7 = fmax(t_1, t_2)
    if (((sqrt((t_4 + 1.0d0)) - t_5) + (sqrt((t_3 + 1.0d0)) - t_6)) <= 1.2d0) then
        tmp = 0.5d0 * (t_3 * sqrt((1.0d0 / t_3)))
    else
        tmp = ((sqrt((1.0d0 + t_4)) - (t_5 - 1.0d0)) - t_6) + (sqrt((t_7 + 1.0d0)) - sqrt(t_7))
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t) {
	double t_1 = fmin(y, fmax(x, z));
	double t_2 = fmax(fmin(x, z), t);
	double t_3 = fmin(t_1, t_2);
	double t_4 = fmin(fmin(x, z), t);
	double t_5 = Math.sqrt(t_4);
	double t_6 = Math.sqrt(t_3);
	double t_7 = fmax(t_1, t_2);
	double tmp;
	if (((Math.sqrt((t_4 + 1.0)) - t_5) + (Math.sqrt((t_3 + 1.0)) - t_6)) <= 1.2) {
		tmp = 0.5 * (t_3 * Math.sqrt((1.0 / t_3)));
	} else {
		tmp = ((Math.sqrt((1.0 + t_4)) - (t_5 - 1.0)) - t_6) + (Math.sqrt((t_7 + 1.0)) - Math.sqrt(t_7));
	}
	return tmp;
}
def code(x, y, z, t):
	t_1 = fmin(y, fmax(x, z))
	t_2 = fmax(fmin(x, z), t)
	t_3 = fmin(t_1, t_2)
	t_4 = fmin(fmin(x, z), t)
	t_5 = math.sqrt(t_4)
	t_6 = math.sqrt(t_3)
	t_7 = fmax(t_1, t_2)
	tmp = 0
	if ((math.sqrt((t_4 + 1.0)) - t_5) + (math.sqrt((t_3 + 1.0)) - t_6)) <= 1.2:
		tmp = 0.5 * (t_3 * math.sqrt((1.0 / t_3)))
	else:
		tmp = ((math.sqrt((1.0 + t_4)) - (t_5 - 1.0)) - t_6) + (math.sqrt((t_7 + 1.0)) - math.sqrt(t_7))
	return tmp
function code(x, y, z, t)
	t_1 = fmin(y, fmax(x, z))
	t_2 = fmax(fmin(x, z), t)
	t_3 = fmin(t_1, t_2)
	t_4 = fmin(fmin(x, z), t)
	t_5 = sqrt(t_4)
	t_6 = sqrt(t_3)
	t_7 = fmax(t_1, t_2)
	tmp = 0.0
	if (Float64(Float64(sqrt(Float64(t_4 + 1.0)) - t_5) + Float64(sqrt(Float64(t_3 + 1.0)) - t_6)) <= 1.2)
		tmp = Float64(0.5 * Float64(t_3 * sqrt(Float64(1.0 / t_3))));
	else
		tmp = Float64(Float64(Float64(sqrt(Float64(1.0 + t_4)) - Float64(t_5 - 1.0)) - t_6) + Float64(sqrt(Float64(t_7 + 1.0)) - sqrt(t_7)));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t)
	t_1 = min(y, max(x, z));
	t_2 = max(min(x, z), t);
	t_3 = min(t_1, t_2);
	t_4 = min(min(x, z), t);
	t_5 = sqrt(t_4);
	t_6 = sqrt(t_3);
	t_7 = max(t_1, t_2);
	tmp = 0.0;
	if (((sqrt((t_4 + 1.0)) - t_5) + (sqrt((t_3 + 1.0)) - t_6)) <= 1.2)
		tmp = 0.5 * (t_3 * sqrt((1.0 / t_3)));
	else
		tmp = ((sqrt((1.0 + t_4)) - (t_5 - 1.0)) - t_6) + (sqrt((t_7 + 1.0)) - sqrt(t_7));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[Min[y, N[Max[x, z], $MachinePrecision]], $MachinePrecision]}, Block[{t$95$2 = N[Max[N[Min[x, z], $MachinePrecision], t], $MachinePrecision]}, Block[{t$95$3 = N[Min[t$95$1, t$95$2], $MachinePrecision]}, Block[{t$95$4 = N[Min[N[Min[x, z], $MachinePrecision], t], $MachinePrecision]}, Block[{t$95$5 = N[Sqrt[t$95$4], $MachinePrecision]}, Block[{t$95$6 = N[Sqrt[t$95$3], $MachinePrecision]}, Block[{t$95$7 = N[Max[t$95$1, t$95$2], $MachinePrecision]}, If[LessEqual[N[(N[(N[Sqrt[N[(t$95$4 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$5), $MachinePrecision] + N[(N[Sqrt[N[(t$95$3 + 1.0), $MachinePrecision]], $MachinePrecision] - t$95$6), $MachinePrecision]), $MachinePrecision], 1.2], N[(0.5 * N[(t$95$3 * N[Sqrt[N[(1.0 / t$95$3), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(N[Sqrt[N[(1.0 + t$95$4), $MachinePrecision]], $MachinePrecision] - N[(t$95$5 - 1.0), $MachinePrecision]), $MachinePrecision] - t$95$6), $MachinePrecision] + N[(N[Sqrt[N[(t$95$7 + 1.0), $MachinePrecision]], $MachinePrecision] - N[Sqrt[t$95$7], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]
\begin{array}{l}
t_1 := \mathsf{min}\left(y, \mathsf{max}\left(x, z\right)\right)\\
t_2 := \mathsf{max}\left(\mathsf{min}\left(x, z\right), t\right)\\
t_3 := \mathsf{min}\left(t\_1, t\_2\right)\\
t_4 := \mathsf{min}\left(\mathsf{min}\left(x, z\right), t\right)\\
t_5 := \sqrt{t\_4}\\
t_6 := \sqrt{t\_3}\\
t_7 := \mathsf{max}\left(t\_1, t\_2\right)\\
\mathbf{if}\;\left(\sqrt{t\_4 + 1} - t\_5\right) + \left(\sqrt{t\_3 + 1} - t\_6\right) \leq 1.2:\\
\;\;\;\;0.5 \cdot \left(t\_3 \cdot \sqrt{\frac{1}{t\_3}}\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\left(\sqrt{1 + t\_4} - \left(t\_5 - 1\right)\right) - t\_6\right) + \left(\sqrt{t\_7 + 1} - \sqrt{t\_7}\right)\\


\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y))) < 1.19999999999999996

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Step-by-step derivation
      1. lift--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\left(\sqrt{y + 1} - \sqrt{y}\right)}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. flip--N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lower-unsound-/.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lower-unsound--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. lower-unsound-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. lower-*.f32N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1}} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      8. lift-sqrt.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\sqrt{y + 1} \cdot \color{blue}{\sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      9. rem-square-sqrtN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y + 1\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      10. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y + 1\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      11. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      12. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      13. metadata-evalN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - \color{blue}{-1}\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      14. lower-unsound-*.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \color{blue}{\sqrt{y} \cdot \sqrt{y}}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      15. lower-unsound-+.f6472.8

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\color{blue}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      16. lift-+.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y + 1}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      17. add-flipN/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      18. lower--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      19. metadata-eval72.8

        \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - \color{blue}{-1}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Applied rewrites72.8%

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Taylor expanded in y around -inf

      \[\leadsto \color{blue}{\frac{1}{2} \cdot \left(y \cdot \sqrt{\frac{1}{y}}\right)} \]
    5. Step-by-step derivation
      1. lower-*.f64N/A

        \[\leadsto \frac{1}{2} \cdot \color{blue}{\left(y \cdot \sqrt{\frac{1}{y}}\right)} \]
      2. lower-*.f64N/A

        \[\leadsto \frac{1}{2} \cdot \left(y \cdot \color{blue}{\sqrt{\frac{1}{y}}}\right) \]
      3. lower-sqrt.f64N/A

        \[\leadsto \frac{1}{2} \cdot \left(y \cdot \sqrt{\frac{1}{y}}\right) \]
      4. lower-/.f646.9

        \[\leadsto 0.5 \cdot \left(y \cdot \sqrt{\frac{1}{y}}\right) \]
    6. Applied rewrites6.9%

      \[\leadsto \color{blue}{0.5 \cdot \left(y \cdot \sqrt{\frac{1}{y}}\right)} \]

    if 1.19999999999999996 < (+.f64 (-.f64 (sqrt.f64 (+.f64 x #s(literal 1 binary64))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y #s(literal 1 binary64))) (sqrt.f64 y)))

    1. Initial program 91.7%

      \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. +-commutativeN/A

        \[\leadsto \color{blue}{\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      3. lift-+.f64N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \color{blue}{\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      4. lift--.f64N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \left(\color{blue}{\left(\sqrt{x + 1} - \sqrt{x}\right)} + \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      5. associate-+l-N/A

        \[\leadsto \left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \color{blue}{\left(\sqrt{x + 1} - \left(\sqrt{x} - \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      6. associate-+r-N/A

        \[\leadsto \color{blue}{\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \left(\sqrt{y + 1} - \sqrt{y}\right)\right)\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      7. lift--.f64N/A

        \[\leadsto \left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \color{blue}{\left(\sqrt{y + 1} - \sqrt{y}\right)}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      8. associate--r-N/A

        \[\leadsto \left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \color{blue}{\left(\left(\sqrt{x} - \sqrt{y + 1}\right) + \sqrt{y}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      9. associate--r+N/A

        \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \sqrt{y + 1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      10. lower--.f64N/A

        \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z + 1} - \sqrt{z}\right) + \sqrt{x + 1}\right) - \left(\sqrt{x} - \sqrt{y + 1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. Applied rewrites37.7%

      \[\leadsto \color{blue}{\left(\left(\left(\left(\sqrt{z - -1} - \sqrt{z}\right) + \sqrt{x - -1}\right) - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right)} + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. Taylor expanded in z around inf

      \[\leadsto \left(\left(\color{blue}{\sqrt{1 + x}} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. Step-by-step derivation
      1. lower-sqrt.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-+.f6426.0

        \[\leadsto \left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. Applied rewrites26.0%

      \[\leadsto \left(\left(\color{blue}{\sqrt{1 + x}} - \left(\sqrt{x} - \sqrt{y - -1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. Taylor expanded in y around 0

      \[\leadsto \left(\left(\sqrt{1 + x} - \color{blue}{\left(\sqrt{x} - 1\right)}\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    8. Step-by-step derivation
      1. lower--.f64N/A

        \[\leadsto \left(\left(\sqrt{1 + x} - \left(\sqrt{x} - \color{blue}{1}\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
      2. lower-sqrt.f6418.6

        \[\leadsto \left(\left(\sqrt{1 + x} - \left(\sqrt{x} - 1\right)\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    9. Applied rewrites18.6%

      \[\leadsto \left(\left(\sqrt{1 + x} - \color{blue}{\left(\sqrt{x} - 1\right)}\right) - \sqrt{y}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 16: 7.6% accurate, 0.7× speedup?

\[\begin{array}{l} t_1 := \mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(x, y\right), \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\right), \mathsf{max}\left(\mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right), t\right)\right)\\ 0.5 \cdot \left(t\_1 \cdot \sqrt{\frac{1}{t\_1}}\right) \end{array} \]
(FPCore (x y z t)
 :precision binary64
 (let* ((t_1
         (fmin
          (fmin (fmax x y) (fmax (fmin x y) z))
          (fmax (fmin (fmin x y) z) t))))
   (* 0.5 (* t_1 (sqrt (/ 1.0 t_1))))))
double code(double x, double y, double z, double t) {
	double t_1 = fmin(fmin(fmax(x, y), fmax(fmin(x, y), z)), fmax(fmin(fmin(x, y), z), t));
	return 0.5 * (t_1 * sqrt((1.0 / t_1)));
}
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, z, t)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8) :: t_1
    t_1 = fmin(fmin(fmax(x, y), fmax(fmin(x, y), z)), fmax(fmin(fmin(x, y), z), t))
    code = 0.5d0 * (t_1 * sqrt((1.0d0 / t_1)))
end function
public static double code(double x, double y, double z, double t) {
	double t_1 = fmin(fmin(fmax(x, y), fmax(fmin(x, y), z)), fmax(fmin(fmin(x, y), z), t));
	return 0.5 * (t_1 * Math.sqrt((1.0 / t_1)));
}
def code(x, y, z, t):
	t_1 = fmin(fmin(fmax(x, y), fmax(fmin(x, y), z)), fmax(fmin(fmin(x, y), z), t))
	return 0.5 * (t_1 * math.sqrt((1.0 / t_1)))
function code(x, y, z, t)
	t_1 = fmin(fmin(fmax(x, y), fmax(fmin(x, y), z)), fmax(fmin(fmin(x, y), z), t))
	return Float64(0.5 * Float64(t_1 * sqrt(Float64(1.0 / t_1))))
end
function tmp = code(x, y, z, t)
	t_1 = min(min(max(x, y), max(min(x, y), z)), max(min(min(x, y), z), t));
	tmp = 0.5 * (t_1 * sqrt((1.0 / t_1)));
end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[Min[N[Min[N[Max[x, y], $MachinePrecision], N[Max[N[Min[x, y], $MachinePrecision], z], $MachinePrecision]], $MachinePrecision], N[Max[N[Min[N[Min[x, y], $MachinePrecision], z], $MachinePrecision], t], $MachinePrecision]], $MachinePrecision]}, N[(0.5 * N[(t$95$1 * N[Sqrt[N[(1.0 / t$95$1), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
t_1 := \mathsf{min}\left(\mathsf{min}\left(\mathsf{max}\left(x, y\right), \mathsf{max}\left(\mathsf{min}\left(x, y\right), z\right)\right), \mathsf{max}\left(\mathsf{min}\left(\mathsf{min}\left(x, y\right), z\right), t\right)\right)\\
0.5 \cdot \left(t\_1 \cdot \sqrt{\frac{1}{t\_1}}\right)
\end{array}
Derivation
  1. Initial program 91.7%

    \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
  2. Step-by-step derivation
    1. lift--.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\left(\sqrt{y + 1} - \sqrt{y}\right)}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. flip--N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. lower-unsound-/.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. lower-unsound--.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. lower-unsound-*.f32N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. lower-*.f32N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1} \cdot \sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. lift-sqrt.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\sqrt{y + 1}} \cdot \sqrt{y + 1} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    8. lift-sqrt.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\sqrt{y + 1} \cdot \color{blue}{\sqrt{y + 1}} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    9. rem-square-sqrtN/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y + 1\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    10. lift-+.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y + 1\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    11. add-flipN/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    12. lower--.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\color{blue}{\left(y - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    13. metadata-evalN/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - \color{blue}{-1}\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    14. lower-unsound-*.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \color{blue}{\sqrt{y} \cdot \sqrt{y}}}{\sqrt{y + 1} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    15. lower-unsound-+.f6472.8

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\color{blue}{\sqrt{y + 1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    16. lift-+.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y + 1}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    17. add-flipN/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    18. lower--.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{\color{blue}{y - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    19. metadata-eval72.8

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - \color{blue}{-1}} + \sqrt{y}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
  3. Applied rewrites72.8%

    \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \color{blue}{\frac{\left(y - -1\right) - \sqrt{y} \cdot \sqrt{y}}{\sqrt{y - -1} + \sqrt{y}}}\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
  4. Taylor expanded in y around -inf

    \[\leadsto \color{blue}{\frac{1}{2} \cdot \left(y \cdot \sqrt{\frac{1}{y}}\right)} \]
  5. Step-by-step derivation
    1. lower-*.f64N/A

      \[\leadsto \frac{1}{2} \cdot \color{blue}{\left(y \cdot \sqrt{\frac{1}{y}}\right)} \]
    2. lower-*.f64N/A

      \[\leadsto \frac{1}{2} \cdot \left(y \cdot \color{blue}{\sqrt{\frac{1}{y}}}\right) \]
    3. lower-sqrt.f64N/A

      \[\leadsto \frac{1}{2} \cdot \left(y \cdot \sqrt{\frac{1}{y}}\right) \]
    4. lower-/.f646.9

      \[\leadsto 0.5 \cdot \left(y \cdot \sqrt{\frac{1}{y}}\right) \]
  6. Applied rewrites6.9%

    \[\leadsto \color{blue}{0.5 \cdot \left(y \cdot \sqrt{\frac{1}{y}}\right)} \]
  7. Add Preprocessing

Alternative 17: 7.6% accurate, 2.5× speedup?

\[\sqrt{\mathsf{min}\left(\mathsf{max}\left(x, z\right), \mathsf{max}\left(\mathsf{min}\left(x, z\right), t\right)\right)} \cdot 0.5 \]
(FPCore (x y z t)
 :precision binary64
 (* (sqrt (fmin (fmax x z) (fmax (fmin x z) t))) 0.5))
double code(double x, double y, double z, double t) {
	return sqrt(fmin(fmax(x, z), fmax(fmin(x, z), t))) * 0.5;
}
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, z, t)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    code = sqrt(fmin(fmax(x, z), fmax(fmin(x, z), t))) * 0.5d0
end function
public static double code(double x, double y, double z, double t) {
	return Math.sqrt(fmin(fmax(x, z), fmax(fmin(x, z), t))) * 0.5;
}
def code(x, y, z, t):
	return math.sqrt(fmin(fmax(x, z), fmax(fmin(x, z), t))) * 0.5
function code(x, y, z, t)
	return Float64(sqrt(fmin(fmax(x, z), fmax(fmin(x, z), t))) * 0.5)
end
function tmp = code(x, y, z, t)
	tmp = sqrt(min(max(x, z), max(min(x, z), t))) * 0.5;
end
code[x_, y_, z_, t_] := N[(N[Sqrt[N[Min[N[Max[x, z], $MachinePrecision], N[Max[N[Min[x, z], $MachinePrecision], t], $MachinePrecision]], $MachinePrecision]], $MachinePrecision] * 0.5), $MachinePrecision]
\sqrt{\mathsf{min}\left(\mathsf{max}\left(x, z\right), \mathsf{max}\left(\mathsf{min}\left(x, z\right), t\right)\right)} \cdot 0.5
Derivation
  1. Initial program 91.7%

    \[\left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \left(\sqrt{z + 1} - \sqrt{z}\right)\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
  2. Step-by-step derivation
    1. lift--.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\left(\sqrt{z + 1} - \sqrt{z}\right)}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    2. flip--N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\frac{\sqrt{z + 1} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    3. lower-unsound-/.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\frac{\sqrt{z + 1} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    4. lower-unsound--.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    5. lower-unsound-*.f32N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1} \cdot \sqrt{z + 1}} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    6. lower-*.f32N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1} \cdot \sqrt{z + 1}} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    7. lift-sqrt.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\sqrt{z + 1}} \cdot \sqrt{z + 1} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    8. lift-sqrt.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\sqrt{z + 1} \cdot \color{blue}{\sqrt{z + 1}} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    9. rem-square-sqrtN/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z + 1\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    10. lift-+.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z + 1\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    11. add-flipN/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    12. lower--.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\color{blue}{\left(z - \left(\mathsf{neg}\left(1\right)\right)\right)} - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    13. metadata-evalN/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - \color{blue}{-1}\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    14. lower-unsound-*.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \color{blue}{\sqrt{z} \cdot \sqrt{z}}}{\sqrt{z + 1} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    15. lower-unsound-+.f6473.6

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\color{blue}{\sqrt{z + 1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    16. lift-+.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{\color{blue}{z + 1}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    17. add-flipN/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{\color{blue}{z - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    18. lower--.f64N/A

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{\color{blue}{z - \left(\mathsf{neg}\left(1\right)\right)}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
    19. metadata-eval73.6

      \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z - \color{blue}{-1}} + \sqrt{z}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
  3. Applied rewrites73.6%

    \[\leadsto \left(\left(\left(\sqrt{x + 1} - \sqrt{x}\right) + \left(\sqrt{y + 1} - \sqrt{y}\right)\right) + \color{blue}{\frac{\left(z - -1\right) - \sqrt{z} \cdot \sqrt{z}}{\sqrt{z - -1} + \sqrt{z}}}\right) + \left(\sqrt{t + 1} - \sqrt{t}\right) \]
  4. Taylor expanded in z around -inf

    \[\leadsto \color{blue}{\frac{1}{2} \cdot \left(z \cdot \sqrt{\frac{1}{z}}\right)} \]
  5. Step-by-step derivation
    1. lower-*.f64N/A

      \[\leadsto \frac{1}{2} \cdot \color{blue}{\left(z \cdot \sqrt{\frac{1}{z}}\right)} \]
    2. lower-*.f64N/A

      \[\leadsto \frac{1}{2} \cdot \left(z \cdot \color{blue}{\sqrt{\frac{1}{z}}}\right) \]
    3. lower-sqrt.f64N/A

      \[\leadsto \frac{1}{2} \cdot \left(z \cdot \sqrt{\frac{1}{z}}\right) \]
    4. lower-/.f646.9

      \[\leadsto 0.5 \cdot \left(z \cdot \sqrt{\frac{1}{z}}\right) \]
  6. Applied rewrites6.9%

    \[\leadsto \color{blue}{0.5 \cdot \left(z \cdot \sqrt{\frac{1}{z}}\right)} \]
  7. Step-by-step derivation
    1. lift-*.f64N/A

      \[\leadsto \frac{1}{2} \cdot \color{blue}{\left(z \cdot \sqrt{\frac{1}{z}}\right)} \]
    2. *-commutativeN/A

      \[\leadsto \left(z \cdot \sqrt{\frac{1}{z}}\right) \cdot \color{blue}{\frac{1}{2}} \]
    3. lift-*.f64N/A

      \[\leadsto \left(z \cdot \sqrt{\frac{1}{z}}\right) \cdot \frac{1}{2} \]
    4. rem-square-sqrtN/A

      \[\leadsto \left(\left(\sqrt{z} \cdot \sqrt{z}\right) \cdot \sqrt{\frac{1}{z}}\right) \cdot \frac{1}{2} \]
    5. sqrt-unprodN/A

      \[\leadsto \left(\sqrt{z \cdot z} \cdot \sqrt{\frac{1}{z}}\right) \cdot \frac{1}{2} \]
    6. lift-sqrt.f64N/A

      \[\leadsto \left(\sqrt{z \cdot z} \cdot \sqrt{\frac{1}{z}}\right) \cdot \frac{1}{2} \]
    7. sqrt-unprodN/A

      \[\leadsto \sqrt{\left(z \cdot z\right) \cdot \frac{1}{z}} \cdot \frac{1}{2} \]
    8. pow2N/A

      \[\leadsto \sqrt{{z}^{2} \cdot \frac{1}{z}} \cdot \frac{1}{2} \]
    9. lift-/.f64N/A

      \[\leadsto \sqrt{{z}^{2} \cdot \frac{1}{z}} \cdot \frac{1}{2} \]
    10. inv-powN/A

      \[\leadsto \sqrt{{z}^{2} \cdot {z}^{-1}} \cdot \frac{1}{2} \]
    11. pow-prod-upN/A

      \[\leadsto \sqrt{{z}^{\left(2 + -1\right)}} \cdot \frac{1}{2} \]
    12. metadata-evalN/A

      \[\leadsto \sqrt{{z}^{1}} \cdot \frac{1}{2} \]
    13. unpow1N/A

      \[\leadsto \sqrt{z} \cdot \frac{1}{2} \]
    14. lift-sqrt.f64N/A

      \[\leadsto \sqrt{z} \cdot \frac{1}{2} \]
    15. lower-*.f646.9

      \[\leadsto \sqrt{z} \cdot \color{blue}{0.5} \]
  8. Applied rewrites6.9%

    \[\leadsto \sqrt{z} \cdot \color{blue}{0.5} \]
  9. Add Preprocessing

Reproduce

?
herbie shell --seed 2025172 
(FPCore (x y z t)
  :name "Main:z from "
  :precision binary64
  (+ (+ (+ (- (sqrt (+ x 1.0)) (sqrt x)) (- (sqrt (+ y 1.0)) (sqrt y))) (- (sqrt (+ z 1.0)) (sqrt z))) (- (sqrt (+ t 1.0)) (sqrt t))))