Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2, D

Percentage Accurate: 59.2% → 97.9%
Time: 23.5s
Alternatives: 17
Speedup: 2.5×

Specification

?
\[\begin{array}{l} \\ x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (+
  x
  (/
   (*
    y
    (+ (* (+ (* (+ (* (+ (* z 3.13060547623) 11.1667541262) z) t) z) a) z) b))
   (+
    (* (+ (* (+ (* (+ z 15.234687407) z) 31.4690115749) z) 11.9400905721) z)
    0.607771387771))))
double code(double x, double y, double z, double t, double a, double b) {
	return x + ((y * ((((((((z * 3.13060547623) + 11.1667541262) * z) + t) * z) + a) * z) + b)) / (((((((z + 15.234687407) * z) + 31.4690115749) * z) + 11.9400905721) * z) + 0.607771387771));
}
real(8) function code(x, y, z, t, a, b)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    code = x + ((y * ((((((((z * 3.13060547623d0) + 11.1667541262d0) * z) + t) * z) + a) * z) + b)) / (((((((z + 15.234687407d0) * z) + 31.4690115749d0) * z) + 11.9400905721d0) * z) + 0.607771387771d0))
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	return x + ((y * ((((((((z * 3.13060547623) + 11.1667541262) * z) + t) * z) + a) * z) + b)) / (((((((z + 15.234687407) * z) + 31.4690115749) * z) + 11.9400905721) * z) + 0.607771387771));
}
def code(x, y, z, t, a, b):
	return x + ((y * ((((((((z * 3.13060547623) + 11.1667541262) * z) + t) * z) + a) * z) + b)) / (((((((z + 15.234687407) * z) + 31.4690115749) * z) + 11.9400905721) * z) + 0.607771387771))
function code(x, y, z, t, a, b)
	return Float64(x + Float64(Float64(y * Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(z * 3.13060547623) + 11.1667541262) * z) + t) * z) + a) * z) + b)) / Float64(Float64(Float64(Float64(Float64(Float64(Float64(z + 15.234687407) * z) + 31.4690115749) * z) + 11.9400905721) * z) + 0.607771387771)))
end
function tmp = code(x, y, z, t, a, b)
	tmp = x + ((y * ((((((((z * 3.13060547623) + 11.1667541262) * z) + t) * z) + a) * z) + b)) / (((((((z + 15.234687407) * z) + 31.4690115749) * z) + 11.9400905721) * z) + 0.607771387771));
end
code[x_, y_, z_, t_, a_, b_] := N[(x + N[(N[(y * N[(N[(N[(N[(N[(N[(N[(N[(z * 3.13060547623), $MachinePrecision] + 11.1667541262), $MachinePrecision] * z), $MachinePrecision] + t), $MachinePrecision] * z), $MachinePrecision] + a), $MachinePrecision] * z), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] / N[(N[(N[(N[(N[(N[(N[(z + 15.234687407), $MachinePrecision] * z), $MachinePrecision] + 31.4690115749), $MachinePrecision] * z), $MachinePrecision] + 11.9400905721), $MachinePrecision] * z), $MachinePrecision] + 0.607771387771), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771}
\end{array}

Sampling outcomes in binary64 precision:

Local Percentage Accuracy vs ?

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

Accuracy vs Speed?

Herbie found 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: 59.2% accurate, 1.0× speedup?

\[\begin{array}{l} \\ x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (+
  x
  (/
   (*
    y
    (+ (* (+ (* (+ (* (+ (* z 3.13060547623) 11.1667541262) z) t) z) a) z) b))
   (+
    (* (+ (* (+ (* (+ z 15.234687407) z) 31.4690115749) z) 11.9400905721) z)
    0.607771387771))))
double code(double x, double y, double z, double t, double a, double b) {
	return x + ((y * ((((((((z * 3.13060547623) + 11.1667541262) * z) + t) * z) + a) * z) + b)) / (((((((z + 15.234687407) * z) + 31.4690115749) * z) + 11.9400905721) * z) + 0.607771387771));
}
real(8) function code(x, y, z, t, a, b)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    code = x + ((y * ((((((((z * 3.13060547623d0) + 11.1667541262d0) * z) + t) * z) + a) * z) + b)) / (((((((z + 15.234687407d0) * z) + 31.4690115749d0) * z) + 11.9400905721d0) * z) + 0.607771387771d0))
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	return x + ((y * ((((((((z * 3.13060547623) + 11.1667541262) * z) + t) * z) + a) * z) + b)) / (((((((z + 15.234687407) * z) + 31.4690115749) * z) + 11.9400905721) * z) + 0.607771387771));
}
def code(x, y, z, t, a, b):
	return x + ((y * ((((((((z * 3.13060547623) + 11.1667541262) * z) + t) * z) + a) * z) + b)) / (((((((z + 15.234687407) * z) + 31.4690115749) * z) + 11.9400905721) * z) + 0.607771387771))
function code(x, y, z, t, a, b)
	return Float64(x + Float64(Float64(y * Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(z * 3.13060547623) + 11.1667541262) * z) + t) * z) + a) * z) + b)) / Float64(Float64(Float64(Float64(Float64(Float64(Float64(z + 15.234687407) * z) + 31.4690115749) * z) + 11.9400905721) * z) + 0.607771387771)))
end
function tmp = code(x, y, z, t, a, b)
	tmp = x + ((y * ((((((((z * 3.13060547623) + 11.1667541262) * z) + t) * z) + a) * z) + b)) / (((((((z + 15.234687407) * z) + 31.4690115749) * z) + 11.9400905721) * z) + 0.607771387771));
end
code[x_, y_, z_, t_, a_, b_] := N[(x + N[(N[(y * N[(N[(N[(N[(N[(N[(N[(N[(z * 3.13060547623), $MachinePrecision] + 11.1667541262), $MachinePrecision] * z), $MachinePrecision] + t), $MachinePrecision] * z), $MachinePrecision] + a), $MachinePrecision] * z), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision] / N[(N[(N[(N[(N[(N[(N[(z + 15.234687407), $MachinePrecision] * z), $MachinePrecision] + 31.4690115749), $MachinePrecision] * z), $MachinePrecision] + 11.9400905721), $MachinePrecision] * z), $MachinePrecision] + 0.607771387771), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771}
\end{array}

Alternative 1: 97.9% accurate, 0.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := 0.607771387771 + z \cdot \left(11.9400905721 + z \cdot \left(31.4690115749 + z \cdot \left(z + 15.234687407\right)\right)\right)\\ t_2 := b + z \cdot \left(a + z \cdot \left(z \cdot \left(z \cdot 3.13060547623 + 11.1667541262\right) + t\right)\right)\\ \mathbf{if}\;\frac{y \cdot t\_2}{t\_1} \leq \infty:\\ \;\;\;\;x + \frac{y}{\frac{t\_1}{t\_2}}\\ \mathbf{else}:\\ \;\;\;\;-36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (let* ((t_1
         (+
          0.607771387771
          (*
           z
           (+
            11.9400905721
            (* z (+ 31.4690115749 (* z (+ z 15.234687407))))))))
        (t_2
         (+
          b
          (*
           z
           (+ a (* z (+ (* z (+ (* z 3.13060547623) 11.1667541262)) t)))))))
   (if (<= (/ (* y t_2) t_1) INFINITY)
     (+ x (/ y (/ t_1 t_2)))
     (+
      (* -36.52704169880642 (/ y z))
      (+ x (* y (+ 3.13060547623 (/ (+ t 457.9610022158428) (* z z)))))))))
double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = 0.607771387771 + (z * (11.9400905721 + (z * (31.4690115749 + (z * (z + 15.234687407))))));
	double t_2 = b + (z * (a + (z * ((z * ((z * 3.13060547623) + 11.1667541262)) + t))));
	double tmp;
	if (((y * t_2) / t_1) <= ((double) INFINITY)) {
		tmp = x + (y / (t_1 / t_2));
	} else {
		tmp = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	}
	return tmp;
}
public static double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = 0.607771387771 + (z * (11.9400905721 + (z * (31.4690115749 + (z * (z + 15.234687407))))));
	double t_2 = b + (z * (a + (z * ((z * ((z * 3.13060547623) + 11.1667541262)) + t))));
	double tmp;
	if (((y * t_2) / t_1) <= Double.POSITIVE_INFINITY) {
		tmp = x + (y / (t_1 / t_2));
	} else {
		tmp = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	}
	return tmp;
}
def code(x, y, z, t, a, b):
	t_1 = 0.607771387771 + (z * (11.9400905721 + (z * (31.4690115749 + (z * (z + 15.234687407))))))
	t_2 = b + (z * (a + (z * ((z * ((z * 3.13060547623) + 11.1667541262)) + t))))
	tmp = 0
	if ((y * t_2) / t_1) <= math.inf:
		tmp = x + (y / (t_1 / t_2))
	else:
		tmp = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))))
	return tmp
function code(x, y, z, t, a, b)
	t_1 = Float64(0.607771387771 + Float64(z * Float64(11.9400905721 + Float64(z * Float64(31.4690115749 + Float64(z * Float64(z + 15.234687407)))))))
	t_2 = Float64(b + Float64(z * Float64(a + Float64(z * Float64(Float64(z * Float64(Float64(z * 3.13060547623) + 11.1667541262)) + t)))))
	tmp = 0.0
	if (Float64(Float64(y * t_2) / t_1) <= Inf)
		tmp = Float64(x + Float64(y / Float64(t_1 / t_2)));
	else
		tmp = Float64(Float64(-36.52704169880642 * Float64(y / z)) + Float64(x + Float64(y * Float64(3.13060547623 + Float64(Float64(t + 457.9610022158428) / Float64(z * z))))));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b)
	t_1 = 0.607771387771 + (z * (11.9400905721 + (z * (31.4690115749 + (z * (z + 15.234687407))))));
	t_2 = b + (z * (a + (z * ((z * ((z * 3.13060547623) + 11.1667541262)) + t))));
	tmp = 0.0;
	if (((y * t_2) / t_1) <= Inf)
		tmp = x + (y / (t_1 / t_2));
	else
		tmp = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(0.607771387771 + N[(z * N[(11.9400905721 + N[(z * N[(31.4690115749 + N[(z * N[(z + 15.234687407), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(b + N[(z * N[(a + N[(z * N[(N[(z * N[(N[(z * 3.13060547623), $MachinePrecision] + 11.1667541262), $MachinePrecision]), $MachinePrecision] + t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(N[(y * t$95$2), $MachinePrecision] / t$95$1), $MachinePrecision], Infinity], N[(x + N[(y / N[(t$95$1 / t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(-36.52704169880642 * N[(y / z), $MachinePrecision]), $MachinePrecision] + N[(x + N[(y * N[(3.13060547623 + N[(N[(t + 457.9610022158428), $MachinePrecision] / N[(z * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := 0.607771387771 + z \cdot \left(11.9400905721 + z \cdot \left(31.4690115749 + z \cdot \left(z + 15.234687407\right)\right)\right)\\
t_2 := b + z \cdot \left(a + z \cdot \left(z \cdot \left(z \cdot 3.13060547623 + 11.1667541262\right) + t\right)\right)\\
\mathbf{if}\;\frac{y \cdot t\_2}{t\_1} \leq \infty:\\
\;\;\;\;x + \frac{y}{\frac{t\_1}{t\_2}}\\

\mathbf{else}:\\
\;\;\;\;-36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (/.f64 (*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z) b)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64)) z) #s(literal 607771387771/1000000000000 binary64))) < +inf.0

    1. Initial program 97.2%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Step-by-step derivation
      1. associate-/l*N/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(y \cdot \color{blue}{\frac{\left(\left(\left(z \cdot \frac{313060547623}{100000000000} + \frac{55833770631}{5000000000}\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b}{\left(\left(\left(z + \frac{15234687407}{1000000000}\right) \cdot z + \frac{314690115749}{10000000000}\right) \cdot z + \frac{119400905721}{10000000000}\right) \cdot z + \frac{607771387771}{1000000000000}}}\right)\right) \]
      2. clear-numN/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(y \cdot \frac{1}{\color{blue}{\frac{\left(\left(\left(z + \frac{15234687407}{1000000000}\right) \cdot z + \frac{314690115749}{10000000000}\right) \cdot z + \frac{119400905721}{10000000000}\right) \cdot z + \frac{607771387771}{1000000000000}}{\left(\left(\left(z \cdot \frac{313060547623}{100000000000} + \frac{55833770631}{5000000000}\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b}}}\right)\right) \]
      3. un-div-invN/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(\frac{y}{\color{blue}{\frac{\left(\left(\left(z + \frac{15234687407}{1000000000}\right) \cdot z + \frac{314690115749}{10000000000}\right) \cdot z + \frac{119400905721}{10000000000}\right) \cdot z + \frac{607771387771}{1000000000000}}{\left(\left(\left(z \cdot \frac{313060547623}{100000000000} + \frac{55833770631}{5000000000}\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b}}}\right)\right) \]
      4. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(y, \color{blue}{\left(\frac{\left(\left(\left(z + \frac{15234687407}{1000000000}\right) \cdot z + \frac{314690115749}{10000000000}\right) \cdot z + \frac{119400905721}{10000000000}\right) \cdot z + \frac{607771387771}{1000000000000}}{\left(\left(\left(z \cdot \frac{313060547623}{100000000000} + \frac{55833770631}{5000000000}\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b}\right)}\right)\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(y, \mathsf{/.f64}\left(\left(\left(\left(\left(z + \frac{15234687407}{1000000000}\right) \cdot z + \frac{314690115749}{10000000000}\right) \cdot z + \frac{119400905721}{10000000000}\right) \cdot z + \frac{607771387771}{1000000000000}\right), \color{blue}{\left(\left(\left(\left(z \cdot \frac{313060547623}{100000000000} + \frac{55833770631}{5000000000}\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}\right)\right)\right) \]
    4. Applied egg-rr99.0%

      \[\leadsto x + \color{blue}{\frac{y}{\frac{z \cdot \left(z \cdot \left(z \cdot \left(z + 15.234687407\right) + 31.4690115749\right) + 11.9400905721\right) + 0.607771387771}{z \cdot \left(z \cdot \left(z \cdot \left(z \cdot 3.13060547623 + 11.1667541262\right) + t\right) + a\right) + b}}} \]

    if +inf.0 < (/.f64 (*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z #s(literal 313060547623/100000000000 binary64)) #s(literal 55833770631/5000000000 binary64)) z) t) z) a) z) b)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z #s(literal 15234687407/1000000000 binary64)) z) #s(literal 314690115749/10000000000 binary64)) z) #s(literal 119400905721/10000000000 binary64)) z) #s(literal 607771387771/1000000000000 binary64)))

    1. Initial program 0.0%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around inf

      \[\leadsto \color{blue}{\left(x + \left(\frac{313060547623}{100000000000} \cdot y + \left(\frac{55833770631}{5000000000} \cdot \frac{y}{z} + \frac{t \cdot y}{{z}^{2}}\right)\right)\right) - \left(\frac{15234687407}{1000000000} \cdot \frac{\frac{55833770631}{5000000000} \cdot y - \frac{4769379582500641883561}{100000000000000000000} \cdot y}{{z}^{2}} + \left(\frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z} + \frac{98517059967927196814627}{1000000000000000000000} \cdot \frac{y}{{z}^{2}}\right)\right)} \]
    4. Simplified98.9%

      \[\leadsto \color{blue}{\left(x + y \cdot 3.13060547623\right) + \left(\frac{y \cdot 11.1667541262}{z} + \left(y \cdot \frac{t}{z \cdot z} + \left(\left(\frac{y \cdot -47.69379582500642}{z} + \frac{y}{z \cdot z} \cdot -98.5170599679272\right) + \frac{y \cdot 556.47806218377}{z \cdot z}\right)\right)\right)} \]
    5. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \color{blue}{\left(\frac{\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + \left(t \cdot y + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right)}{{z}^{2}}\right)}\right) \]
    6. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + \left(t \cdot y + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right)\right), \color{blue}{\left({z}^{2}\right)}\right)\right) \]
      2. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right) + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      3. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right)\right) + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right), \left({\color{blue}{z}}^{2}\right)\right)\right) \]
      4. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({\color{blue}{z}}^{2}\right)\right)\right) \]
      5. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y\right) + t \cdot y\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      6. distribute-rgt-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t \cdot y\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      7. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + y \cdot t\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      8. distribute-lft-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      9. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      10. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right), t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      11. metadata-evalN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      12. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      13. distribute-rgt-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \left(y \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} + \frac{55833770631}{5000000000}\right)\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      14. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \left(\frac{-4769379582500641883561}{100000000000000000000} + \frac{55833770631}{5000000000}\right)\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      15. metadata-evalN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      16. unpow2N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \left(z \cdot \color{blue}{z}\right)\right)\right) \]
      17. *-lowering-*.f6463.7%

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \mathsf{*.f64}\left(z, \color{blue}{z}\right)\right)\right) \]
    7. Simplified63.7%

      \[\leadsto \left(x + y \cdot 3.13060547623\right) + \color{blue}{\frac{y \cdot \left(457.9610022158428 + t\right) + z \cdot \left(y \cdot -36.52704169880642\right)}{z \cdot z}} \]
    8. Taylor expanded in x around 0

      \[\leadsto \color{blue}{x + \left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)\right)} \]
    9. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)\right) + \color{blue}{x} \]
      2. associate-+l+N/A

        \[\leadsto \frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \color{blue}{\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right) + x\right)} \]
      3. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z}\right), \color{blue}{\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right) + x\right)}\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \left(\frac{y}{z}\right)\right), \left(\color{blue}{\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)} + x\right)\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \left(\left(\frac{313060547623}{100000000000} \cdot y + \color{blue}{\frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}}\right) + x\right)\right) \]
      6. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right), \color{blue}{x}\right)\right) \]
      7. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \frac{313060547623}{100000000000} + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right), x\right)\right) \]
      8. associate-/l*N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \frac{313060547623}{100000000000} + y \cdot \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right), x\right)\right) \]
      9. distribute-lft-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \left(\frac{313060547623}{100000000000} + \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right), x\right)\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \left(\frac{313060547623}{100000000000} + \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right), x\right)\right) \]
      11. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \left(\frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right)\right), x\right)\right) \]
      12. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right), \left({z}^{2}\right)\right)\right)\right), x\right)\right) \]
      13. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \left({z}^{2}\right)\right)\right)\right), x\right)\right) \]
      14. unpow2N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \left(z \cdot z\right)\right)\right)\right), x\right)\right) \]
      15. *-lowering-*.f6499.9%

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \mathsf{*.f64}\left(z, z\right)\right)\right)\right), x\right)\right) \]
    10. Simplified99.9%

      \[\leadsto \color{blue}{-36.52704169880642 \cdot \frac{y}{z} + \left(y \cdot \left(3.13060547623 + \frac{457.9610022158428 + t}{z \cdot z}\right) + x\right)} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification99.4%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{y \cdot \left(b + z \cdot \left(a + z \cdot \left(z \cdot \left(z \cdot 3.13060547623 + 11.1667541262\right) + t\right)\right)\right)}{0.607771387771 + z \cdot \left(11.9400905721 + z \cdot \left(31.4690115749 + z \cdot \left(z + 15.234687407\right)\right)\right)} \leq \infty:\\ \;\;\;\;x + \frac{y}{\frac{0.607771387771 + z \cdot \left(11.9400905721 + z \cdot \left(31.4690115749 + z \cdot \left(z + 15.234687407\right)\right)\right)}{b + z \cdot \left(a + z \cdot \left(z \cdot \left(z \cdot 3.13060547623 + 11.1667541262\right) + t\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;-36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 2: 98.2% accurate, 0.8× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := -36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\ \mathbf{if}\;z \leq -5.5 \cdot 10^{+62}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;z \leq 3.35 \cdot 10^{+43}:\\ \;\;\;\;x + \left(b + z \cdot \left(a + z \cdot \left(z \cdot \left(z \cdot 3.13060547623 + 11.1667541262\right) + t\right)\right)\right) \cdot \frac{y}{0.607771387771 + z \cdot \left(11.9400905721 + z \cdot \left(31.4690115749 + z \cdot \left(z + 15.234687407\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (let* ((t_1
         (+
          (* -36.52704169880642 (/ y z))
          (+ x (* y (+ 3.13060547623 (/ (+ t 457.9610022158428) (* z z))))))))
   (if (<= z -5.5e+62)
     t_1
     (if (<= z 3.35e+43)
       (+
        x
        (*
         (+
          b
          (* z (+ a (* z (+ (* z (+ (* z 3.13060547623) 11.1667541262)) t)))))
         (/
          y
          (+
           0.607771387771
           (*
            z
            (+
             11.9400905721
             (* z (+ 31.4690115749 (* z (+ z 15.234687407))))))))))
       t_1))))
double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	double tmp;
	if (z <= -5.5e+62) {
		tmp = t_1;
	} else if (z <= 3.35e+43) {
		tmp = x + ((b + (z * (a + (z * ((z * ((z * 3.13060547623) + 11.1667541262)) + t))))) * (y / (0.607771387771 + (z * (11.9400905721 + (z * (31.4690115749 + (z * (z + 15.234687407)))))))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8) :: t_1
    real(8) :: tmp
    t_1 = ((-36.52704169880642d0) * (y / z)) + (x + (y * (3.13060547623d0 + ((t + 457.9610022158428d0) / (z * z)))))
    if (z <= (-5.5d+62)) then
        tmp = t_1
    else if (z <= 3.35d+43) then
        tmp = x + ((b + (z * (a + (z * ((z * ((z * 3.13060547623d0) + 11.1667541262d0)) + t))))) * (y / (0.607771387771d0 + (z * (11.9400905721d0 + (z * (31.4690115749d0 + (z * (z + 15.234687407d0)))))))))
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	double tmp;
	if (z <= -5.5e+62) {
		tmp = t_1;
	} else if (z <= 3.35e+43) {
		tmp = x + ((b + (z * (a + (z * ((z * ((z * 3.13060547623) + 11.1667541262)) + t))))) * (y / (0.607771387771 + (z * (11.9400905721 + (z * (31.4690115749 + (z * (z + 15.234687407)))))))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(x, y, z, t, a, b):
	t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))))
	tmp = 0
	if z <= -5.5e+62:
		tmp = t_1
	elif z <= 3.35e+43:
		tmp = x + ((b + (z * (a + (z * ((z * ((z * 3.13060547623) + 11.1667541262)) + t))))) * (y / (0.607771387771 + (z * (11.9400905721 + (z * (31.4690115749 + (z * (z + 15.234687407)))))))))
	else:
		tmp = t_1
	return tmp
function code(x, y, z, t, a, b)
	t_1 = Float64(Float64(-36.52704169880642 * Float64(y / z)) + Float64(x + Float64(y * Float64(3.13060547623 + Float64(Float64(t + 457.9610022158428) / Float64(z * z))))))
	tmp = 0.0
	if (z <= -5.5e+62)
		tmp = t_1;
	elseif (z <= 3.35e+43)
		tmp = Float64(x + Float64(Float64(b + Float64(z * Float64(a + Float64(z * Float64(Float64(z * Float64(Float64(z * 3.13060547623) + 11.1667541262)) + t))))) * Float64(y / Float64(0.607771387771 + Float64(z * Float64(11.9400905721 + Float64(z * Float64(31.4690115749 + Float64(z * Float64(z + 15.234687407))))))))));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b)
	t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	tmp = 0.0;
	if (z <= -5.5e+62)
		tmp = t_1;
	elseif (z <= 3.35e+43)
		tmp = x + ((b + (z * (a + (z * ((z * ((z * 3.13060547623) + 11.1667541262)) + t))))) * (y / (0.607771387771 + (z * (11.9400905721 + (z * (31.4690115749 + (z * (z + 15.234687407)))))))));
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(-36.52704169880642 * N[(y / z), $MachinePrecision]), $MachinePrecision] + N[(x + N[(y * N[(3.13060547623 + N[(N[(t + 457.9610022158428), $MachinePrecision] / N[(z * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -5.5e+62], t$95$1, If[LessEqual[z, 3.35e+43], N[(x + N[(N[(b + N[(z * N[(a + N[(z * N[(N[(z * N[(N[(z * 3.13060547623), $MachinePrecision] + 11.1667541262), $MachinePrecision]), $MachinePrecision] + t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(y / N[(0.607771387771 + N[(z * N[(11.9400905721 + N[(z * N[(31.4690115749 + N[(z * N[(z + 15.234687407), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := -36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\
\mathbf{if}\;z \leq -5.5 \cdot 10^{+62}:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;z \leq 3.35 \cdot 10^{+43}:\\
\;\;\;\;x + \left(b + z \cdot \left(a + z \cdot \left(z \cdot \left(z \cdot 3.13060547623 + 11.1667541262\right) + t\right)\right)\right) \cdot \frac{y}{0.607771387771 + z \cdot \left(11.9400905721 + z \cdot \left(31.4690115749 + z \cdot \left(z + 15.234687407\right)\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;t\_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if z < -5.4999999999999997e62 or 3.34999999999999988e43 < z

    1. Initial program 4.6%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around inf

      \[\leadsto \color{blue}{\left(x + \left(\frac{313060547623}{100000000000} \cdot y + \left(\frac{55833770631}{5000000000} \cdot \frac{y}{z} + \frac{t \cdot y}{{z}^{2}}\right)\right)\right) - \left(\frac{15234687407}{1000000000} \cdot \frac{\frac{55833770631}{5000000000} \cdot y - \frac{4769379582500641883561}{100000000000000000000} \cdot y}{{z}^{2}} + \left(\frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z} + \frac{98517059967927196814627}{1000000000000000000000} \cdot \frac{y}{{z}^{2}}\right)\right)} \]
    4. Simplified98.2%

      \[\leadsto \color{blue}{\left(x + y \cdot 3.13060547623\right) + \left(\frac{y \cdot 11.1667541262}{z} + \left(y \cdot \frac{t}{z \cdot z} + \left(\left(\frac{y \cdot -47.69379582500642}{z} + \frac{y}{z \cdot z} \cdot -98.5170599679272\right) + \frac{y \cdot 556.47806218377}{z \cdot z}\right)\right)\right)} \]
    5. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \color{blue}{\left(\frac{\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + \left(t \cdot y + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right)}{{z}^{2}}\right)}\right) \]
    6. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + \left(t \cdot y + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right)\right), \color{blue}{\left({z}^{2}\right)}\right)\right) \]
      2. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right) + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      3. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right)\right) + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right), \left({\color{blue}{z}}^{2}\right)\right)\right) \]
      4. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({\color{blue}{z}}^{2}\right)\right)\right) \]
      5. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y\right) + t \cdot y\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      6. distribute-rgt-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t \cdot y\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      7. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + y \cdot t\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      8. distribute-lft-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      9. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      10. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right), t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      11. metadata-evalN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      12. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      13. distribute-rgt-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \left(y \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} + \frac{55833770631}{5000000000}\right)\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      14. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \left(\frac{-4769379582500641883561}{100000000000000000000} + \frac{55833770631}{5000000000}\right)\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      15. metadata-evalN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      16. unpow2N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \left(z \cdot \color{blue}{z}\right)\right)\right) \]
      17. *-lowering-*.f6465.1%

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \mathsf{*.f64}\left(z, \color{blue}{z}\right)\right)\right) \]
    7. Simplified65.1%

      \[\leadsto \left(x + y \cdot 3.13060547623\right) + \color{blue}{\frac{y \cdot \left(457.9610022158428 + t\right) + z \cdot \left(y \cdot -36.52704169880642\right)}{z \cdot z}} \]
    8. Taylor expanded in x around 0

      \[\leadsto \color{blue}{x + \left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)\right)} \]
    9. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)\right) + \color{blue}{x} \]
      2. associate-+l+N/A

        \[\leadsto \frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \color{blue}{\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right) + x\right)} \]
      3. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z}\right), \color{blue}{\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right) + x\right)}\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \left(\frac{y}{z}\right)\right), \left(\color{blue}{\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)} + x\right)\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \left(\left(\frac{313060547623}{100000000000} \cdot y + \color{blue}{\frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}}\right) + x\right)\right) \]
      6. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right), \color{blue}{x}\right)\right) \]
      7. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \frac{313060547623}{100000000000} + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right), x\right)\right) \]
      8. associate-/l*N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \frac{313060547623}{100000000000} + y \cdot \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right), x\right)\right) \]
      9. distribute-lft-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \left(\frac{313060547623}{100000000000} + \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right), x\right)\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \left(\frac{313060547623}{100000000000} + \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right), x\right)\right) \]
      11. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \left(\frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right)\right), x\right)\right) \]
      12. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right), \left({z}^{2}\right)\right)\right)\right), x\right)\right) \]
      13. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \left({z}^{2}\right)\right)\right)\right), x\right)\right) \]
      14. unpow2N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \left(z \cdot z\right)\right)\right)\right), x\right)\right) \]
      15. *-lowering-*.f6499.1%

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \mathsf{*.f64}\left(z, z\right)\right)\right)\right), x\right)\right) \]
    10. Simplified99.1%

      \[\leadsto \color{blue}{-36.52704169880642 \cdot \frac{y}{z} + \left(y \cdot \left(3.13060547623 + \frac{457.9610022158428 + t}{z \cdot z}\right) + x\right)} \]

    if -5.4999999999999997e62 < z < 3.34999999999999988e43

    1. Initial program 98.4%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(\frac{\left(\left(\left(\left(z \cdot \frac{313060547623}{100000000000} + \frac{55833770631}{5000000000}\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right) \cdot y}{\color{blue}{\left(\left(\left(z + \frac{15234687407}{1000000000}\right) \cdot z + \frac{314690115749}{10000000000}\right) \cdot z + \frac{119400905721}{10000000000}\right) \cdot z} + \frac{607771387771}{1000000000000}}\right)\right) \]
      2. associate-/l*N/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(\left(\left(\left(\left(z \cdot \frac{313060547623}{100000000000} + \frac{55833770631}{5000000000}\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right) \cdot \color{blue}{\frac{y}{\left(\left(\left(z + \frac{15234687407}{1000000000}\right) \cdot z + \frac{314690115749}{10000000000}\right) \cdot z + \frac{119400905721}{10000000000}\right) \cdot z + \frac{607771387771}{1000000000000}}}\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(\left(\left(\left(\left(z \cdot \frac{313060547623}{100000000000} + \frac{55833770631}{5000000000}\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right), \color{blue}{\left(\frac{y}{\left(\left(\left(z + \frac{15234687407}{1000000000}\right) \cdot z + \frac{314690115749}{10000000000}\right) \cdot z + \frac{119400905721}{10000000000}\right) \cdot z + \frac{607771387771}{1000000000000}}\right)}\right)\right) \]
    4. Applied egg-rr99.1%

      \[\leadsto x + \color{blue}{\left(z \cdot \left(z \cdot \left(z \cdot \left(z \cdot 3.13060547623 + 11.1667541262\right) + t\right) + a\right) + b\right) \cdot \frac{y}{z \cdot \left(z \cdot \left(z \cdot \left(z + 15.234687407\right) + 31.4690115749\right) + 11.9400905721\right) + 0.607771387771}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification99.1%

    \[\leadsto \begin{array}{l} \mathbf{if}\;z \leq -5.5 \cdot 10^{+62}:\\ \;\;\;\;-36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\ \mathbf{elif}\;z \leq 3.35 \cdot 10^{+43}:\\ \;\;\;\;x + \left(b + z \cdot \left(a + z \cdot \left(z \cdot \left(z \cdot 3.13060547623 + 11.1667541262\right) + t\right)\right)\right) \cdot \frac{y}{0.607771387771 + z \cdot \left(11.9400905721 + z \cdot \left(31.4690115749 + z \cdot \left(z + 15.234687407\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;-36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 3: 96.1% accurate, 0.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := -36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\ \mathbf{if}\;z \leq -6.5 \cdot 10^{+22}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;z \leq 10000:\\ \;\;\;\;x + \frac{y \cdot \left(b + z \cdot \left(a + z \cdot \left(z \cdot \left(z \cdot 3.13060547623 + 11.1667541262\right) + t\right)\right)\right)}{0.607771387771 + z \cdot \left(11.9400905721 + z \cdot 31.4690115749\right)}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (let* ((t_1
         (+
          (* -36.52704169880642 (/ y z))
          (+ x (* y (+ 3.13060547623 (/ (+ t 457.9610022158428) (* z z))))))))
   (if (<= z -6.5e+22)
     t_1
     (if (<= z 10000.0)
       (+
        x
        (/
         (*
          y
          (+
           b
           (*
            z
            (+ a (* z (+ (* z (+ (* z 3.13060547623) 11.1667541262)) t))))))
         (+ 0.607771387771 (* z (+ 11.9400905721 (* z 31.4690115749))))))
       t_1))))
double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	double tmp;
	if (z <= -6.5e+22) {
		tmp = t_1;
	} else if (z <= 10000.0) {
		tmp = x + ((y * (b + (z * (a + (z * ((z * ((z * 3.13060547623) + 11.1667541262)) + t)))))) / (0.607771387771 + (z * (11.9400905721 + (z * 31.4690115749)))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8) :: t_1
    real(8) :: tmp
    t_1 = ((-36.52704169880642d0) * (y / z)) + (x + (y * (3.13060547623d0 + ((t + 457.9610022158428d0) / (z * z)))))
    if (z <= (-6.5d+22)) then
        tmp = t_1
    else if (z <= 10000.0d0) then
        tmp = x + ((y * (b + (z * (a + (z * ((z * ((z * 3.13060547623d0) + 11.1667541262d0)) + t)))))) / (0.607771387771d0 + (z * (11.9400905721d0 + (z * 31.4690115749d0)))))
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	double tmp;
	if (z <= -6.5e+22) {
		tmp = t_1;
	} else if (z <= 10000.0) {
		tmp = x + ((y * (b + (z * (a + (z * ((z * ((z * 3.13060547623) + 11.1667541262)) + t)))))) / (0.607771387771 + (z * (11.9400905721 + (z * 31.4690115749)))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(x, y, z, t, a, b):
	t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))))
	tmp = 0
	if z <= -6.5e+22:
		tmp = t_1
	elif z <= 10000.0:
		tmp = x + ((y * (b + (z * (a + (z * ((z * ((z * 3.13060547623) + 11.1667541262)) + t)))))) / (0.607771387771 + (z * (11.9400905721 + (z * 31.4690115749)))))
	else:
		tmp = t_1
	return tmp
function code(x, y, z, t, a, b)
	t_1 = Float64(Float64(-36.52704169880642 * Float64(y / z)) + Float64(x + Float64(y * Float64(3.13060547623 + Float64(Float64(t + 457.9610022158428) / Float64(z * z))))))
	tmp = 0.0
	if (z <= -6.5e+22)
		tmp = t_1;
	elseif (z <= 10000.0)
		tmp = Float64(x + Float64(Float64(y * Float64(b + Float64(z * Float64(a + Float64(z * Float64(Float64(z * Float64(Float64(z * 3.13060547623) + 11.1667541262)) + t)))))) / Float64(0.607771387771 + Float64(z * Float64(11.9400905721 + Float64(z * 31.4690115749))))));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b)
	t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	tmp = 0.0;
	if (z <= -6.5e+22)
		tmp = t_1;
	elseif (z <= 10000.0)
		tmp = x + ((y * (b + (z * (a + (z * ((z * ((z * 3.13060547623) + 11.1667541262)) + t)))))) / (0.607771387771 + (z * (11.9400905721 + (z * 31.4690115749)))));
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(-36.52704169880642 * N[(y / z), $MachinePrecision]), $MachinePrecision] + N[(x + N[(y * N[(3.13060547623 + N[(N[(t + 457.9610022158428), $MachinePrecision] / N[(z * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -6.5e+22], t$95$1, If[LessEqual[z, 10000.0], N[(x + N[(N[(y * N[(b + N[(z * N[(a + N[(z * N[(N[(z * N[(N[(z * 3.13060547623), $MachinePrecision] + 11.1667541262), $MachinePrecision]), $MachinePrecision] + t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(0.607771387771 + N[(z * N[(11.9400905721 + N[(z * 31.4690115749), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := -36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\
\mathbf{if}\;z \leq -6.5 \cdot 10^{+22}:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;z \leq 10000:\\
\;\;\;\;x + \frac{y \cdot \left(b + z \cdot \left(a + z \cdot \left(z \cdot \left(z \cdot 3.13060547623 + 11.1667541262\right) + t\right)\right)\right)}{0.607771387771 + z \cdot \left(11.9400905721 + z \cdot 31.4690115749\right)}\\

\mathbf{else}:\\
\;\;\;\;t\_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if z < -6.49999999999999979e22 or 1e4 < z

    1. Initial program 15.8%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around inf

      \[\leadsto \color{blue}{\left(x + \left(\frac{313060547623}{100000000000} \cdot y + \left(\frac{55833770631}{5000000000} \cdot \frac{y}{z} + \frac{t \cdot y}{{z}^{2}}\right)\right)\right) - \left(\frac{15234687407}{1000000000} \cdot \frac{\frac{55833770631}{5000000000} \cdot y - \frac{4769379582500641883561}{100000000000000000000} \cdot y}{{z}^{2}} + \left(\frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z} + \frac{98517059967927196814627}{1000000000000000000000} \cdot \frac{y}{{z}^{2}}\right)\right)} \]
    4. Simplified95.3%

      \[\leadsto \color{blue}{\left(x + y \cdot 3.13060547623\right) + \left(\frac{y \cdot 11.1667541262}{z} + \left(y \cdot \frac{t}{z \cdot z} + \left(\left(\frac{y \cdot -47.69379582500642}{z} + \frac{y}{z \cdot z} \cdot -98.5170599679272\right) + \frac{y \cdot 556.47806218377}{z \cdot z}\right)\right)\right)} \]
    5. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \color{blue}{\left(\frac{\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + \left(t \cdot y + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right)}{{z}^{2}}\right)}\right) \]
    6. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + \left(t \cdot y + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right)\right), \color{blue}{\left({z}^{2}\right)}\right)\right) \]
      2. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right) + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      3. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right)\right) + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right), \left({\color{blue}{z}}^{2}\right)\right)\right) \]
      4. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({\color{blue}{z}}^{2}\right)\right)\right) \]
      5. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y\right) + t \cdot y\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      6. distribute-rgt-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t \cdot y\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      7. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + y \cdot t\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      8. distribute-lft-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      9. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      10. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right), t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      11. metadata-evalN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      12. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      13. distribute-rgt-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \left(y \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} + \frac{55833770631}{5000000000}\right)\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      14. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \left(\frac{-4769379582500641883561}{100000000000000000000} + \frac{55833770631}{5000000000}\right)\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      15. metadata-evalN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      16. unpow2N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \left(z \cdot \color{blue}{z}\right)\right)\right) \]
      17. *-lowering-*.f6465.8%

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \mathsf{*.f64}\left(z, \color{blue}{z}\right)\right)\right) \]
    7. Simplified65.8%

      \[\leadsto \left(x + y \cdot 3.13060547623\right) + \color{blue}{\frac{y \cdot \left(457.9610022158428 + t\right) + z \cdot \left(y \cdot -36.52704169880642\right)}{z \cdot z}} \]
    8. Taylor expanded in x around 0

      \[\leadsto \color{blue}{x + \left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)\right)} \]
    9. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)\right) + \color{blue}{x} \]
      2. associate-+l+N/A

        \[\leadsto \frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \color{blue}{\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right) + x\right)} \]
      3. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z}\right), \color{blue}{\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right) + x\right)}\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \left(\frac{y}{z}\right)\right), \left(\color{blue}{\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)} + x\right)\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \left(\left(\frac{313060547623}{100000000000} \cdot y + \color{blue}{\frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}}\right) + x\right)\right) \]
      6. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right), \color{blue}{x}\right)\right) \]
      7. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \frac{313060547623}{100000000000} + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right), x\right)\right) \]
      8. associate-/l*N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \frac{313060547623}{100000000000} + y \cdot \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right), x\right)\right) \]
      9. distribute-lft-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \left(\frac{313060547623}{100000000000} + \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right), x\right)\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \left(\frac{313060547623}{100000000000} + \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right), x\right)\right) \]
      11. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \left(\frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right)\right), x\right)\right) \]
      12. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right), \left({z}^{2}\right)\right)\right)\right), x\right)\right) \]
      13. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \left({z}^{2}\right)\right)\right)\right), x\right)\right) \]
      14. unpow2N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \left(z \cdot z\right)\right)\right)\right), x\right)\right) \]
      15. *-lowering-*.f6496.1%

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \mathsf{*.f64}\left(z, z\right)\right)\right)\right), x\right)\right) \]
    10. Simplified96.1%

      \[\leadsto \color{blue}{-36.52704169880642 \cdot \frac{y}{z} + \left(y \cdot \left(3.13060547623 + \frac{457.9610022158428 + t}{z \cdot z}\right) + x\right)} \]

    if -6.49999999999999979e22 < z < 1e4

    1. Initial program 99.7%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\color{blue}{\left(z \cdot \left(\frac{119400905721}{10000000000} + \frac{314690115749}{10000000000} \cdot z\right)\right)}, \frac{607771387771}{1000000000000}\right)\right)\right) \]
    4. Step-by-step derivation
      1. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \left(\frac{119400905721}{10000000000} + \frac{314690115749}{10000000000} \cdot z\right)\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      2. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \mathsf{+.f64}\left(\frac{119400905721}{10000000000}, \left(\frac{314690115749}{10000000000} \cdot z\right)\right)\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \mathsf{+.f64}\left(\frac{119400905721}{10000000000}, \left(z \cdot \frac{314690115749}{10000000000}\right)\right)\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      4. *-lowering-*.f6496.3%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \mathsf{+.f64}\left(\frac{119400905721}{10000000000}, \mathsf{*.f64}\left(z, \frac{314690115749}{10000000000}\right)\right)\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    5. Simplified96.3%

      \[\leadsto x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\color{blue}{z \cdot \left(11.9400905721 + z \cdot 31.4690115749\right)} + 0.607771387771} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification96.2%

    \[\leadsto \begin{array}{l} \mathbf{if}\;z \leq -6.5 \cdot 10^{+22}:\\ \;\;\;\;-36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\ \mathbf{elif}\;z \leq 10000:\\ \;\;\;\;x + \frac{y \cdot \left(b + z \cdot \left(a + z \cdot \left(z \cdot \left(z \cdot 3.13060547623 + 11.1667541262\right) + t\right)\right)\right)}{0.607771387771 + z \cdot \left(11.9400905721 + z \cdot 31.4690115749\right)}\\ \mathbf{else}:\\ \;\;\;\;-36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 4: 96.2% accurate, 0.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := -36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\ \mathbf{if}\;z \leq -0.05:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;z \leq 80000:\\ \;\;\;\;x + \left(b + z \cdot \left(a + z \cdot \left(z \cdot \left(z \cdot 3.13060547623 + 11.1667541262\right) + t\right)\right)\right) \cdot \left(y \cdot \frac{1}{0.607771387771 + z \cdot 11.9400905721}\right)\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (let* ((t_1
         (+
          (* -36.52704169880642 (/ y z))
          (+ x (* y (+ 3.13060547623 (/ (+ t 457.9610022158428) (* z z))))))))
   (if (<= z -0.05)
     t_1
     (if (<= z 80000.0)
       (+
        x
        (*
         (+
          b
          (* z (+ a (* z (+ (* z (+ (* z 3.13060547623) 11.1667541262)) t)))))
         (* y (/ 1.0 (+ 0.607771387771 (* z 11.9400905721))))))
       t_1))))
double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	double tmp;
	if (z <= -0.05) {
		tmp = t_1;
	} else if (z <= 80000.0) {
		tmp = x + ((b + (z * (a + (z * ((z * ((z * 3.13060547623) + 11.1667541262)) + t))))) * (y * (1.0 / (0.607771387771 + (z * 11.9400905721)))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8) :: t_1
    real(8) :: tmp
    t_1 = ((-36.52704169880642d0) * (y / z)) + (x + (y * (3.13060547623d0 + ((t + 457.9610022158428d0) / (z * z)))))
    if (z <= (-0.05d0)) then
        tmp = t_1
    else if (z <= 80000.0d0) then
        tmp = x + ((b + (z * (a + (z * ((z * ((z * 3.13060547623d0) + 11.1667541262d0)) + t))))) * (y * (1.0d0 / (0.607771387771d0 + (z * 11.9400905721d0)))))
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	double tmp;
	if (z <= -0.05) {
		tmp = t_1;
	} else if (z <= 80000.0) {
		tmp = x + ((b + (z * (a + (z * ((z * ((z * 3.13060547623) + 11.1667541262)) + t))))) * (y * (1.0 / (0.607771387771 + (z * 11.9400905721)))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(x, y, z, t, a, b):
	t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))))
	tmp = 0
	if z <= -0.05:
		tmp = t_1
	elif z <= 80000.0:
		tmp = x + ((b + (z * (a + (z * ((z * ((z * 3.13060547623) + 11.1667541262)) + t))))) * (y * (1.0 / (0.607771387771 + (z * 11.9400905721)))))
	else:
		tmp = t_1
	return tmp
function code(x, y, z, t, a, b)
	t_1 = Float64(Float64(-36.52704169880642 * Float64(y / z)) + Float64(x + Float64(y * Float64(3.13060547623 + Float64(Float64(t + 457.9610022158428) / Float64(z * z))))))
	tmp = 0.0
	if (z <= -0.05)
		tmp = t_1;
	elseif (z <= 80000.0)
		tmp = Float64(x + Float64(Float64(b + Float64(z * Float64(a + Float64(z * Float64(Float64(z * Float64(Float64(z * 3.13060547623) + 11.1667541262)) + t))))) * Float64(y * Float64(1.0 / Float64(0.607771387771 + Float64(z * 11.9400905721))))));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b)
	t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	tmp = 0.0;
	if (z <= -0.05)
		tmp = t_1;
	elseif (z <= 80000.0)
		tmp = x + ((b + (z * (a + (z * ((z * ((z * 3.13060547623) + 11.1667541262)) + t))))) * (y * (1.0 / (0.607771387771 + (z * 11.9400905721)))));
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(-36.52704169880642 * N[(y / z), $MachinePrecision]), $MachinePrecision] + N[(x + N[(y * N[(3.13060547623 + N[(N[(t + 457.9610022158428), $MachinePrecision] / N[(z * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -0.05], t$95$1, If[LessEqual[z, 80000.0], N[(x + N[(N[(b + N[(z * N[(a + N[(z * N[(N[(z * N[(N[(z * 3.13060547623), $MachinePrecision] + 11.1667541262), $MachinePrecision]), $MachinePrecision] + t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(y * N[(1.0 / N[(0.607771387771 + N[(z * 11.9400905721), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := -36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\
\mathbf{if}\;z \leq -0.05:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;z \leq 80000:\\
\;\;\;\;x + \left(b + z \cdot \left(a + z \cdot \left(z \cdot \left(z \cdot 3.13060547623 + 11.1667541262\right) + t\right)\right)\right) \cdot \left(y \cdot \frac{1}{0.607771387771 + z \cdot 11.9400905721}\right)\\

\mathbf{else}:\\
\;\;\;\;t\_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if z < -0.050000000000000003 or 8e4 < z

    1. Initial program 19.5%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around inf

      \[\leadsto \color{blue}{\left(x + \left(\frac{313060547623}{100000000000} \cdot y + \left(\frac{55833770631}{5000000000} \cdot \frac{y}{z} + \frac{t \cdot y}{{z}^{2}}\right)\right)\right) - \left(\frac{15234687407}{1000000000} \cdot \frac{\frac{55833770631}{5000000000} \cdot y - \frac{4769379582500641883561}{100000000000000000000} \cdot y}{{z}^{2}} + \left(\frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z} + \frac{98517059967927196814627}{1000000000000000000000} \cdot \frac{y}{{z}^{2}}\right)\right)} \]
    4. Simplified92.7%

      \[\leadsto \color{blue}{\left(x + y \cdot 3.13060547623\right) + \left(\frac{y \cdot 11.1667541262}{z} + \left(y \cdot \frac{t}{z \cdot z} + \left(\left(\frac{y \cdot -47.69379582500642}{z} + \frac{y}{z \cdot z} \cdot -98.5170599679272\right) + \frac{y \cdot 556.47806218377}{z \cdot z}\right)\right)\right)} \]
    5. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \color{blue}{\left(\frac{\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + \left(t \cdot y + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right)}{{z}^{2}}\right)}\right) \]
    6. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + \left(t \cdot y + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right)\right), \color{blue}{\left({z}^{2}\right)}\right)\right) \]
      2. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right) + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      3. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right)\right) + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right), \left({\color{blue}{z}}^{2}\right)\right)\right) \]
      4. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({\color{blue}{z}}^{2}\right)\right)\right) \]
      5. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y\right) + t \cdot y\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      6. distribute-rgt-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t \cdot y\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      7. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + y \cdot t\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      8. distribute-lft-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      9. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      10. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right), t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      11. metadata-evalN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      12. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      13. distribute-rgt-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \left(y \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} + \frac{55833770631}{5000000000}\right)\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      14. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \left(\frac{-4769379582500641883561}{100000000000000000000} + \frac{55833770631}{5000000000}\right)\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      15. metadata-evalN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      16. unpow2N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \left(z \cdot \color{blue}{z}\right)\right)\right) \]
      17. *-lowering-*.f6464.6%

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \mathsf{*.f64}\left(z, \color{blue}{z}\right)\right)\right) \]
    7. Simplified64.6%

      \[\leadsto \left(x + y \cdot 3.13060547623\right) + \color{blue}{\frac{y \cdot \left(457.9610022158428 + t\right) + z \cdot \left(y \cdot -36.52704169880642\right)}{z \cdot z}} \]
    8. Taylor expanded in x around 0

      \[\leadsto \color{blue}{x + \left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)\right)} \]
    9. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)\right) + \color{blue}{x} \]
      2. associate-+l+N/A

        \[\leadsto \frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \color{blue}{\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right) + x\right)} \]
      3. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z}\right), \color{blue}{\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right) + x\right)}\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \left(\frac{y}{z}\right)\right), \left(\color{blue}{\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)} + x\right)\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \left(\left(\frac{313060547623}{100000000000} \cdot y + \color{blue}{\frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}}\right) + x\right)\right) \]
      6. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right), \color{blue}{x}\right)\right) \]
      7. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \frac{313060547623}{100000000000} + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right), x\right)\right) \]
      8. associate-/l*N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \frac{313060547623}{100000000000} + y \cdot \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right), x\right)\right) \]
      9. distribute-lft-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \left(\frac{313060547623}{100000000000} + \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right), x\right)\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \left(\frac{313060547623}{100000000000} + \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right), x\right)\right) \]
      11. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \left(\frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right)\right), x\right)\right) \]
      12. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right), \left({z}^{2}\right)\right)\right)\right), x\right)\right) \]
      13. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \left({z}^{2}\right)\right)\right)\right), x\right)\right) \]
      14. unpow2N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \left(z \cdot z\right)\right)\right)\right), x\right)\right) \]
      15. *-lowering-*.f6493.5%

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \mathsf{*.f64}\left(z, z\right)\right)\right)\right), x\right)\right) \]
    10. Simplified93.5%

      \[\leadsto \color{blue}{-36.52704169880642 \cdot \frac{y}{z} + \left(y \cdot \left(3.13060547623 + \frac{457.9610022158428 + t}{z \cdot z}\right) + x\right)} \]

    if -0.050000000000000003 < z < 8e4

    1. Initial program 99.7%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\color{blue}{\left(\frac{119400905721}{10000000000} \cdot z\right)}, \frac{607771387771}{1000000000000}\right)\right)\right) \]
    4. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\left(z \cdot \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      2. *-lowering-*.f6498.8%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    5. Simplified98.8%

      \[\leadsto x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\color{blue}{z \cdot 11.9400905721} + 0.607771387771} \]
    6. Step-by-step derivation
      1. div-invN/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(\left(y \cdot \left(\left(\left(\left(z \cdot \frac{313060547623}{100000000000} + \frac{55833770631}{5000000000}\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)\right) \cdot \color{blue}{\frac{1}{z \cdot \frac{119400905721}{10000000000} + \frac{607771387771}{1000000000000}}}\right)\right) \]
      2. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(\left(\left(\left(\left(\left(z \cdot \frac{313060547623}{100000000000} + \frac{55833770631}{5000000000}\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right) \cdot y\right) \cdot \frac{\color{blue}{1}}{z \cdot \frac{119400905721}{10000000000} + \frac{607771387771}{1000000000000}}\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(\left(\left(\left(\left(z \cdot \frac{313060547623}{100000000000} + \frac{55833770631}{5000000000}\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right) \cdot \color{blue}{\left(y \cdot \frac{1}{z \cdot \frac{119400905721}{10000000000} + \frac{607771387771}{1000000000000}}\right)}\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(\left(\left(\left(\left(z \cdot \frac{313060547623}{100000000000} + \frac{55833770631}{5000000000}\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right), \color{blue}{\left(y \cdot \frac{1}{z \cdot \frac{119400905721}{10000000000} + \frac{607771387771}{1000000000000}}\right)}\right)\right) \]
    7. Applied egg-rr98.9%

      \[\leadsto x + \color{blue}{\left(b + z \cdot \left(a + z \cdot \left(t + z \cdot \left(z \cdot 3.13060547623 + 11.1667541262\right)\right)\right)\right) \cdot \left(y \cdot \frac{1}{0.607771387771 + z \cdot 11.9400905721}\right)} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification96.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;z \leq -0.05:\\ \;\;\;\;-36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\ \mathbf{elif}\;z \leq 80000:\\ \;\;\;\;x + \left(b + z \cdot \left(a + z \cdot \left(z \cdot \left(z \cdot 3.13060547623 + 11.1667541262\right) + t\right)\right)\right) \cdot \left(y \cdot \frac{1}{0.607771387771 + z \cdot 11.9400905721}\right)\\ \mathbf{else}:\\ \;\;\;\;-36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 5: 96.2% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := -36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\ \mathbf{if}\;z \leq -0.05:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;z \leq 66000:\\ \;\;\;\;x + \left(b + z \cdot \left(a + z \cdot \left(z \cdot \left(z \cdot 3.13060547623 + 11.1667541262\right) + t\right)\right)\right) \cdot \frac{y}{0.607771387771 + z \cdot 11.9400905721}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (let* ((t_1
         (+
          (* -36.52704169880642 (/ y z))
          (+ x (* y (+ 3.13060547623 (/ (+ t 457.9610022158428) (* z z))))))))
   (if (<= z -0.05)
     t_1
     (if (<= z 66000.0)
       (+
        x
        (*
         (+
          b
          (* z (+ a (* z (+ (* z (+ (* z 3.13060547623) 11.1667541262)) t)))))
         (/ y (+ 0.607771387771 (* z 11.9400905721)))))
       t_1))))
double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	double tmp;
	if (z <= -0.05) {
		tmp = t_1;
	} else if (z <= 66000.0) {
		tmp = x + ((b + (z * (a + (z * ((z * ((z * 3.13060547623) + 11.1667541262)) + t))))) * (y / (0.607771387771 + (z * 11.9400905721))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8) :: t_1
    real(8) :: tmp
    t_1 = ((-36.52704169880642d0) * (y / z)) + (x + (y * (3.13060547623d0 + ((t + 457.9610022158428d0) / (z * z)))))
    if (z <= (-0.05d0)) then
        tmp = t_1
    else if (z <= 66000.0d0) then
        tmp = x + ((b + (z * (a + (z * ((z * ((z * 3.13060547623d0) + 11.1667541262d0)) + t))))) * (y / (0.607771387771d0 + (z * 11.9400905721d0))))
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	double tmp;
	if (z <= -0.05) {
		tmp = t_1;
	} else if (z <= 66000.0) {
		tmp = x + ((b + (z * (a + (z * ((z * ((z * 3.13060547623) + 11.1667541262)) + t))))) * (y / (0.607771387771 + (z * 11.9400905721))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(x, y, z, t, a, b):
	t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))))
	tmp = 0
	if z <= -0.05:
		tmp = t_1
	elif z <= 66000.0:
		tmp = x + ((b + (z * (a + (z * ((z * ((z * 3.13060547623) + 11.1667541262)) + t))))) * (y / (0.607771387771 + (z * 11.9400905721))))
	else:
		tmp = t_1
	return tmp
function code(x, y, z, t, a, b)
	t_1 = Float64(Float64(-36.52704169880642 * Float64(y / z)) + Float64(x + Float64(y * Float64(3.13060547623 + Float64(Float64(t + 457.9610022158428) / Float64(z * z))))))
	tmp = 0.0
	if (z <= -0.05)
		tmp = t_1;
	elseif (z <= 66000.0)
		tmp = Float64(x + Float64(Float64(b + Float64(z * Float64(a + Float64(z * Float64(Float64(z * Float64(Float64(z * 3.13060547623) + 11.1667541262)) + t))))) * Float64(y / Float64(0.607771387771 + Float64(z * 11.9400905721)))));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b)
	t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	tmp = 0.0;
	if (z <= -0.05)
		tmp = t_1;
	elseif (z <= 66000.0)
		tmp = x + ((b + (z * (a + (z * ((z * ((z * 3.13060547623) + 11.1667541262)) + t))))) * (y / (0.607771387771 + (z * 11.9400905721))));
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(-36.52704169880642 * N[(y / z), $MachinePrecision]), $MachinePrecision] + N[(x + N[(y * N[(3.13060547623 + N[(N[(t + 457.9610022158428), $MachinePrecision] / N[(z * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -0.05], t$95$1, If[LessEqual[z, 66000.0], N[(x + N[(N[(b + N[(z * N[(a + N[(z * N[(N[(z * N[(N[(z * 3.13060547623), $MachinePrecision] + 11.1667541262), $MachinePrecision]), $MachinePrecision] + t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(y / N[(0.607771387771 + N[(z * 11.9400905721), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := -36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\
\mathbf{if}\;z \leq -0.05:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;z \leq 66000:\\
\;\;\;\;x + \left(b + z \cdot \left(a + z \cdot \left(z \cdot \left(z \cdot 3.13060547623 + 11.1667541262\right) + t\right)\right)\right) \cdot \frac{y}{0.607771387771 + z \cdot 11.9400905721}\\

\mathbf{else}:\\
\;\;\;\;t\_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if z < -0.050000000000000003 or 66000 < z

    1. Initial program 19.5%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around inf

      \[\leadsto \color{blue}{\left(x + \left(\frac{313060547623}{100000000000} \cdot y + \left(\frac{55833770631}{5000000000} \cdot \frac{y}{z} + \frac{t \cdot y}{{z}^{2}}\right)\right)\right) - \left(\frac{15234687407}{1000000000} \cdot \frac{\frac{55833770631}{5000000000} \cdot y - \frac{4769379582500641883561}{100000000000000000000} \cdot y}{{z}^{2}} + \left(\frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z} + \frac{98517059967927196814627}{1000000000000000000000} \cdot \frac{y}{{z}^{2}}\right)\right)} \]
    4. Simplified92.7%

      \[\leadsto \color{blue}{\left(x + y \cdot 3.13060547623\right) + \left(\frac{y \cdot 11.1667541262}{z} + \left(y \cdot \frac{t}{z \cdot z} + \left(\left(\frac{y \cdot -47.69379582500642}{z} + \frac{y}{z \cdot z} \cdot -98.5170599679272\right) + \frac{y \cdot 556.47806218377}{z \cdot z}\right)\right)\right)} \]
    5. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \color{blue}{\left(\frac{\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + \left(t \cdot y + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right)}{{z}^{2}}\right)}\right) \]
    6. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + \left(t \cdot y + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right)\right), \color{blue}{\left({z}^{2}\right)}\right)\right) \]
      2. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right) + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      3. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right)\right) + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right), \left({\color{blue}{z}}^{2}\right)\right)\right) \]
      4. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({\color{blue}{z}}^{2}\right)\right)\right) \]
      5. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y\right) + t \cdot y\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      6. distribute-rgt-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t \cdot y\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      7. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + y \cdot t\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      8. distribute-lft-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      9. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      10. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right), t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      11. metadata-evalN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      12. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      13. distribute-rgt-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \left(y \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} + \frac{55833770631}{5000000000}\right)\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      14. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \left(\frac{-4769379582500641883561}{100000000000000000000} + \frac{55833770631}{5000000000}\right)\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      15. metadata-evalN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      16. unpow2N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \left(z \cdot \color{blue}{z}\right)\right)\right) \]
      17. *-lowering-*.f6464.6%

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \mathsf{*.f64}\left(z, \color{blue}{z}\right)\right)\right) \]
    7. Simplified64.6%

      \[\leadsto \left(x + y \cdot 3.13060547623\right) + \color{blue}{\frac{y \cdot \left(457.9610022158428 + t\right) + z \cdot \left(y \cdot -36.52704169880642\right)}{z \cdot z}} \]
    8. Taylor expanded in x around 0

      \[\leadsto \color{blue}{x + \left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)\right)} \]
    9. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)\right) + \color{blue}{x} \]
      2. associate-+l+N/A

        \[\leadsto \frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \color{blue}{\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right) + x\right)} \]
      3. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z}\right), \color{blue}{\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right) + x\right)}\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \left(\frac{y}{z}\right)\right), \left(\color{blue}{\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)} + x\right)\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \left(\left(\frac{313060547623}{100000000000} \cdot y + \color{blue}{\frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}}\right) + x\right)\right) \]
      6. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right), \color{blue}{x}\right)\right) \]
      7. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \frac{313060547623}{100000000000} + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right), x\right)\right) \]
      8. associate-/l*N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \frac{313060547623}{100000000000} + y \cdot \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right), x\right)\right) \]
      9. distribute-lft-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \left(\frac{313060547623}{100000000000} + \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right), x\right)\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \left(\frac{313060547623}{100000000000} + \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right), x\right)\right) \]
      11. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \left(\frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right)\right), x\right)\right) \]
      12. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right), \left({z}^{2}\right)\right)\right)\right), x\right)\right) \]
      13. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \left({z}^{2}\right)\right)\right)\right), x\right)\right) \]
      14. unpow2N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \left(z \cdot z\right)\right)\right)\right), x\right)\right) \]
      15. *-lowering-*.f6493.5%

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \mathsf{*.f64}\left(z, z\right)\right)\right)\right), x\right)\right) \]
    10. Simplified93.5%

      \[\leadsto \color{blue}{-36.52704169880642 \cdot \frac{y}{z} + \left(y \cdot \left(3.13060547623 + \frac{457.9610022158428 + t}{z \cdot z}\right) + x\right)} \]

    if -0.050000000000000003 < z < 66000

    1. Initial program 99.7%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\color{blue}{\left(\frac{119400905721}{10000000000} \cdot z\right)}, \frac{607771387771}{1000000000000}\right)\right)\right) \]
    4. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\left(z \cdot \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      2. *-lowering-*.f6498.8%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    5. Simplified98.8%

      \[\leadsto x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\color{blue}{z \cdot 11.9400905721} + 0.607771387771} \]
    6. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(\frac{\left(\left(\left(\left(z \cdot \frac{313060547623}{100000000000} + \frac{55833770631}{5000000000}\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right) \cdot y}{\color{blue}{z \cdot \frac{119400905721}{10000000000}} + \frac{607771387771}{1000000000000}}\right)\right) \]
      2. associate-/l*N/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(\left(\left(\left(\left(z \cdot \frac{313060547623}{100000000000} + \frac{55833770631}{5000000000}\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right) \cdot \color{blue}{\frac{y}{z \cdot \frac{119400905721}{10000000000} + \frac{607771387771}{1000000000000}}}\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(\left(\left(\left(\left(z \cdot \frac{313060547623}{100000000000} + \frac{55833770631}{5000000000}\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right), \color{blue}{\left(\frac{y}{z \cdot \frac{119400905721}{10000000000} + \frac{607771387771}{1000000000000}}\right)}\right)\right) \]
    7. Applied egg-rr98.8%

      \[\leadsto x + \color{blue}{\left(b + z \cdot \left(a + z \cdot \left(t + z \cdot \left(z \cdot 3.13060547623 + 11.1667541262\right)\right)\right)\right) \cdot \frac{y}{0.607771387771 + z \cdot 11.9400905721}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification96.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;z \leq -0.05:\\ \;\;\;\;-36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\ \mathbf{elif}\;z \leq 66000:\\ \;\;\;\;x + \left(b + z \cdot \left(a + z \cdot \left(z \cdot \left(z \cdot 3.13060547623 + 11.1667541262\right) + t\right)\right)\right) \cdot \frac{y}{0.607771387771 + z \cdot 11.9400905721}\\ \mathbf{else}:\\ \;\;\;\;-36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 6: 96.2% accurate, 1.1× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := -36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\ \mathbf{if}\;z \leq -0.05:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;z \leq 72000:\\ \;\;\;\;x + \frac{y \cdot \left(b + z \cdot \left(a + z \cdot \left(t + z \cdot 11.1667541262\right)\right)\right)}{0.607771387771 + z \cdot 11.9400905721}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (let* ((t_1
         (+
          (* -36.52704169880642 (/ y z))
          (+ x (* y (+ 3.13060547623 (/ (+ t 457.9610022158428) (* z z))))))))
   (if (<= z -0.05)
     t_1
     (if (<= z 72000.0)
       (+
        x
        (/
         (* y (+ b (* z (+ a (* z (+ t (* z 11.1667541262)))))))
         (+ 0.607771387771 (* z 11.9400905721))))
       t_1))))
double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	double tmp;
	if (z <= -0.05) {
		tmp = t_1;
	} else if (z <= 72000.0) {
		tmp = x + ((y * (b + (z * (a + (z * (t + (z * 11.1667541262))))))) / (0.607771387771 + (z * 11.9400905721)));
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8) :: t_1
    real(8) :: tmp
    t_1 = ((-36.52704169880642d0) * (y / z)) + (x + (y * (3.13060547623d0 + ((t + 457.9610022158428d0) / (z * z)))))
    if (z <= (-0.05d0)) then
        tmp = t_1
    else if (z <= 72000.0d0) then
        tmp = x + ((y * (b + (z * (a + (z * (t + (z * 11.1667541262d0))))))) / (0.607771387771d0 + (z * 11.9400905721d0)))
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	double tmp;
	if (z <= -0.05) {
		tmp = t_1;
	} else if (z <= 72000.0) {
		tmp = x + ((y * (b + (z * (a + (z * (t + (z * 11.1667541262))))))) / (0.607771387771 + (z * 11.9400905721)));
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(x, y, z, t, a, b):
	t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))))
	tmp = 0
	if z <= -0.05:
		tmp = t_1
	elif z <= 72000.0:
		tmp = x + ((y * (b + (z * (a + (z * (t + (z * 11.1667541262))))))) / (0.607771387771 + (z * 11.9400905721)))
	else:
		tmp = t_1
	return tmp
function code(x, y, z, t, a, b)
	t_1 = Float64(Float64(-36.52704169880642 * Float64(y / z)) + Float64(x + Float64(y * Float64(3.13060547623 + Float64(Float64(t + 457.9610022158428) / Float64(z * z))))))
	tmp = 0.0
	if (z <= -0.05)
		tmp = t_1;
	elseif (z <= 72000.0)
		tmp = Float64(x + Float64(Float64(y * Float64(b + Float64(z * Float64(a + Float64(z * Float64(t + Float64(z * 11.1667541262))))))) / Float64(0.607771387771 + Float64(z * 11.9400905721))));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b)
	t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	tmp = 0.0;
	if (z <= -0.05)
		tmp = t_1;
	elseif (z <= 72000.0)
		tmp = x + ((y * (b + (z * (a + (z * (t + (z * 11.1667541262))))))) / (0.607771387771 + (z * 11.9400905721)));
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(-36.52704169880642 * N[(y / z), $MachinePrecision]), $MachinePrecision] + N[(x + N[(y * N[(3.13060547623 + N[(N[(t + 457.9610022158428), $MachinePrecision] / N[(z * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -0.05], t$95$1, If[LessEqual[z, 72000.0], N[(x + N[(N[(y * N[(b + N[(z * N[(a + N[(z * N[(t + N[(z * 11.1667541262), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(0.607771387771 + N[(z * 11.9400905721), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := -36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\
\mathbf{if}\;z \leq -0.05:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;z \leq 72000:\\
\;\;\;\;x + \frac{y \cdot \left(b + z \cdot \left(a + z \cdot \left(t + z \cdot 11.1667541262\right)\right)\right)}{0.607771387771 + z \cdot 11.9400905721}\\

\mathbf{else}:\\
\;\;\;\;t\_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if z < -0.050000000000000003 or 72000 < z

    1. Initial program 19.5%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around inf

      \[\leadsto \color{blue}{\left(x + \left(\frac{313060547623}{100000000000} \cdot y + \left(\frac{55833770631}{5000000000} \cdot \frac{y}{z} + \frac{t \cdot y}{{z}^{2}}\right)\right)\right) - \left(\frac{15234687407}{1000000000} \cdot \frac{\frac{55833770631}{5000000000} \cdot y - \frac{4769379582500641883561}{100000000000000000000} \cdot y}{{z}^{2}} + \left(\frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z} + \frac{98517059967927196814627}{1000000000000000000000} \cdot \frac{y}{{z}^{2}}\right)\right)} \]
    4. Simplified92.7%

      \[\leadsto \color{blue}{\left(x + y \cdot 3.13060547623\right) + \left(\frac{y \cdot 11.1667541262}{z} + \left(y \cdot \frac{t}{z \cdot z} + \left(\left(\frac{y \cdot -47.69379582500642}{z} + \frac{y}{z \cdot z} \cdot -98.5170599679272\right) + \frac{y \cdot 556.47806218377}{z \cdot z}\right)\right)\right)} \]
    5. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \color{blue}{\left(\frac{\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + \left(t \cdot y + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right)}{{z}^{2}}\right)}\right) \]
    6. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + \left(t \cdot y + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right)\right), \color{blue}{\left({z}^{2}\right)}\right)\right) \]
      2. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right) + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      3. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right)\right) + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right), \left({\color{blue}{z}}^{2}\right)\right)\right) \]
      4. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({\color{blue}{z}}^{2}\right)\right)\right) \]
      5. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y\right) + t \cdot y\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      6. distribute-rgt-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t \cdot y\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      7. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + y \cdot t\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      8. distribute-lft-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      9. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      10. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right), t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      11. metadata-evalN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      12. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      13. distribute-rgt-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \left(y \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} + \frac{55833770631}{5000000000}\right)\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      14. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \left(\frac{-4769379582500641883561}{100000000000000000000} + \frac{55833770631}{5000000000}\right)\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      15. metadata-evalN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      16. unpow2N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \left(z \cdot \color{blue}{z}\right)\right)\right) \]
      17. *-lowering-*.f6464.6%

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \mathsf{*.f64}\left(z, \color{blue}{z}\right)\right)\right) \]
    7. Simplified64.6%

      \[\leadsto \left(x + y \cdot 3.13060547623\right) + \color{blue}{\frac{y \cdot \left(457.9610022158428 + t\right) + z \cdot \left(y \cdot -36.52704169880642\right)}{z \cdot z}} \]
    8. Taylor expanded in x around 0

      \[\leadsto \color{blue}{x + \left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)\right)} \]
    9. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)\right) + \color{blue}{x} \]
      2. associate-+l+N/A

        \[\leadsto \frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \color{blue}{\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right) + x\right)} \]
      3. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z}\right), \color{blue}{\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right) + x\right)}\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \left(\frac{y}{z}\right)\right), \left(\color{blue}{\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)} + x\right)\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \left(\left(\frac{313060547623}{100000000000} \cdot y + \color{blue}{\frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}}\right) + x\right)\right) \]
      6. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right), \color{blue}{x}\right)\right) \]
      7. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \frac{313060547623}{100000000000} + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right), x\right)\right) \]
      8. associate-/l*N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \frac{313060547623}{100000000000} + y \cdot \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right), x\right)\right) \]
      9. distribute-lft-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \left(\frac{313060547623}{100000000000} + \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right), x\right)\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \left(\frac{313060547623}{100000000000} + \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right), x\right)\right) \]
      11. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \left(\frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right)\right), x\right)\right) \]
      12. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right), \left({z}^{2}\right)\right)\right)\right), x\right)\right) \]
      13. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \left({z}^{2}\right)\right)\right)\right), x\right)\right) \]
      14. unpow2N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \left(z \cdot z\right)\right)\right)\right), x\right)\right) \]
      15. *-lowering-*.f6493.5%

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \mathsf{*.f64}\left(z, z\right)\right)\right)\right), x\right)\right) \]
    10. Simplified93.5%

      \[\leadsto \color{blue}{-36.52704169880642 \cdot \frac{y}{z} + \left(y \cdot \left(3.13060547623 + \frac{457.9610022158428 + t}{z \cdot z}\right) + x\right)} \]

    if -0.050000000000000003 < z < 72000

    1. Initial program 99.7%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\color{blue}{\left(\frac{119400905721}{10000000000} \cdot z\right)}, \frac{607771387771}{1000000000000}\right)\right)\right) \]
    4. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\left(z \cdot \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      2. *-lowering-*.f6498.8%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    5. Simplified98.8%

      \[\leadsto x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\color{blue}{z \cdot 11.9400905721} + 0.607771387771} \]
    6. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\color{blue}{\left(\frac{55833770631}{5000000000} \cdot z\right)}, t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    7. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\left(z \cdot \frac{55833770631}{5000000000}\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      2. *-lowering-*.f6498.5%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{55833770631}{5000000000}\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    8. Simplified98.5%

      \[\leadsto x + \frac{y \cdot \left(\left(\left(\color{blue}{z \cdot 11.1667541262} + t\right) \cdot z + a\right) \cdot z + b\right)}{z \cdot 11.9400905721 + 0.607771387771} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification95.9%

    \[\leadsto \begin{array}{l} \mathbf{if}\;z \leq -0.05:\\ \;\;\;\;-36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\ \mathbf{elif}\;z \leq 72000:\\ \;\;\;\;x + \frac{y \cdot \left(b + z \cdot \left(a + z \cdot \left(t + z \cdot 11.1667541262\right)\right)\right)}{0.607771387771 + z \cdot 11.9400905721}\\ \mathbf{else}:\\ \;\;\;\;-36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 7: 95.9% accurate, 1.3× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := -36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\ \mathbf{if}\;z \leq -0.05:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;z \leq 55000:\\ \;\;\;\;x + \frac{y \cdot \left(b + z \cdot \left(a + z \cdot t\right)\right)}{0.607771387771 + z \cdot 11.9400905721}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (let* ((t_1
         (+
          (* -36.52704169880642 (/ y z))
          (+ x (* y (+ 3.13060547623 (/ (+ t 457.9610022158428) (* z z))))))))
   (if (<= z -0.05)
     t_1
     (if (<= z 55000.0)
       (+
        x
        (/
         (* y (+ b (* z (+ a (* z t)))))
         (+ 0.607771387771 (* z 11.9400905721))))
       t_1))))
double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	double tmp;
	if (z <= -0.05) {
		tmp = t_1;
	} else if (z <= 55000.0) {
		tmp = x + ((y * (b + (z * (a + (z * t))))) / (0.607771387771 + (z * 11.9400905721)));
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8) :: t_1
    real(8) :: tmp
    t_1 = ((-36.52704169880642d0) * (y / z)) + (x + (y * (3.13060547623d0 + ((t + 457.9610022158428d0) / (z * z)))))
    if (z <= (-0.05d0)) then
        tmp = t_1
    else if (z <= 55000.0d0) then
        tmp = x + ((y * (b + (z * (a + (z * t))))) / (0.607771387771d0 + (z * 11.9400905721d0)))
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	double tmp;
	if (z <= -0.05) {
		tmp = t_1;
	} else if (z <= 55000.0) {
		tmp = x + ((y * (b + (z * (a + (z * t))))) / (0.607771387771 + (z * 11.9400905721)));
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(x, y, z, t, a, b):
	t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))))
	tmp = 0
	if z <= -0.05:
		tmp = t_1
	elif z <= 55000.0:
		tmp = x + ((y * (b + (z * (a + (z * t))))) / (0.607771387771 + (z * 11.9400905721)))
	else:
		tmp = t_1
	return tmp
function code(x, y, z, t, a, b)
	t_1 = Float64(Float64(-36.52704169880642 * Float64(y / z)) + Float64(x + Float64(y * Float64(3.13060547623 + Float64(Float64(t + 457.9610022158428) / Float64(z * z))))))
	tmp = 0.0
	if (z <= -0.05)
		tmp = t_1;
	elseif (z <= 55000.0)
		tmp = Float64(x + Float64(Float64(y * Float64(b + Float64(z * Float64(a + Float64(z * t))))) / Float64(0.607771387771 + Float64(z * 11.9400905721))));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b)
	t_1 = (-36.52704169880642 * (y / z)) + (x + (y * (3.13060547623 + ((t + 457.9610022158428) / (z * z)))));
	tmp = 0.0;
	if (z <= -0.05)
		tmp = t_1;
	elseif (z <= 55000.0)
		tmp = x + ((y * (b + (z * (a + (z * t))))) / (0.607771387771 + (z * 11.9400905721)));
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(-36.52704169880642 * N[(y / z), $MachinePrecision]), $MachinePrecision] + N[(x + N[(y * N[(3.13060547623 + N[(N[(t + 457.9610022158428), $MachinePrecision] / N[(z * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -0.05], t$95$1, If[LessEqual[z, 55000.0], N[(x + N[(N[(y * N[(b + N[(z * N[(a + N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(0.607771387771 + N[(z * 11.9400905721), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := -36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\
\mathbf{if}\;z \leq -0.05:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;z \leq 55000:\\
\;\;\;\;x + \frac{y \cdot \left(b + z \cdot \left(a + z \cdot t\right)\right)}{0.607771387771 + z \cdot 11.9400905721}\\

\mathbf{else}:\\
\;\;\;\;t\_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if z < -0.050000000000000003 or 55000 < z

    1. Initial program 19.5%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around inf

      \[\leadsto \color{blue}{\left(x + \left(\frac{313060547623}{100000000000} \cdot y + \left(\frac{55833770631}{5000000000} \cdot \frac{y}{z} + \frac{t \cdot y}{{z}^{2}}\right)\right)\right) - \left(\frac{15234687407}{1000000000} \cdot \frac{\frac{55833770631}{5000000000} \cdot y - \frac{4769379582500641883561}{100000000000000000000} \cdot y}{{z}^{2}} + \left(\frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z} + \frac{98517059967927196814627}{1000000000000000000000} \cdot \frac{y}{{z}^{2}}\right)\right)} \]
    4. Simplified92.7%

      \[\leadsto \color{blue}{\left(x + y \cdot 3.13060547623\right) + \left(\frac{y \cdot 11.1667541262}{z} + \left(y \cdot \frac{t}{z \cdot z} + \left(\left(\frac{y \cdot -47.69379582500642}{z} + \frac{y}{z \cdot z} \cdot -98.5170599679272\right) + \frac{y \cdot 556.47806218377}{z \cdot z}\right)\right)\right)} \]
    5. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \color{blue}{\left(\frac{\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + \left(t \cdot y + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right)}{{z}^{2}}\right)}\right) \]
    6. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + \left(t \cdot y + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right)\right), \color{blue}{\left({z}^{2}\right)}\right)\right) \]
      2. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right) + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      3. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right)\right) + z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right), \left({\color{blue}{z}}^{2}\right)\right)\right) \]
      4. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \left(\frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y + t \cdot y\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({\color{blue}{z}}^{2}\right)\right)\right) \]
      5. associate-+r+N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} \cdot y + \frac{55647806218377003596563527016327}{100000000000000000000000000000} \cdot y\right) + t \cdot y\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      6. distribute-rgt-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t \cdot y\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      7. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + y \cdot t\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      8. distribute-lft-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot \left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      9. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right) + t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      10. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\left(\frac{-98517059967927196814627}{1000000000000000000000} + \frac{55647806218377003596563527016327}{100000000000000000000000000000}\right), t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      11. metadata-evalN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \left(z \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      12. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \left(\frac{-4769379582500641883561}{100000000000000000000} \cdot y + \frac{55833770631}{5000000000} \cdot y\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      13. distribute-rgt-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \left(y \cdot \left(\frac{-4769379582500641883561}{100000000000000000000} + \frac{55833770631}{5000000000}\right)\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      14. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \left(\frac{-4769379582500641883561}{100000000000000000000} + \frac{55833770631}{5000000000}\right)\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      15. metadata-evalN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \left({z}^{2}\right)\right)\right) \]
      16. unpow2N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \left(z \cdot \color{blue}{z}\right)\right)\right) \]
      17. *-lowering-*.f6464.6%

        \[\leadsto \mathsf{+.f64}\left(\mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \frac{313060547623}{100000000000}\right)\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right)\right), \mathsf{*.f64}\left(z, \mathsf{*.f64}\left(y, \frac{-3652704169880641883561}{100000000000000000000}\right)\right)\right), \mathsf{*.f64}\left(z, \color{blue}{z}\right)\right)\right) \]
    7. Simplified64.6%

      \[\leadsto \left(x + y \cdot 3.13060547623\right) + \color{blue}{\frac{y \cdot \left(457.9610022158428 + t\right) + z \cdot \left(y \cdot -36.52704169880642\right)}{z \cdot z}} \]
    8. Taylor expanded in x around 0

      \[\leadsto \color{blue}{x + \left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)\right)} \]
    9. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)\right) + \color{blue}{x} \]
      2. associate-+l+N/A

        \[\leadsto \frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z} + \color{blue}{\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right) + x\right)} \]
      3. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\left(\frac{-3652704169880641883561}{100000000000000000000} \cdot \frac{y}{z}\right), \color{blue}{\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right) + x\right)}\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \left(\frac{y}{z}\right)\right), \left(\color{blue}{\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right)} + x\right)\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \left(\left(\frac{313060547623}{100000000000} \cdot y + \color{blue}{\frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}}\right) + x\right)\right) \]
      6. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right), \color{blue}{x}\right)\right) \]
      7. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \frac{313060547623}{100000000000} + \frac{y \cdot \left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right)}{{z}^{2}}\right), x\right)\right) \]
      8. associate-/l*N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \frac{313060547623}{100000000000} + y \cdot \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right), x\right)\right) \]
      9. distribute-lft-outN/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\left(y \cdot \left(\frac{313060547623}{100000000000} + \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right), x\right)\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \left(\frac{313060547623}{100000000000} + \frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right), x\right)\right) \]
      11. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \left(\frac{\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t}{{z}^{2}}\right)\right)\right), x\right)\right) \]
      12. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000} + t\right), \left({z}^{2}\right)\right)\right)\right), x\right)\right) \]
      13. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \left({z}^{2}\right)\right)\right)\right), x\right)\right) \]
      14. unpow2N/A

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \left(z \cdot z\right)\right)\right)\right), x\right)\right) \]
      15. *-lowering-*.f6493.5%

        \[\leadsto \mathsf{+.f64}\left(\mathsf{*.f64}\left(\frac{-3652704169880641883561}{100000000000000000000}, \mathsf{/.f64}\left(y, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\frac{313060547623}{100000000000}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\frac{45796100221584283915100827016327}{100000000000000000000000000000}, t\right), \mathsf{*.f64}\left(z, z\right)\right)\right)\right), x\right)\right) \]
    10. Simplified93.5%

      \[\leadsto \color{blue}{-36.52704169880642 \cdot \frac{y}{z} + \left(y \cdot \left(3.13060547623 + \frac{457.9610022158428 + t}{z \cdot z}\right) + x\right)} \]

    if -0.050000000000000003 < z < 55000

    1. Initial program 99.7%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\color{blue}{\left(\frac{119400905721}{10000000000} \cdot z\right)}, \frac{607771387771}{1000000000000}\right)\right)\right) \]
    4. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\left(z \cdot \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      2. *-lowering-*.f6498.8%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    5. Simplified98.8%

      \[\leadsto x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\color{blue}{z \cdot 11.9400905721} + 0.607771387771} \]
    6. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \color{blue}{\left(b + z \cdot \left(a + t \cdot z\right)\right)}\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    7. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \left(b + z \cdot \left(t \cdot z + a\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      2. distribute-lft-inN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \left(b + \left(z \cdot \left(t \cdot z\right) + z \cdot a\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \left(b + \left(z \cdot \left(z \cdot t\right) + z \cdot a\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      4. associate-*r*N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \left(b + \left(\left(z \cdot z\right) \cdot t + z \cdot a\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      5. unpow2N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \left(b + \left({z}^{2} \cdot t + z \cdot a\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      6. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \left(b + \left(t \cdot {z}^{2} + z \cdot a\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      7. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \left(b + \left(t \cdot {z}^{2} + a \cdot z\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      8. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \left(t \cdot {z}^{2} + a \cdot z\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \color{blue}{\frac{119400905721}{10000000000}}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      9. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \left({z}^{2} \cdot t + a \cdot z\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      10. unpow2N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \left(\left(z \cdot z\right) \cdot t + a \cdot z\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      11. associate-*r*N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \left(z \cdot \left(z \cdot t\right) + a \cdot z\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      12. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \left(z \cdot \left(t \cdot z\right) + a \cdot z\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      13. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \left(z \cdot \left(t \cdot z\right) + z \cdot a\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      14. distribute-lft-inN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \left(z \cdot \left(t \cdot z + a\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      15. +-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \left(z \cdot \left(a + t \cdot z\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      16. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \mathsf{*.f64}\left(z, \left(a + t \cdot z\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      17. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(a, \left(t \cdot z\right)\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      18. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(a, \left(z \cdot t\right)\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      19. *-lowering-*.f6496.6%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(a, \mathsf{*.f64}\left(z, t\right)\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    8. Simplified96.6%

      \[\leadsto x + \frac{y \cdot \color{blue}{\left(b + z \cdot \left(a + z \cdot t\right)\right)}}{z \cdot 11.9400905721 + 0.607771387771} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification95.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;z \leq -0.05:\\ \;\;\;\;-36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\ \mathbf{elif}\;z \leq 55000:\\ \;\;\;\;x + \frac{y \cdot \left(b + z \cdot \left(a + z \cdot t\right)\right)}{0.607771387771 + z \cdot 11.9400905721}\\ \mathbf{else}:\\ \;\;\;\;-36.52704169880642 \cdot \frac{y}{z} + \left(x + y \cdot \left(3.13060547623 + \frac{t + 457.9610022158428}{z \cdot z}\right)\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 8: 92.4% accurate, 1.3× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;z \leq -0.05:\\ \;\;\;\;x + \left(y \cdot 3.13060547623 + \frac{y \cdot -36.52704169880642}{z}\right)\\ \mathbf{elif}\;z \leq 105000:\\ \;\;\;\;x + \frac{y \cdot \left(b + z \cdot \left(a + z \cdot t\right)\right)}{0.607771387771 + z \cdot 11.9400905721}\\ \mathbf{else}:\\ \;\;\;\;x + y \cdot 3.13060547623\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (if (<= z -0.05)
   (+ x (+ (* y 3.13060547623) (/ (* y -36.52704169880642) z)))
   (if (<= z 105000.0)
     (+
      x
      (/
       (* y (+ b (* z (+ a (* z t)))))
       (+ 0.607771387771 (* z 11.9400905721))))
     (+ x (* y 3.13060547623)))))
double code(double x, double y, double z, double t, double a, double b) {
	double tmp;
	if (z <= -0.05) {
		tmp = x + ((y * 3.13060547623) + ((y * -36.52704169880642) / z));
	} else if (z <= 105000.0) {
		tmp = x + ((y * (b + (z * (a + (z * t))))) / (0.607771387771 + (z * 11.9400905721)));
	} else {
		tmp = x + (y * 3.13060547623);
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8) :: tmp
    if (z <= (-0.05d0)) then
        tmp = x + ((y * 3.13060547623d0) + ((y * (-36.52704169880642d0)) / z))
    else if (z <= 105000.0d0) then
        tmp = x + ((y * (b + (z * (a + (z * t))))) / (0.607771387771d0 + (z * 11.9400905721d0)))
    else
        tmp = x + (y * 3.13060547623d0)
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	double tmp;
	if (z <= -0.05) {
		tmp = x + ((y * 3.13060547623) + ((y * -36.52704169880642) / z));
	} else if (z <= 105000.0) {
		tmp = x + ((y * (b + (z * (a + (z * t))))) / (0.607771387771 + (z * 11.9400905721)));
	} else {
		tmp = x + (y * 3.13060547623);
	}
	return tmp;
}
def code(x, y, z, t, a, b):
	tmp = 0
	if z <= -0.05:
		tmp = x + ((y * 3.13060547623) + ((y * -36.52704169880642) / z))
	elif z <= 105000.0:
		tmp = x + ((y * (b + (z * (a + (z * t))))) / (0.607771387771 + (z * 11.9400905721)))
	else:
		tmp = x + (y * 3.13060547623)
	return tmp
function code(x, y, z, t, a, b)
	tmp = 0.0
	if (z <= -0.05)
		tmp = Float64(x + Float64(Float64(y * 3.13060547623) + Float64(Float64(y * -36.52704169880642) / z)));
	elseif (z <= 105000.0)
		tmp = Float64(x + Float64(Float64(y * Float64(b + Float64(z * Float64(a + Float64(z * t))))) / Float64(0.607771387771 + Float64(z * 11.9400905721))));
	else
		tmp = Float64(x + Float64(y * 3.13060547623));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b)
	tmp = 0.0;
	if (z <= -0.05)
		tmp = x + ((y * 3.13060547623) + ((y * -36.52704169880642) / z));
	elseif (z <= 105000.0)
		tmp = x + ((y * (b + (z * (a + (z * t))))) / (0.607771387771 + (z * 11.9400905721)));
	else
		tmp = x + (y * 3.13060547623);
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[z, -0.05], N[(x + N[(N[(y * 3.13060547623), $MachinePrecision] + N[(N[(y * -36.52704169880642), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 105000.0], N[(x + N[(N[(y * N[(b + N[(z * N[(a + N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(0.607771387771 + N[(z * 11.9400905721), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(y * 3.13060547623), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;z \leq -0.05:\\
\;\;\;\;x + \left(y \cdot 3.13060547623 + \frac{y \cdot -36.52704169880642}{z}\right)\\

\mathbf{elif}\;z \leq 105000:\\
\;\;\;\;x + \frac{y \cdot \left(b + z \cdot \left(a + z \cdot t\right)\right)}{0.607771387771 + z \cdot 11.9400905721}\\

\mathbf{else}:\\
\;\;\;\;x + y \cdot 3.13060547623\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if z < -0.050000000000000003

    1. Initial program 25.0%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around inf

      \[\leadsto \color{blue}{\left(x + \left(\frac{313060547623}{100000000000} \cdot y + \frac{55833770631}{5000000000} \cdot \frac{y}{z}\right)\right) - \frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z}} \]
    4. Step-by-step derivation
      1. associate--l+N/A

        \[\leadsto x + \color{blue}{\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{55833770631}{5000000000} \cdot \frac{y}{z}\right) - \frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z}\right)} \]
      2. associate--l+N/A

        \[\leadsto x + \left(\frac{313060547623}{100000000000} \cdot y + \color{blue}{\left(\frac{55833770631}{5000000000} \cdot \frac{y}{z} - \frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z}\right)}\right) \]
      3. +-commutativeN/A

        \[\leadsto x + \left(\left(\frac{55833770631}{5000000000} \cdot \frac{y}{z} - \frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z}\right) + \color{blue}{\frac{313060547623}{100000000000} \cdot y}\right) \]
      4. distribute-rgt-out--N/A

        \[\leadsto x + \left(\frac{y}{z} \cdot \left(\frac{55833770631}{5000000000} - \frac{4769379582500641883561}{100000000000000000000}\right) + \color{blue}{\frac{313060547623}{100000000000}} \cdot y\right) \]
      5. metadata-evalN/A

        \[\leadsto x + \left(\frac{y}{z} \cdot \frac{-3652704169880641883561}{100000000000000000000} + \frac{313060547623}{100000000000} \cdot y\right) \]
      6. metadata-evalN/A

        \[\leadsto x + \left(\frac{y}{z} \cdot \frac{\frac{3652704169880641883561}{100000000000000000000}}{-1} + \frac{313060547623}{100000000000} \cdot y\right) \]
      7. metadata-evalN/A

        \[\leadsto x + \left(\frac{y}{z} \cdot \frac{\frac{-55833770631}{5000000000} - \frac{-4769379582500641883561}{100000000000000000000}}{-1} + \frac{313060547623}{100000000000} \cdot y\right) \]
      8. times-fracN/A

        \[\leadsto x + \left(\frac{y \cdot \left(\frac{-55833770631}{5000000000} - \frac{-4769379582500641883561}{100000000000000000000}\right)}{z \cdot -1} + \color{blue}{\frac{313060547623}{100000000000}} \cdot y\right) \]
      9. *-commutativeN/A

        \[\leadsto x + \left(\frac{y \cdot \left(\frac{-55833770631}{5000000000} - \frac{-4769379582500641883561}{100000000000000000000}\right)}{-1 \cdot z} + \frac{313060547623}{100000000000} \cdot y\right) \]
      10. distribute-rgt-out--N/A

        \[\leadsto x + \left(\frac{\frac{-55833770631}{5000000000} \cdot y - \frac{-4769379582500641883561}{100000000000000000000} \cdot y}{-1 \cdot z} + \frac{313060547623}{100000000000} \cdot y\right) \]
      11. mul-1-negN/A

        \[\leadsto x + \left(\frac{\frac{-55833770631}{5000000000} \cdot y - \frac{-4769379582500641883561}{100000000000000000000} \cdot y}{\mathsf{neg}\left(z\right)} + \frac{313060547623}{100000000000} \cdot y\right) \]
      12. distribute-neg-frac2N/A

        \[\leadsto x + \left(\left(\mathsf{neg}\left(\frac{\frac{-55833770631}{5000000000} \cdot y - \frac{-4769379582500641883561}{100000000000000000000} \cdot y}{z}\right)\right) + \color{blue}{\frac{313060547623}{100000000000}} \cdot y\right) \]
      13. mul-1-negN/A

        \[\leadsto x + \left(-1 \cdot \frac{\frac{-55833770631}{5000000000} \cdot y - \frac{-4769379582500641883561}{100000000000000000000} \cdot y}{z} + \color{blue}{\frac{313060547623}{100000000000}} \cdot y\right) \]
      14. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \color{blue}{\left(-1 \cdot \frac{\frac{-55833770631}{5000000000} \cdot y - \frac{-4769379582500641883561}{100000000000000000000} \cdot y}{z} + \frac{313060547623}{100000000000} \cdot y\right)}\right) \]
    5. Simplified85.8%

      \[\leadsto \color{blue}{x + \left(y \cdot 3.13060547623 + \frac{y \cdot -36.52704169880642}{z}\right)} \]

    if -0.050000000000000003 < z < 105000

    1. Initial program 99.7%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\color{blue}{\left(\frac{119400905721}{10000000000} \cdot z\right)}, \frac{607771387771}{1000000000000}\right)\right)\right) \]
    4. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\left(z \cdot \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      2. *-lowering-*.f6498.8%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    5. Simplified98.8%

      \[\leadsto x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\color{blue}{z \cdot 11.9400905721} + 0.607771387771} \]
    6. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \color{blue}{\left(b + z \cdot \left(a + t \cdot z\right)\right)}\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    7. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \left(b + z \cdot \left(t \cdot z + a\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      2. distribute-lft-inN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \left(b + \left(z \cdot \left(t \cdot z\right) + z \cdot a\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \left(b + \left(z \cdot \left(z \cdot t\right) + z \cdot a\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      4. associate-*r*N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \left(b + \left(\left(z \cdot z\right) \cdot t + z \cdot a\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      5. unpow2N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \left(b + \left({z}^{2} \cdot t + z \cdot a\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      6. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \left(b + \left(t \cdot {z}^{2} + z \cdot a\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      7. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \left(b + \left(t \cdot {z}^{2} + a \cdot z\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      8. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \left(t \cdot {z}^{2} + a \cdot z\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \color{blue}{\frac{119400905721}{10000000000}}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      9. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \left({z}^{2} \cdot t + a \cdot z\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      10. unpow2N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \left(\left(z \cdot z\right) \cdot t + a \cdot z\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      11. associate-*r*N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \left(z \cdot \left(z \cdot t\right) + a \cdot z\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      12. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \left(z \cdot \left(t \cdot z\right) + a \cdot z\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      13. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \left(z \cdot \left(t \cdot z\right) + z \cdot a\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      14. distribute-lft-inN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \left(z \cdot \left(t \cdot z + a\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      15. +-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \left(z \cdot \left(a + t \cdot z\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      16. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \mathsf{*.f64}\left(z, \left(a + t \cdot z\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      17. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(a, \left(t \cdot z\right)\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      18. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(a, \left(z \cdot t\right)\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      19. *-lowering-*.f6496.6%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(a, \mathsf{*.f64}\left(z, t\right)\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    8. Simplified96.6%

      \[\leadsto x + \frac{y \cdot \color{blue}{\left(b + z \cdot \left(a + z \cdot t\right)\right)}}{z \cdot 11.9400905721 + 0.607771387771} \]

    if 105000 < z

    1. Initial program 14.4%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around inf

      \[\leadsto \color{blue}{x + \frac{313060547623}{100000000000} \cdot y} \]
    4. Step-by-step derivation
      1. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \color{blue}{\left(\frac{313060547623}{100000000000} \cdot y\right)}\right) \]
      2. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(y \cdot \color{blue}{\frac{313060547623}{100000000000}}\right)\right) \]
      3. *-lowering-*.f6486.6%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \color{blue}{\frac{313060547623}{100000000000}}\right)\right) \]
    5. Simplified86.6%

      \[\leadsto \color{blue}{x + y \cdot 3.13060547623} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification91.2%

    \[\leadsto \begin{array}{l} \mathbf{if}\;z \leq -0.05:\\ \;\;\;\;x + \left(y \cdot 3.13060547623 + \frac{y \cdot -36.52704169880642}{z}\right)\\ \mathbf{elif}\;z \leq 105000:\\ \;\;\;\;x + \frac{y \cdot \left(b + z \cdot \left(a + z \cdot t\right)\right)}{0.607771387771 + z \cdot 11.9400905721}\\ \mathbf{else}:\\ \;\;\;\;x + y \cdot 3.13060547623\\ \end{array} \]
  5. Add Preprocessing

Alternative 9: 82.5% accurate, 1.3× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;z \leq -6500:\\ \;\;\;\;x + \left(y \cdot 3.13060547623 + \frac{y \cdot -36.52704169880642}{z}\right)\\ \mathbf{elif}\;z \leq 1.5 \cdot 10^{-94}:\\ \;\;\;\;x + y \cdot \left(b \cdot 1.6453555072203998\right)\\ \mathbf{elif}\;z \leq 58000:\\ \;\;\;\;x + \frac{y \cdot \left(z \cdot a\right)}{0.607771387771 + z \cdot 11.9400905721}\\ \mathbf{else}:\\ \;\;\;\;x + y \cdot 3.13060547623\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (if (<= z -6500.0)
   (+ x (+ (* y 3.13060547623) (/ (* y -36.52704169880642) z)))
   (if (<= z 1.5e-94)
     (+ x (* y (* b 1.6453555072203998)))
     (if (<= z 58000.0)
       (+ x (/ (* y (* z a)) (+ 0.607771387771 (* z 11.9400905721))))
       (+ x (* y 3.13060547623))))))
double code(double x, double y, double z, double t, double a, double b) {
	double tmp;
	if (z <= -6500.0) {
		tmp = x + ((y * 3.13060547623) + ((y * -36.52704169880642) / z));
	} else if (z <= 1.5e-94) {
		tmp = x + (y * (b * 1.6453555072203998));
	} else if (z <= 58000.0) {
		tmp = x + ((y * (z * a)) / (0.607771387771 + (z * 11.9400905721)));
	} else {
		tmp = x + (y * 3.13060547623);
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8) :: tmp
    if (z <= (-6500.0d0)) then
        tmp = x + ((y * 3.13060547623d0) + ((y * (-36.52704169880642d0)) / z))
    else if (z <= 1.5d-94) then
        tmp = x + (y * (b * 1.6453555072203998d0))
    else if (z <= 58000.0d0) then
        tmp = x + ((y * (z * a)) / (0.607771387771d0 + (z * 11.9400905721d0)))
    else
        tmp = x + (y * 3.13060547623d0)
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	double tmp;
	if (z <= -6500.0) {
		tmp = x + ((y * 3.13060547623) + ((y * -36.52704169880642) / z));
	} else if (z <= 1.5e-94) {
		tmp = x + (y * (b * 1.6453555072203998));
	} else if (z <= 58000.0) {
		tmp = x + ((y * (z * a)) / (0.607771387771 + (z * 11.9400905721)));
	} else {
		tmp = x + (y * 3.13060547623);
	}
	return tmp;
}
def code(x, y, z, t, a, b):
	tmp = 0
	if z <= -6500.0:
		tmp = x + ((y * 3.13060547623) + ((y * -36.52704169880642) / z))
	elif z <= 1.5e-94:
		tmp = x + (y * (b * 1.6453555072203998))
	elif z <= 58000.0:
		tmp = x + ((y * (z * a)) / (0.607771387771 + (z * 11.9400905721)))
	else:
		tmp = x + (y * 3.13060547623)
	return tmp
function code(x, y, z, t, a, b)
	tmp = 0.0
	if (z <= -6500.0)
		tmp = Float64(x + Float64(Float64(y * 3.13060547623) + Float64(Float64(y * -36.52704169880642) / z)));
	elseif (z <= 1.5e-94)
		tmp = Float64(x + Float64(y * Float64(b * 1.6453555072203998)));
	elseif (z <= 58000.0)
		tmp = Float64(x + Float64(Float64(y * Float64(z * a)) / Float64(0.607771387771 + Float64(z * 11.9400905721))));
	else
		tmp = Float64(x + Float64(y * 3.13060547623));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b)
	tmp = 0.0;
	if (z <= -6500.0)
		tmp = x + ((y * 3.13060547623) + ((y * -36.52704169880642) / z));
	elseif (z <= 1.5e-94)
		tmp = x + (y * (b * 1.6453555072203998));
	elseif (z <= 58000.0)
		tmp = x + ((y * (z * a)) / (0.607771387771 + (z * 11.9400905721)));
	else
		tmp = x + (y * 3.13060547623);
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[z, -6500.0], N[(x + N[(N[(y * 3.13060547623), $MachinePrecision] + N[(N[(y * -36.52704169880642), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.5e-94], N[(x + N[(y * N[(b * 1.6453555072203998), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 58000.0], N[(x + N[(N[(y * N[(z * a), $MachinePrecision]), $MachinePrecision] / N[(0.607771387771 + N[(z * 11.9400905721), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(y * 3.13060547623), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;z \leq -6500:\\
\;\;\;\;x + \left(y \cdot 3.13060547623 + \frac{y \cdot -36.52704169880642}{z}\right)\\

\mathbf{elif}\;z \leq 1.5 \cdot 10^{-94}:\\
\;\;\;\;x + y \cdot \left(b \cdot 1.6453555072203998\right)\\

\mathbf{elif}\;z \leq 58000:\\
\;\;\;\;x + \frac{y \cdot \left(z \cdot a\right)}{0.607771387771 + z \cdot 11.9400905721}\\

\mathbf{else}:\\
\;\;\;\;x + y \cdot 3.13060547623\\


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if z < -6500

    1. Initial program 23.9%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around inf

      \[\leadsto \color{blue}{\left(x + \left(\frac{313060547623}{100000000000} \cdot y + \frac{55833770631}{5000000000} \cdot \frac{y}{z}\right)\right) - \frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z}} \]
    4. Step-by-step derivation
      1. associate--l+N/A

        \[\leadsto x + \color{blue}{\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{55833770631}{5000000000} \cdot \frac{y}{z}\right) - \frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z}\right)} \]
      2. associate--l+N/A

        \[\leadsto x + \left(\frac{313060547623}{100000000000} \cdot y + \color{blue}{\left(\frac{55833770631}{5000000000} \cdot \frac{y}{z} - \frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z}\right)}\right) \]
      3. +-commutativeN/A

        \[\leadsto x + \left(\left(\frac{55833770631}{5000000000} \cdot \frac{y}{z} - \frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z}\right) + \color{blue}{\frac{313060547623}{100000000000} \cdot y}\right) \]
      4. distribute-rgt-out--N/A

        \[\leadsto x + \left(\frac{y}{z} \cdot \left(\frac{55833770631}{5000000000} - \frac{4769379582500641883561}{100000000000000000000}\right) + \color{blue}{\frac{313060547623}{100000000000}} \cdot y\right) \]
      5. metadata-evalN/A

        \[\leadsto x + \left(\frac{y}{z} \cdot \frac{-3652704169880641883561}{100000000000000000000} + \frac{313060547623}{100000000000} \cdot y\right) \]
      6. metadata-evalN/A

        \[\leadsto x + \left(\frac{y}{z} \cdot \frac{\frac{3652704169880641883561}{100000000000000000000}}{-1} + \frac{313060547623}{100000000000} \cdot y\right) \]
      7. metadata-evalN/A

        \[\leadsto x + \left(\frac{y}{z} \cdot \frac{\frac{-55833770631}{5000000000} - \frac{-4769379582500641883561}{100000000000000000000}}{-1} + \frac{313060547623}{100000000000} \cdot y\right) \]
      8. times-fracN/A

        \[\leadsto x + \left(\frac{y \cdot \left(\frac{-55833770631}{5000000000} - \frac{-4769379582500641883561}{100000000000000000000}\right)}{z \cdot -1} + \color{blue}{\frac{313060547623}{100000000000}} \cdot y\right) \]
      9. *-commutativeN/A

        \[\leadsto x + \left(\frac{y \cdot \left(\frac{-55833770631}{5000000000} - \frac{-4769379582500641883561}{100000000000000000000}\right)}{-1 \cdot z} + \frac{313060547623}{100000000000} \cdot y\right) \]
      10. distribute-rgt-out--N/A

        \[\leadsto x + \left(\frac{\frac{-55833770631}{5000000000} \cdot y - \frac{-4769379582500641883561}{100000000000000000000} \cdot y}{-1 \cdot z} + \frac{313060547623}{100000000000} \cdot y\right) \]
      11. mul-1-negN/A

        \[\leadsto x + \left(\frac{\frac{-55833770631}{5000000000} \cdot y - \frac{-4769379582500641883561}{100000000000000000000} \cdot y}{\mathsf{neg}\left(z\right)} + \frac{313060547623}{100000000000} \cdot y\right) \]
      12. distribute-neg-frac2N/A

        \[\leadsto x + \left(\left(\mathsf{neg}\left(\frac{\frac{-55833770631}{5000000000} \cdot y - \frac{-4769379582500641883561}{100000000000000000000} \cdot y}{z}\right)\right) + \color{blue}{\frac{313060547623}{100000000000}} \cdot y\right) \]
      13. mul-1-negN/A

        \[\leadsto x + \left(-1 \cdot \frac{\frac{-55833770631}{5000000000} \cdot y - \frac{-4769379582500641883561}{100000000000000000000} \cdot y}{z} + \color{blue}{\frac{313060547623}{100000000000}} \cdot y\right) \]
      14. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \color{blue}{\left(-1 \cdot \frac{\frac{-55833770631}{5000000000} \cdot y - \frac{-4769379582500641883561}{100000000000000000000} \cdot y}{z} + \frac{313060547623}{100000000000} \cdot y\right)}\right) \]
    5. Simplified87.1%

      \[\leadsto \color{blue}{x + \left(y \cdot 3.13060547623 + \frac{y \cdot -36.52704169880642}{z}\right)} \]

    if -6500 < z < 1.5000000000000001e-94

    1. Initial program 99.7%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around 0

      \[\leadsto \color{blue}{x + \frac{1000000000000}{607771387771} \cdot \left(b \cdot y\right)} \]
    4. Step-by-step derivation
      1. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \color{blue}{\left(\frac{1000000000000}{607771387771} \cdot \left(b \cdot y\right)\right)}\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(\left(\frac{1000000000000}{607771387771} \cdot b\right) \cdot \color{blue}{y}\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(y \cdot \color{blue}{\left(\frac{1000000000000}{607771387771} \cdot b\right)}\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \color{blue}{\left(\frac{1000000000000}{607771387771} \cdot b\right)}\right)\right) \]
      5. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \left(b \cdot \color{blue}{\frac{1000000000000}{607771387771}}\right)\right)\right) \]
      6. *-lowering-*.f6483.3%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \mathsf{*.f64}\left(b, \color{blue}{\frac{1000000000000}{607771387771}}\right)\right)\right) \]
    5. Simplified83.3%

      \[\leadsto \color{blue}{x + y \cdot \left(b \cdot 1.6453555072203998\right)} \]

    if 1.5000000000000001e-94 < z < 58000

    1. Initial program 99.8%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\color{blue}{\left(\frac{119400905721}{10000000000} \cdot z\right)}, \frac{607771387771}{1000000000000}\right)\right)\right) \]
    4. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\left(z \cdot \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      2. *-lowering-*.f6495.9%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    5. Simplified95.9%

      \[\leadsto x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\color{blue}{z \cdot 11.9400905721} + 0.607771387771} \]
    6. Taylor expanded in a around inf

      \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\color{blue}{\left(a \cdot \left(y \cdot z\right)\right)}, \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    7. Step-by-step derivation
      1. associate-*r*N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\left(\left(a \cdot y\right) \cdot z\right), \mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right)}, \frac{607771387771}{1000000000000}\right)\right)\right) \]
      2. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\left(\left(y \cdot a\right) \cdot z\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\color{blue}{z}, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      3. associate-*r*N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\left(y \cdot \left(a \cdot z\right)\right), \mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right)}, \frac{607771387771}{1000000000000}\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \left(a \cdot z\right)\right), \mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right)}, \frac{607771387771}{1000000000000}\right)\right)\right) \]
      5. *-lowering-*.f6482.0%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{*.f64}\left(a, z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \color{blue}{\frac{119400905721}{10000000000}}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    8. Simplified82.0%

      \[\leadsto x + \frac{\color{blue}{y \cdot \left(a \cdot z\right)}}{z \cdot 11.9400905721 + 0.607771387771} \]

    if 58000 < z

    1. Initial program 14.4%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around inf

      \[\leadsto \color{blue}{x + \frac{313060547623}{100000000000} \cdot y} \]
    4. Step-by-step derivation
      1. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \color{blue}{\left(\frac{313060547623}{100000000000} \cdot y\right)}\right) \]
      2. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(y \cdot \color{blue}{\frac{313060547623}{100000000000}}\right)\right) \]
      3. *-lowering-*.f6486.6%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \color{blue}{\frac{313060547623}{100000000000}}\right)\right) \]
    5. Simplified86.6%

      \[\leadsto \color{blue}{x + y \cdot 3.13060547623} \]
  3. Recombined 4 regimes into one program.
  4. Final simplification85.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;z \leq -6500:\\ \;\;\;\;x + \left(y \cdot 3.13060547623 + \frac{y \cdot -36.52704169880642}{z}\right)\\ \mathbf{elif}\;z \leq 1.5 \cdot 10^{-94}:\\ \;\;\;\;x + y \cdot \left(b \cdot 1.6453555072203998\right)\\ \mathbf{elif}\;z \leq 58000:\\ \;\;\;\;x + \frac{y \cdot \left(z \cdot a\right)}{0.607771387771 + z \cdot 11.9400905721}\\ \mathbf{else}:\\ \;\;\;\;x + y \cdot 3.13060547623\\ \end{array} \]
  5. Add Preprocessing

Alternative 10: 90.0% accurate, 1.4× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := x + y \cdot 3.13060547623\\ \mathbf{if}\;z \leq -1.55 \cdot 10^{+18}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;z \leq 7200:\\ \;\;\;\;x + y \cdot \left(b \cdot 1.6453555072203998 + z \cdot \left(a \cdot 1.6453555072203998 + b \cdot -32.324150453290734\right)\right)\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (let* ((t_1 (+ x (* y 3.13060547623))))
   (if (<= z -1.55e+18)
     t_1
     (if (<= z 7200.0)
       (+
        x
        (*
         y
         (+
          (* b 1.6453555072203998)
          (* z (+ (* a 1.6453555072203998) (* b -32.324150453290734))))))
       t_1))))
double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = x + (y * 3.13060547623);
	double tmp;
	if (z <= -1.55e+18) {
		tmp = t_1;
	} else if (z <= 7200.0) {
		tmp = x + (y * ((b * 1.6453555072203998) + (z * ((a * 1.6453555072203998) + (b * -32.324150453290734)))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8) :: t_1
    real(8) :: tmp
    t_1 = x + (y * 3.13060547623d0)
    if (z <= (-1.55d+18)) then
        tmp = t_1
    else if (z <= 7200.0d0) then
        tmp = x + (y * ((b * 1.6453555072203998d0) + (z * ((a * 1.6453555072203998d0) + (b * (-32.324150453290734d0))))))
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = x + (y * 3.13060547623);
	double tmp;
	if (z <= -1.55e+18) {
		tmp = t_1;
	} else if (z <= 7200.0) {
		tmp = x + (y * ((b * 1.6453555072203998) + (z * ((a * 1.6453555072203998) + (b * -32.324150453290734)))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(x, y, z, t, a, b):
	t_1 = x + (y * 3.13060547623)
	tmp = 0
	if z <= -1.55e+18:
		tmp = t_1
	elif z <= 7200.0:
		tmp = x + (y * ((b * 1.6453555072203998) + (z * ((a * 1.6453555072203998) + (b * -32.324150453290734)))))
	else:
		tmp = t_1
	return tmp
function code(x, y, z, t, a, b)
	t_1 = Float64(x + Float64(y * 3.13060547623))
	tmp = 0.0
	if (z <= -1.55e+18)
		tmp = t_1;
	elseif (z <= 7200.0)
		tmp = Float64(x + Float64(y * Float64(Float64(b * 1.6453555072203998) + Float64(z * Float64(Float64(a * 1.6453555072203998) + Float64(b * -32.324150453290734))))));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b)
	t_1 = x + (y * 3.13060547623);
	tmp = 0.0;
	if (z <= -1.55e+18)
		tmp = t_1;
	elseif (z <= 7200.0)
		tmp = x + (y * ((b * 1.6453555072203998) + (z * ((a * 1.6453555072203998) + (b * -32.324150453290734)))));
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x + N[(y * 3.13060547623), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -1.55e+18], t$95$1, If[LessEqual[z, 7200.0], N[(x + N[(y * N[(N[(b * 1.6453555072203998), $MachinePrecision] + N[(z * N[(N[(a * 1.6453555072203998), $MachinePrecision] + N[(b * -32.324150453290734), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := x + y \cdot 3.13060547623\\
\mathbf{if}\;z \leq -1.55 \cdot 10^{+18}:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;z \leq 7200:\\
\;\;\;\;x + y \cdot \left(b \cdot 1.6453555072203998 + z \cdot \left(a \cdot 1.6453555072203998 + b \cdot -32.324150453290734\right)\right)\\

\mathbf{else}:\\
\;\;\;\;t\_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if z < -1.55e18 or 7200 < z

    1. Initial program 17.1%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around inf

      \[\leadsto \color{blue}{x + \frac{313060547623}{100000000000} \cdot y} \]
    4. Step-by-step derivation
      1. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \color{blue}{\left(\frac{313060547623}{100000000000} \cdot y\right)}\right) \]
      2. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(y \cdot \color{blue}{\frac{313060547623}{100000000000}}\right)\right) \]
      3. *-lowering-*.f6488.4%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \color{blue}{\frac{313060547623}{100000000000}}\right)\right) \]
    5. Simplified88.4%

      \[\leadsto \color{blue}{x + y \cdot 3.13060547623} \]

    if -1.55e18 < z < 7200

    1. Initial program 99.7%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\color{blue}{\left(a \cdot \left(y \cdot z\right) + b \cdot y\right)}, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), z\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    4. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\left(b \cdot y + a \cdot \left(y \cdot z\right)\right), \mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), z\right)}, \frac{607771387771}{1000000000000}\right)\right)\right) \]
      2. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(b \cdot y\right), \left(a \cdot \left(y \cdot z\right)\right)\right), \mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), z\right)}, \frac{607771387771}{1000000000000}\right)\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot b\right), \left(a \cdot \left(y \cdot z\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\color{blue}{\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right)}, z\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, b\right), \left(a \cdot \left(y \cdot z\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\color{blue}{\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right)}, z\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      5. associate-*r*N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, b\right), \left(\left(a \cdot y\right) \cdot z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), \color{blue}{z}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      6. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, b\right), \left(\left(y \cdot a\right) \cdot z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), z\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      7. associate-*l*N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, b\right), \left(y \cdot \left(a \cdot z\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), \color{blue}{z}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      8. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, b\right), \mathsf{*.f64}\left(y, \left(a \cdot z\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), \color{blue}{z}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      9. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, b\right), \mathsf{*.f64}\left(y, \left(z \cdot a\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), z\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      10. *-lowering-*.f6491.2%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, b\right), \mathsf{*.f64}\left(y, \mathsf{*.f64}\left(z, a\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), z\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    5. Simplified91.2%

      \[\leadsto x + \frac{\color{blue}{y \cdot b + y \cdot \left(z \cdot a\right)}}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    6. Step-by-step derivation
      1. div-invN/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(\left(y \cdot b + y \cdot \left(z \cdot a\right)\right) \cdot \color{blue}{\frac{1}{\left(\left(\left(z + \frac{15234687407}{1000000000}\right) \cdot z + \frac{314690115749}{10000000000}\right) \cdot z + \frac{119400905721}{10000000000}\right) \cdot z + \frac{607771387771}{1000000000000}}}\right)\right) \]
      2. distribute-lft-outN/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(\left(y \cdot \left(b + z \cdot a\right)\right) \cdot \frac{\color{blue}{1}}{\left(\left(\left(z + \frac{15234687407}{1000000000}\right) \cdot z + \frac{314690115749}{10000000000}\right) \cdot z + \frac{119400905721}{10000000000}\right) \cdot z + \frac{607771387771}{1000000000000}}\right)\right) \]
      3. associate-*l*N/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(y \cdot \color{blue}{\left(\left(b + z \cdot a\right) \cdot \frac{1}{\left(\left(\left(z + \frac{15234687407}{1000000000}\right) \cdot z + \frac{314690115749}{10000000000}\right) \cdot z + \frac{119400905721}{10000000000}\right) \cdot z + \frac{607771387771}{1000000000000}}\right)}\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \color{blue}{\left(\left(b + z \cdot a\right) \cdot \frac{1}{\left(\left(\left(z + \frac{15234687407}{1000000000}\right) \cdot z + \frac{314690115749}{10000000000}\right) \cdot z + \frac{119400905721}{10000000000}\right) \cdot z + \frac{607771387771}{1000000000000}}\right)}\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \mathsf{*.f64}\left(\left(b + z \cdot a\right), \color{blue}{\left(\frac{1}{\left(\left(\left(z + \frac{15234687407}{1000000000}\right) \cdot z + \frac{314690115749}{10000000000}\right) \cdot z + \frac{119400905721}{10000000000}\right) \cdot z + \frac{607771387771}{1000000000000}}\right)}\right)\right)\right) \]
      6. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \mathsf{*.f64}\left(\mathsf{+.f64}\left(b, \left(z \cdot a\right)\right), \left(\frac{\color{blue}{1}}{\left(\left(\left(z + \frac{15234687407}{1000000000}\right) \cdot z + \frac{314690115749}{10000000000}\right) \cdot z + \frac{119400905721}{10000000000}\right) \cdot z + \frac{607771387771}{1000000000000}}\right)\right)\right)\right) \]
      7. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \mathsf{*.f64}\left(\mathsf{+.f64}\left(b, \mathsf{*.f64}\left(z, a\right)\right), \left(\frac{1}{\left(\left(\left(z + \frac{15234687407}{1000000000}\right) \cdot z + \frac{314690115749}{10000000000}\right) \cdot z + \frac{119400905721}{10000000000}\right) \cdot z + \frac{607771387771}{1000000000000}}\right)\right)\right)\right) \]
      8. /-lowering-/.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \mathsf{*.f64}\left(\mathsf{+.f64}\left(b, \mathsf{*.f64}\left(z, a\right)\right), \mathsf{/.f64}\left(1, \color{blue}{\left(\left(\left(\left(z + \frac{15234687407}{1000000000}\right) \cdot z + \frac{314690115749}{10000000000}\right) \cdot z + \frac{119400905721}{10000000000}\right) \cdot z + \frac{607771387771}{1000000000000}\right)}\right)\right)\right)\right) \]
      9. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \mathsf{*.f64}\left(\mathsf{+.f64}\left(b, \mathsf{*.f64}\left(z, a\right)\right), \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(\left(\left(\left(\left(z + \frac{15234687407}{1000000000}\right) \cdot z + \frac{314690115749}{10000000000}\right) \cdot z + \frac{119400905721}{10000000000}\right) \cdot z\right), \color{blue}{\frac{607771387771}{1000000000000}}\right)\right)\right)\right)\right) \]
    7. Applied egg-rr91.3%

      \[\leadsto x + \color{blue}{y \cdot \left(\left(b + z \cdot a\right) \cdot \frac{1}{z \cdot \left(z \cdot \left(z \cdot \left(z + 15.234687407\right) + 31.4690115749\right) + 11.9400905721\right) + 0.607771387771}\right)} \]
    8. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \color{blue}{\left(\frac{1000000000000}{607771387771} \cdot b + z \cdot \left(\frac{1000000000000}{607771387771} \cdot a - \frac{11940090572100000000000000}{369386059793087248348441} \cdot b\right)\right)}\right)\right) \]
    9. Step-by-step derivation
      1. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\left(\frac{1000000000000}{607771387771} \cdot b\right), \color{blue}{\left(z \cdot \left(\frac{1000000000000}{607771387771} \cdot a - \frac{11940090572100000000000000}{369386059793087248348441} \cdot b\right)\right)}\right)\right)\right) \]
      2. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\left(b \cdot \frac{1000000000000}{607771387771}\right), \left(\color{blue}{z} \cdot \left(\frac{1000000000000}{607771387771} \cdot a - \frac{11940090572100000000000000}{369386059793087248348441} \cdot b\right)\right)\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(b, \frac{1000000000000}{607771387771}\right), \left(\color{blue}{z} \cdot \left(\frac{1000000000000}{607771387771} \cdot a - \frac{11940090572100000000000000}{369386059793087248348441} \cdot b\right)\right)\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(b, \frac{1000000000000}{607771387771}\right), \mathsf{*.f64}\left(z, \color{blue}{\left(\frac{1000000000000}{607771387771} \cdot a - \frac{11940090572100000000000000}{369386059793087248348441} \cdot b\right)}\right)\right)\right)\right) \]
      5. sub-negN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(b, \frac{1000000000000}{607771387771}\right), \mathsf{*.f64}\left(z, \left(\frac{1000000000000}{607771387771} \cdot a + \color{blue}{\left(\mathsf{neg}\left(\frac{11940090572100000000000000}{369386059793087248348441} \cdot b\right)\right)}\right)\right)\right)\right)\right) \]
      6. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(b, \frac{1000000000000}{607771387771}\right), \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(\left(\frac{1000000000000}{607771387771} \cdot a\right), \color{blue}{\left(\mathsf{neg}\left(\frac{11940090572100000000000000}{369386059793087248348441} \cdot b\right)\right)}\right)\right)\right)\right)\right) \]
      7. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(b, \frac{1000000000000}{607771387771}\right), \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(\left(a \cdot \frac{1000000000000}{607771387771}\right), \left(\mathsf{neg}\left(\color{blue}{\frac{11940090572100000000000000}{369386059793087248348441} \cdot b}\right)\right)\right)\right)\right)\right)\right) \]
      8. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(b, \frac{1000000000000}{607771387771}\right), \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(\mathsf{*.f64}\left(a, \frac{1000000000000}{607771387771}\right), \left(\mathsf{neg}\left(\color{blue}{\frac{11940090572100000000000000}{369386059793087248348441} \cdot b}\right)\right)\right)\right)\right)\right)\right) \]
      9. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(b, \frac{1000000000000}{607771387771}\right), \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(\mathsf{*.f64}\left(a, \frac{1000000000000}{607771387771}\right), \left(\mathsf{neg}\left(b \cdot \frac{11940090572100000000000000}{369386059793087248348441}\right)\right)\right)\right)\right)\right)\right) \]
      10. distribute-rgt-neg-inN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(b, \frac{1000000000000}{607771387771}\right), \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(\mathsf{*.f64}\left(a, \frac{1000000000000}{607771387771}\right), \left(b \cdot \color{blue}{\left(\mathsf{neg}\left(\frac{11940090572100000000000000}{369386059793087248348441}\right)\right)}\right)\right)\right)\right)\right)\right) \]
      11. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(b, \frac{1000000000000}{607771387771}\right), \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(\mathsf{*.f64}\left(a, \frac{1000000000000}{607771387771}\right), \mathsf{*.f64}\left(b, \color{blue}{\left(\mathsf{neg}\left(\frac{11940090572100000000000000}{369386059793087248348441}\right)\right)}\right)\right)\right)\right)\right)\right) \]
      12. metadata-eval90.5%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(b, \frac{1000000000000}{607771387771}\right), \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(\mathsf{*.f64}\left(a, \frac{1000000000000}{607771387771}\right), \mathsf{*.f64}\left(b, \frac{-11940090572100000000000000}{369386059793087248348441}\right)\right)\right)\right)\right)\right) \]
    10. Simplified90.5%

      \[\leadsto x + y \cdot \color{blue}{\left(b \cdot 1.6453555072203998 + z \cdot \left(a \cdot 1.6453555072203998 + b \cdot -32.324150453290734\right)\right)} \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 11: 90.0% accurate, 1.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;z \leq -0.05:\\ \;\;\;\;x + \left(y \cdot 3.13060547623 + \frac{y \cdot -36.52704169880642}{z}\right)\\ \mathbf{elif}\;z \leq 105000:\\ \;\;\;\;x + \frac{y \cdot \left(b + z \cdot a\right)}{0.607771387771 + z \cdot 11.9400905721}\\ \mathbf{else}:\\ \;\;\;\;x + y \cdot 3.13060547623\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (if (<= z -0.05)
   (+ x (+ (* y 3.13060547623) (/ (* y -36.52704169880642) z)))
   (if (<= z 105000.0)
     (+ x (/ (* y (+ b (* z a))) (+ 0.607771387771 (* z 11.9400905721))))
     (+ x (* y 3.13060547623)))))
double code(double x, double y, double z, double t, double a, double b) {
	double tmp;
	if (z <= -0.05) {
		tmp = x + ((y * 3.13060547623) + ((y * -36.52704169880642) / z));
	} else if (z <= 105000.0) {
		tmp = x + ((y * (b + (z * a))) / (0.607771387771 + (z * 11.9400905721)));
	} else {
		tmp = x + (y * 3.13060547623);
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8) :: tmp
    if (z <= (-0.05d0)) then
        tmp = x + ((y * 3.13060547623d0) + ((y * (-36.52704169880642d0)) / z))
    else if (z <= 105000.0d0) then
        tmp = x + ((y * (b + (z * a))) / (0.607771387771d0 + (z * 11.9400905721d0)))
    else
        tmp = x + (y * 3.13060547623d0)
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	double tmp;
	if (z <= -0.05) {
		tmp = x + ((y * 3.13060547623) + ((y * -36.52704169880642) / z));
	} else if (z <= 105000.0) {
		tmp = x + ((y * (b + (z * a))) / (0.607771387771 + (z * 11.9400905721)));
	} else {
		tmp = x + (y * 3.13060547623);
	}
	return tmp;
}
def code(x, y, z, t, a, b):
	tmp = 0
	if z <= -0.05:
		tmp = x + ((y * 3.13060547623) + ((y * -36.52704169880642) / z))
	elif z <= 105000.0:
		tmp = x + ((y * (b + (z * a))) / (0.607771387771 + (z * 11.9400905721)))
	else:
		tmp = x + (y * 3.13060547623)
	return tmp
function code(x, y, z, t, a, b)
	tmp = 0.0
	if (z <= -0.05)
		tmp = Float64(x + Float64(Float64(y * 3.13060547623) + Float64(Float64(y * -36.52704169880642) / z)));
	elseif (z <= 105000.0)
		tmp = Float64(x + Float64(Float64(y * Float64(b + Float64(z * a))) / Float64(0.607771387771 + Float64(z * 11.9400905721))));
	else
		tmp = Float64(x + Float64(y * 3.13060547623));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b)
	tmp = 0.0;
	if (z <= -0.05)
		tmp = x + ((y * 3.13060547623) + ((y * -36.52704169880642) / z));
	elseif (z <= 105000.0)
		tmp = x + ((y * (b + (z * a))) / (0.607771387771 + (z * 11.9400905721)));
	else
		tmp = x + (y * 3.13060547623);
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[z, -0.05], N[(x + N[(N[(y * 3.13060547623), $MachinePrecision] + N[(N[(y * -36.52704169880642), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 105000.0], N[(x + N[(N[(y * N[(b + N[(z * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(0.607771387771 + N[(z * 11.9400905721), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(y * 3.13060547623), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;z \leq -0.05:\\
\;\;\;\;x + \left(y \cdot 3.13060547623 + \frac{y \cdot -36.52704169880642}{z}\right)\\

\mathbf{elif}\;z \leq 105000:\\
\;\;\;\;x + \frac{y \cdot \left(b + z \cdot a\right)}{0.607771387771 + z \cdot 11.9400905721}\\

\mathbf{else}:\\
\;\;\;\;x + y \cdot 3.13060547623\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if z < -0.050000000000000003

    1. Initial program 25.0%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around inf

      \[\leadsto \color{blue}{\left(x + \left(\frac{313060547623}{100000000000} \cdot y + \frac{55833770631}{5000000000} \cdot \frac{y}{z}\right)\right) - \frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z}} \]
    4. Step-by-step derivation
      1. associate--l+N/A

        \[\leadsto x + \color{blue}{\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{55833770631}{5000000000} \cdot \frac{y}{z}\right) - \frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z}\right)} \]
      2. associate--l+N/A

        \[\leadsto x + \left(\frac{313060547623}{100000000000} \cdot y + \color{blue}{\left(\frac{55833770631}{5000000000} \cdot \frac{y}{z} - \frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z}\right)}\right) \]
      3. +-commutativeN/A

        \[\leadsto x + \left(\left(\frac{55833770631}{5000000000} \cdot \frac{y}{z} - \frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z}\right) + \color{blue}{\frac{313060547623}{100000000000} \cdot y}\right) \]
      4. distribute-rgt-out--N/A

        \[\leadsto x + \left(\frac{y}{z} \cdot \left(\frac{55833770631}{5000000000} - \frac{4769379582500641883561}{100000000000000000000}\right) + \color{blue}{\frac{313060547623}{100000000000}} \cdot y\right) \]
      5. metadata-evalN/A

        \[\leadsto x + \left(\frac{y}{z} \cdot \frac{-3652704169880641883561}{100000000000000000000} + \frac{313060547623}{100000000000} \cdot y\right) \]
      6. metadata-evalN/A

        \[\leadsto x + \left(\frac{y}{z} \cdot \frac{\frac{3652704169880641883561}{100000000000000000000}}{-1} + \frac{313060547623}{100000000000} \cdot y\right) \]
      7. metadata-evalN/A

        \[\leadsto x + \left(\frac{y}{z} \cdot \frac{\frac{-55833770631}{5000000000} - \frac{-4769379582500641883561}{100000000000000000000}}{-1} + \frac{313060547623}{100000000000} \cdot y\right) \]
      8. times-fracN/A

        \[\leadsto x + \left(\frac{y \cdot \left(\frac{-55833770631}{5000000000} - \frac{-4769379582500641883561}{100000000000000000000}\right)}{z \cdot -1} + \color{blue}{\frac{313060547623}{100000000000}} \cdot y\right) \]
      9. *-commutativeN/A

        \[\leadsto x + \left(\frac{y \cdot \left(\frac{-55833770631}{5000000000} - \frac{-4769379582500641883561}{100000000000000000000}\right)}{-1 \cdot z} + \frac{313060547623}{100000000000} \cdot y\right) \]
      10. distribute-rgt-out--N/A

        \[\leadsto x + \left(\frac{\frac{-55833770631}{5000000000} \cdot y - \frac{-4769379582500641883561}{100000000000000000000} \cdot y}{-1 \cdot z} + \frac{313060547623}{100000000000} \cdot y\right) \]
      11. mul-1-negN/A

        \[\leadsto x + \left(\frac{\frac{-55833770631}{5000000000} \cdot y - \frac{-4769379582500641883561}{100000000000000000000} \cdot y}{\mathsf{neg}\left(z\right)} + \frac{313060547623}{100000000000} \cdot y\right) \]
      12. distribute-neg-frac2N/A

        \[\leadsto x + \left(\left(\mathsf{neg}\left(\frac{\frac{-55833770631}{5000000000} \cdot y - \frac{-4769379582500641883561}{100000000000000000000} \cdot y}{z}\right)\right) + \color{blue}{\frac{313060547623}{100000000000}} \cdot y\right) \]
      13. mul-1-negN/A

        \[\leadsto x + \left(-1 \cdot \frac{\frac{-55833770631}{5000000000} \cdot y - \frac{-4769379582500641883561}{100000000000000000000} \cdot y}{z} + \color{blue}{\frac{313060547623}{100000000000}} \cdot y\right) \]
      14. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \color{blue}{\left(-1 \cdot \frac{\frac{-55833770631}{5000000000} \cdot y - \frac{-4769379582500641883561}{100000000000000000000} \cdot y}{z} + \frac{313060547623}{100000000000} \cdot y\right)}\right) \]
    5. Simplified85.8%

      \[\leadsto \color{blue}{x + \left(y \cdot 3.13060547623 + \frac{y \cdot -36.52704169880642}{z}\right)} \]

    if -0.050000000000000003 < z < 105000

    1. Initial program 99.7%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\color{blue}{\left(\frac{119400905721}{10000000000} \cdot z\right)}, \frac{607771387771}{1000000000000}\right)\right)\right) \]
    4. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\left(z \cdot \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      2. *-lowering-*.f6498.8%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{313060547623}{100000000000}\right), \frac{55833770631}{5000000000}\right), z\right), t\right), z\right), a\right), z\right), b\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    5. Simplified98.8%

      \[\leadsto x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\color{blue}{z \cdot 11.9400905721} + 0.607771387771} \]
    6. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\color{blue}{\left(a \cdot \left(y \cdot z\right) + b \cdot y\right)}, \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    7. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\left(a \cdot \left(z \cdot y\right) + b \cdot y\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\left(\left(a \cdot z\right) \cdot y + b \cdot y\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\color{blue}{z}, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      3. distribute-rgt-inN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\left(y \cdot \left(a \cdot z + b\right)\right), \mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right)}, \frac{607771387771}{1000000000000}\right)\right)\right) \]
      4. +-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\left(y \cdot \left(b + a \cdot z\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \color{blue}{\frac{119400905721}{10000000000}}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \left(b + a \cdot z\right)\right), \mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right)}, \frac{607771387771}{1000000000000}\right)\right)\right) \]
      6. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \left(a \cdot z\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \color{blue}{\frac{119400905721}{10000000000}}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      7. *-lowering-*.f6492.6%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{*.f64}\left(y, \mathsf{+.f64}\left(b, \mathsf{*.f64}\left(a, z\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(z, \frac{119400905721}{10000000000}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    8. Simplified92.6%

      \[\leadsto x + \frac{\color{blue}{y \cdot \left(b + a \cdot z\right)}}{z \cdot 11.9400905721 + 0.607771387771} \]

    if 105000 < z

    1. Initial program 14.4%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around inf

      \[\leadsto \color{blue}{x + \frac{313060547623}{100000000000} \cdot y} \]
    4. Step-by-step derivation
      1. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \color{blue}{\left(\frac{313060547623}{100000000000} \cdot y\right)}\right) \]
      2. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(y \cdot \color{blue}{\frac{313060547623}{100000000000}}\right)\right) \]
      3. *-lowering-*.f6486.6%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \color{blue}{\frac{313060547623}{100000000000}}\right)\right) \]
    5. Simplified86.6%

      \[\leadsto \color{blue}{x + y \cdot 3.13060547623} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification89.3%

    \[\leadsto \begin{array}{l} \mathbf{if}\;z \leq -0.05:\\ \;\;\;\;x + \left(y \cdot 3.13060547623 + \frac{y \cdot -36.52704169880642}{z}\right)\\ \mathbf{elif}\;z \leq 105000:\\ \;\;\;\;x + \frac{y \cdot \left(b + z \cdot a\right)}{0.607771387771 + z \cdot 11.9400905721}\\ \mathbf{else}:\\ \;\;\;\;x + y \cdot 3.13060547623\\ \end{array} \]
  5. Add Preprocessing

Alternative 12: 82.9% accurate, 2.2× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;z \leq -720:\\ \;\;\;\;x + \left(y \cdot 3.13060547623 + \frac{y \cdot -36.52704169880642}{z}\right)\\ \mathbf{elif}\;z \leq 1.3 \cdot 10^{-14}:\\ \;\;\;\;x + y \cdot \left(b \cdot 1.6453555072203998\right)\\ \mathbf{else}:\\ \;\;\;\;x + y \cdot 3.13060547623\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (if (<= z -720.0)
   (+ x (+ (* y 3.13060547623) (/ (* y -36.52704169880642) z)))
   (if (<= z 1.3e-14)
     (+ x (* y (* b 1.6453555072203998)))
     (+ x (* y 3.13060547623)))))
double code(double x, double y, double z, double t, double a, double b) {
	double tmp;
	if (z <= -720.0) {
		tmp = x + ((y * 3.13060547623) + ((y * -36.52704169880642) / z));
	} else if (z <= 1.3e-14) {
		tmp = x + (y * (b * 1.6453555072203998));
	} else {
		tmp = x + (y * 3.13060547623);
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8) :: tmp
    if (z <= (-720.0d0)) then
        tmp = x + ((y * 3.13060547623d0) + ((y * (-36.52704169880642d0)) / z))
    else if (z <= 1.3d-14) then
        tmp = x + (y * (b * 1.6453555072203998d0))
    else
        tmp = x + (y * 3.13060547623d0)
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	double tmp;
	if (z <= -720.0) {
		tmp = x + ((y * 3.13060547623) + ((y * -36.52704169880642) / z));
	} else if (z <= 1.3e-14) {
		tmp = x + (y * (b * 1.6453555072203998));
	} else {
		tmp = x + (y * 3.13060547623);
	}
	return tmp;
}
def code(x, y, z, t, a, b):
	tmp = 0
	if z <= -720.0:
		tmp = x + ((y * 3.13060547623) + ((y * -36.52704169880642) / z))
	elif z <= 1.3e-14:
		tmp = x + (y * (b * 1.6453555072203998))
	else:
		tmp = x + (y * 3.13060547623)
	return tmp
function code(x, y, z, t, a, b)
	tmp = 0.0
	if (z <= -720.0)
		tmp = Float64(x + Float64(Float64(y * 3.13060547623) + Float64(Float64(y * -36.52704169880642) / z)));
	elseif (z <= 1.3e-14)
		tmp = Float64(x + Float64(y * Float64(b * 1.6453555072203998)));
	else
		tmp = Float64(x + Float64(y * 3.13060547623));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b)
	tmp = 0.0;
	if (z <= -720.0)
		tmp = x + ((y * 3.13060547623) + ((y * -36.52704169880642) / z));
	elseif (z <= 1.3e-14)
		tmp = x + (y * (b * 1.6453555072203998));
	else
		tmp = x + (y * 3.13060547623);
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[z, -720.0], N[(x + N[(N[(y * 3.13060547623), $MachinePrecision] + N[(N[(y * -36.52704169880642), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.3e-14], N[(x + N[(y * N[(b * 1.6453555072203998), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(y * 3.13060547623), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;z \leq -720:\\
\;\;\;\;x + \left(y \cdot 3.13060547623 + \frac{y \cdot -36.52704169880642}{z}\right)\\

\mathbf{elif}\;z \leq 1.3 \cdot 10^{-14}:\\
\;\;\;\;x + y \cdot \left(b \cdot 1.6453555072203998\right)\\

\mathbf{else}:\\
\;\;\;\;x + y \cdot 3.13060547623\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if z < -720

    1. Initial program 23.9%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around inf

      \[\leadsto \color{blue}{\left(x + \left(\frac{313060547623}{100000000000} \cdot y + \frac{55833770631}{5000000000} \cdot \frac{y}{z}\right)\right) - \frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z}} \]
    4. Step-by-step derivation
      1. associate--l+N/A

        \[\leadsto x + \color{blue}{\left(\left(\frac{313060547623}{100000000000} \cdot y + \frac{55833770631}{5000000000} \cdot \frac{y}{z}\right) - \frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z}\right)} \]
      2. associate--l+N/A

        \[\leadsto x + \left(\frac{313060547623}{100000000000} \cdot y + \color{blue}{\left(\frac{55833770631}{5000000000} \cdot \frac{y}{z} - \frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z}\right)}\right) \]
      3. +-commutativeN/A

        \[\leadsto x + \left(\left(\frac{55833770631}{5000000000} \cdot \frac{y}{z} - \frac{4769379582500641883561}{100000000000000000000} \cdot \frac{y}{z}\right) + \color{blue}{\frac{313060547623}{100000000000} \cdot y}\right) \]
      4. distribute-rgt-out--N/A

        \[\leadsto x + \left(\frac{y}{z} \cdot \left(\frac{55833770631}{5000000000} - \frac{4769379582500641883561}{100000000000000000000}\right) + \color{blue}{\frac{313060547623}{100000000000}} \cdot y\right) \]
      5. metadata-evalN/A

        \[\leadsto x + \left(\frac{y}{z} \cdot \frac{-3652704169880641883561}{100000000000000000000} + \frac{313060547623}{100000000000} \cdot y\right) \]
      6. metadata-evalN/A

        \[\leadsto x + \left(\frac{y}{z} \cdot \frac{\frac{3652704169880641883561}{100000000000000000000}}{-1} + \frac{313060547623}{100000000000} \cdot y\right) \]
      7. metadata-evalN/A

        \[\leadsto x + \left(\frac{y}{z} \cdot \frac{\frac{-55833770631}{5000000000} - \frac{-4769379582500641883561}{100000000000000000000}}{-1} + \frac{313060547623}{100000000000} \cdot y\right) \]
      8. times-fracN/A

        \[\leadsto x + \left(\frac{y \cdot \left(\frac{-55833770631}{5000000000} - \frac{-4769379582500641883561}{100000000000000000000}\right)}{z \cdot -1} + \color{blue}{\frac{313060547623}{100000000000}} \cdot y\right) \]
      9. *-commutativeN/A

        \[\leadsto x + \left(\frac{y \cdot \left(\frac{-55833770631}{5000000000} - \frac{-4769379582500641883561}{100000000000000000000}\right)}{-1 \cdot z} + \frac{313060547623}{100000000000} \cdot y\right) \]
      10. distribute-rgt-out--N/A

        \[\leadsto x + \left(\frac{\frac{-55833770631}{5000000000} \cdot y - \frac{-4769379582500641883561}{100000000000000000000} \cdot y}{-1 \cdot z} + \frac{313060547623}{100000000000} \cdot y\right) \]
      11. mul-1-negN/A

        \[\leadsto x + \left(\frac{\frac{-55833770631}{5000000000} \cdot y - \frac{-4769379582500641883561}{100000000000000000000} \cdot y}{\mathsf{neg}\left(z\right)} + \frac{313060547623}{100000000000} \cdot y\right) \]
      12. distribute-neg-frac2N/A

        \[\leadsto x + \left(\left(\mathsf{neg}\left(\frac{\frac{-55833770631}{5000000000} \cdot y - \frac{-4769379582500641883561}{100000000000000000000} \cdot y}{z}\right)\right) + \color{blue}{\frac{313060547623}{100000000000}} \cdot y\right) \]
      13. mul-1-negN/A

        \[\leadsto x + \left(-1 \cdot \frac{\frac{-55833770631}{5000000000} \cdot y - \frac{-4769379582500641883561}{100000000000000000000} \cdot y}{z} + \color{blue}{\frac{313060547623}{100000000000}} \cdot y\right) \]
      14. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \color{blue}{\left(-1 \cdot \frac{\frac{-55833770631}{5000000000} \cdot y - \frac{-4769379582500641883561}{100000000000000000000} \cdot y}{z} + \frac{313060547623}{100000000000} \cdot y\right)}\right) \]
    5. Simplified87.1%

      \[\leadsto \color{blue}{x + \left(y \cdot 3.13060547623 + \frac{y \cdot -36.52704169880642}{z}\right)} \]

    if -720 < z < 1.29999999999999998e-14

    1. Initial program 99.7%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around 0

      \[\leadsto \color{blue}{x + \frac{1000000000000}{607771387771} \cdot \left(b \cdot y\right)} \]
    4. Step-by-step derivation
      1. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \color{blue}{\left(\frac{1000000000000}{607771387771} \cdot \left(b \cdot y\right)\right)}\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(\left(\frac{1000000000000}{607771387771} \cdot b\right) \cdot \color{blue}{y}\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(y \cdot \color{blue}{\left(\frac{1000000000000}{607771387771} \cdot b\right)}\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \color{blue}{\left(\frac{1000000000000}{607771387771} \cdot b\right)}\right)\right) \]
      5. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \left(b \cdot \color{blue}{\frac{1000000000000}{607771387771}}\right)\right)\right) \]
      6. *-lowering-*.f6478.1%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \mathsf{*.f64}\left(b, \color{blue}{\frac{1000000000000}{607771387771}}\right)\right)\right) \]
    5. Simplified78.1%

      \[\leadsto \color{blue}{x + y \cdot \left(b \cdot 1.6453555072203998\right)} \]

    if 1.29999999999999998e-14 < z

    1. Initial program 20.2%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around inf

      \[\leadsto \color{blue}{x + \frac{313060547623}{100000000000} \cdot y} \]
    4. Step-by-step derivation
      1. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \color{blue}{\left(\frac{313060547623}{100000000000} \cdot y\right)}\right) \]
      2. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(y \cdot \color{blue}{\frac{313060547623}{100000000000}}\right)\right) \]
      3. *-lowering-*.f6484.4%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \color{blue}{\frac{313060547623}{100000000000}}\right)\right) \]
    5. Simplified84.4%

      \[\leadsto \color{blue}{x + y \cdot 3.13060547623} \]
  3. Recombined 3 regimes into one program.
  4. Add Preprocessing

Alternative 13: 82.9% accurate, 2.2× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := x + y \cdot 3.13060547623\\ \mathbf{if}\;z \leq -400:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;z \leq 1.3 \cdot 10^{-14}:\\ \;\;\;\;x + y \cdot \left(b \cdot 1.6453555072203998\right)\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (let* ((t_1 (+ x (* y 3.13060547623))))
   (if (<= z -400.0)
     t_1
     (if (<= z 1.3e-14) (+ x (* y (* b 1.6453555072203998))) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = x + (y * 3.13060547623);
	double tmp;
	if (z <= -400.0) {
		tmp = t_1;
	} else if (z <= 1.3e-14) {
		tmp = x + (y * (b * 1.6453555072203998));
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8) :: t_1
    real(8) :: tmp
    t_1 = x + (y * 3.13060547623d0)
    if (z <= (-400.0d0)) then
        tmp = t_1
    else if (z <= 1.3d-14) then
        tmp = x + (y * (b * 1.6453555072203998d0))
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = x + (y * 3.13060547623);
	double tmp;
	if (z <= -400.0) {
		tmp = t_1;
	} else if (z <= 1.3e-14) {
		tmp = x + (y * (b * 1.6453555072203998));
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(x, y, z, t, a, b):
	t_1 = x + (y * 3.13060547623)
	tmp = 0
	if z <= -400.0:
		tmp = t_1
	elif z <= 1.3e-14:
		tmp = x + (y * (b * 1.6453555072203998))
	else:
		tmp = t_1
	return tmp
function code(x, y, z, t, a, b)
	t_1 = Float64(x + Float64(y * 3.13060547623))
	tmp = 0.0
	if (z <= -400.0)
		tmp = t_1;
	elseif (z <= 1.3e-14)
		tmp = Float64(x + Float64(y * Float64(b * 1.6453555072203998)));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b)
	t_1 = x + (y * 3.13060547623);
	tmp = 0.0;
	if (z <= -400.0)
		tmp = t_1;
	elseif (z <= 1.3e-14)
		tmp = x + (y * (b * 1.6453555072203998));
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x + N[(y * 3.13060547623), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -400.0], t$95$1, If[LessEqual[z, 1.3e-14], N[(x + N[(y * N[(b * 1.6453555072203998), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := x + y \cdot 3.13060547623\\
\mathbf{if}\;z \leq -400:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;z \leq 1.3 \cdot 10^{-14}:\\
\;\;\;\;x + y \cdot \left(b \cdot 1.6453555072203998\right)\\

\mathbf{else}:\\
\;\;\;\;t\_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if z < -400 or 1.29999999999999998e-14 < z

    1. Initial program 21.8%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around inf

      \[\leadsto \color{blue}{x + \frac{313060547623}{100000000000} \cdot y} \]
    4. Step-by-step derivation
      1. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \color{blue}{\left(\frac{313060547623}{100000000000} \cdot y\right)}\right) \]
      2. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(y \cdot \color{blue}{\frac{313060547623}{100000000000}}\right)\right) \]
      3. *-lowering-*.f6485.6%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \color{blue}{\frac{313060547623}{100000000000}}\right)\right) \]
    5. Simplified85.6%

      \[\leadsto \color{blue}{x + y \cdot 3.13060547623} \]

    if -400 < z < 1.29999999999999998e-14

    1. Initial program 99.7%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around 0

      \[\leadsto \color{blue}{x + \frac{1000000000000}{607771387771} \cdot \left(b \cdot y\right)} \]
    4. Step-by-step derivation
      1. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \color{blue}{\left(\frac{1000000000000}{607771387771} \cdot \left(b \cdot y\right)\right)}\right) \]
      2. associate-*r*N/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(\left(\frac{1000000000000}{607771387771} \cdot b\right) \cdot \color{blue}{y}\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(y \cdot \color{blue}{\left(\frac{1000000000000}{607771387771} \cdot b\right)}\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \color{blue}{\left(\frac{1000000000000}{607771387771} \cdot b\right)}\right)\right) \]
      5. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \left(b \cdot \color{blue}{\frac{1000000000000}{607771387771}}\right)\right)\right) \]
      6. *-lowering-*.f6478.1%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \mathsf{*.f64}\left(b, \color{blue}{\frac{1000000000000}{607771387771}}\right)\right)\right) \]
    5. Simplified78.1%

      \[\leadsto \color{blue}{x + y \cdot \left(b \cdot 1.6453555072203998\right)} \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 14: 82.9% accurate, 2.2× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := x + y \cdot 3.13060547623\\ \mathbf{if}\;z \leq -60:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;z \leq 1.3 \cdot 10^{-14}:\\ \;\;\;\;x + 1.6453555072203998 \cdot \left(y \cdot b\right)\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (let* ((t_1 (+ x (* y 3.13060547623))))
   (if (<= z -60.0)
     t_1
     (if (<= z 1.3e-14) (+ x (* 1.6453555072203998 (* y b))) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = x + (y * 3.13060547623);
	double tmp;
	if (z <= -60.0) {
		tmp = t_1;
	} else if (z <= 1.3e-14) {
		tmp = x + (1.6453555072203998 * (y * b));
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8) :: t_1
    real(8) :: tmp
    t_1 = x + (y * 3.13060547623d0)
    if (z <= (-60.0d0)) then
        tmp = t_1
    else if (z <= 1.3d-14) then
        tmp = x + (1.6453555072203998d0 * (y * b))
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = x + (y * 3.13060547623);
	double tmp;
	if (z <= -60.0) {
		tmp = t_1;
	} else if (z <= 1.3e-14) {
		tmp = x + (1.6453555072203998 * (y * b));
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(x, y, z, t, a, b):
	t_1 = x + (y * 3.13060547623)
	tmp = 0
	if z <= -60.0:
		tmp = t_1
	elif z <= 1.3e-14:
		tmp = x + (1.6453555072203998 * (y * b))
	else:
		tmp = t_1
	return tmp
function code(x, y, z, t, a, b)
	t_1 = Float64(x + Float64(y * 3.13060547623))
	tmp = 0.0
	if (z <= -60.0)
		tmp = t_1;
	elseif (z <= 1.3e-14)
		tmp = Float64(x + Float64(1.6453555072203998 * Float64(y * b)));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b)
	t_1 = x + (y * 3.13060547623);
	tmp = 0.0;
	if (z <= -60.0)
		tmp = t_1;
	elseif (z <= 1.3e-14)
		tmp = x + (1.6453555072203998 * (y * b));
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x + N[(y * 3.13060547623), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -60.0], t$95$1, If[LessEqual[z, 1.3e-14], N[(x + N[(1.6453555072203998 * N[(y * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := x + y \cdot 3.13060547623\\
\mathbf{if}\;z \leq -60:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;z \leq 1.3 \cdot 10^{-14}:\\
\;\;\;\;x + 1.6453555072203998 \cdot \left(y \cdot b\right)\\

\mathbf{else}:\\
\;\;\;\;t\_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if z < -60 or 1.29999999999999998e-14 < z

    1. Initial program 21.8%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around inf

      \[\leadsto \color{blue}{x + \frac{313060547623}{100000000000} \cdot y} \]
    4. Step-by-step derivation
      1. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \color{blue}{\left(\frac{313060547623}{100000000000} \cdot y\right)}\right) \]
      2. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(y \cdot \color{blue}{\frac{313060547623}{100000000000}}\right)\right) \]
      3. *-lowering-*.f6485.6%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \color{blue}{\frac{313060547623}{100000000000}}\right)\right) \]
    5. Simplified85.6%

      \[\leadsto \color{blue}{x + y \cdot 3.13060547623} \]

    if -60 < z < 1.29999999999999998e-14

    1. Initial program 99.7%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around 0

      \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\color{blue}{\left(b \cdot y + z \cdot \left(a \cdot y + t \cdot \left(y \cdot z\right)\right)\right)}, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), z\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    4. Step-by-step derivation
      1. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(b \cdot y\right), \left(z \cdot \left(a \cdot y + t \cdot \left(y \cdot z\right)\right)\right)\right), \mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), z\right)}, \frac{607771387771}{1000000000000}\right)\right)\right) \]
      2. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\left(y \cdot b\right), \left(z \cdot \left(a \cdot y + t \cdot \left(y \cdot z\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\color{blue}{\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right)}, z\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, b\right), \left(z \cdot \left(a \cdot y + t \cdot \left(y \cdot z\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\color{blue}{\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right)}, z\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, b\right), \mathsf{*.f64}\left(z, \left(a \cdot y + t \cdot \left(y \cdot z\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), \color{blue}{z}\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      5. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, b\right), \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(\left(a \cdot y\right), \left(t \cdot \left(y \cdot z\right)\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), z\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      6. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, b\right), \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(\left(y \cdot a\right), \left(t \cdot \left(y \cdot z\right)\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), z\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      7. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, b\right), \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, a\right), \left(t \cdot \left(y \cdot z\right)\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), z\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      8. associate-*r*N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, b\right), \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, a\right), \left(\left(t \cdot y\right) \cdot z\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), z\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      9. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, b\right), \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, a\right), \left(\left(y \cdot t\right) \cdot z\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), z\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      10. associate-*l*N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, b\right), \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, a\right), \left(y \cdot \left(t \cdot z\right)\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), z\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      11. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, b\right), \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, a\right), \mathsf{*.f64}\left(y, \left(t \cdot z\right)\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), z\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      12. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, b\right), \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, a\right), \mathsf{*.f64}\left(y, \left(z \cdot t\right)\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), z\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
      13. *-lowering-*.f6493.0%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(y, b\right), \mathsf{*.f64}\left(z, \mathsf{+.f64}\left(\mathsf{*.f64}\left(y, a\right), \mathsf{*.f64}\left(y, \mathsf{*.f64}\left(z, t\right)\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{+.f64}\left(z, \frac{15234687407}{1000000000}\right), z\right), \frac{314690115749}{10000000000}\right), z\right), \frac{119400905721}{10000000000}\right), z\right), \frac{607771387771}{1000000000000}\right)\right)\right) \]
    5. Simplified93.0%

      \[\leadsto x + \frac{\color{blue}{y \cdot b + z \cdot \left(y \cdot a + y \cdot \left(z \cdot t\right)\right)}}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    6. Taylor expanded in z around 0

      \[\leadsto \color{blue}{x + \frac{1000000000000}{607771387771} \cdot \left(b \cdot y\right)} \]
    7. Step-by-step derivation
      1. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \color{blue}{\left(\frac{1000000000000}{607771387771} \cdot \left(b \cdot y\right)\right)}\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(\frac{1000000000000}{607771387771}, \color{blue}{\left(b \cdot y\right)}\right)\right) \]
      3. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(\frac{1000000000000}{607771387771}, \left(y \cdot \color{blue}{b}\right)\right)\right) \]
      4. *-lowering-*.f6478.0%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(\frac{1000000000000}{607771387771}, \mathsf{*.f64}\left(y, \color{blue}{b}\right)\right)\right) \]
    8. Simplified78.0%

      \[\leadsto \color{blue}{x + 1.6453555072203998 \cdot \left(y \cdot b\right)} \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 15: 63.2% accurate, 2.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := x + y \cdot 3.13060547623\\ \mathbf{if}\;z \leq -7.5 \cdot 10^{-36}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;z \leq 3.5 \cdot 10^{-119}:\\ \;\;\;\;x\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (x y z t a b)
 :precision binary64
 (let* ((t_1 (+ x (* y 3.13060547623))))
   (if (<= z -7.5e-36) t_1 (if (<= z 3.5e-119) x t_1))))
double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = x + (y * 3.13060547623);
	double tmp;
	if (z <= -7.5e-36) {
		tmp = t_1;
	} else if (z <= 3.5e-119) {
		tmp = x;
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8) :: t_1
    real(8) :: tmp
    t_1 = x + (y * 3.13060547623d0)
    if (z <= (-7.5d-36)) then
        tmp = t_1
    else if (z <= 3.5d-119) then
        tmp = x
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
	double t_1 = x + (y * 3.13060547623);
	double tmp;
	if (z <= -7.5e-36) {
		tmp = t_1;
	} else if (z <= 3.5e-119) {
		tmp = x;
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(x, y, z, t, a, b):
	t_1 = x + (y * 3.13060547623)
	tmp = 0
	if z <= -7.5e-36:
		tmp = t_1
	elif z <= 3.5e-119:
		tmp = x
	else:
		tmp = t_1
	return tmp
function code(x, y, z, t, a, b)
	t_1 = Float64(x + Float64(y * 3.13060547623))
	tmp = 0.0
	if (z <= -7.5e-36)
		tmp = t_1;
	elseif (z <= 3.5e-119)
		tmp = x;
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b)
	t_1 = x + (y * 3.13060547623);
	tmp = 0.0;
	if (z <= -7.5e-36)
		tmp = t_1;
	elseif (z <= 3.5e-119)
		tmp = x;
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x + N[(y * 3.13060547623), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -7.5e-36], t$95$1, If[LessEqual[z, 3.5e-119], x, t$95$1]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := x + y \cdot 3.13060547623\\
\mathbf{if}\;z \leq -7.5 \cdot 10^{-36}:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;z \leq 3.5 \cdot 10^{-119}:\\
\;\;\;\;x\\

\mathbf{else}:\\
\;\;\;\;t\_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if z < -7.49999999999999972e-36 or 3.5e-119 < z

    1. Initial program 37.2%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in z around inf

      \[\leadsto \color{blue}{x + \frac{313060547623}{100000000000} \cdot y} \]
    4. Step-by-step derivation
      1. +-lowering-+.f64N/A

        \[\leadsto \mathsf{+.f64}\left(x, \color{blue}{\left(\frac{313060547623}{100000000000} \cdot y\right)}\right) \]
      2. *-commutativeN/A

        \[\leadsto \mathsf{+.f64}\left(x, \left(y \cdot \color{blue}{\frac{313060547623}{100000000000}}\right)\right) \]
      3. *-lowering-*.f6475.2%

        \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \color{blue}{\frac{313060547623}{100000000000}}\right)\right) \]
    5. Simplified75.2%

      \[\leadsto \color{blue}{x + y \cdot 3.13060547623} \]

    if -7.49999999999999972e-36 < z < 3.5e-119

    1. Initial program 99.7%

      \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
    2. Add Preprocessing
    3. Taylor expanded in x around inf

      \[\leadsto \color{blue}{x} \]
    4. Step-by-step derivation
      1. Simplified50.1%

        \[\leadsto \color{blue}{x} \]
    5. Recombined 2 regimes into one program.
    6. Add Preprocessing

    Alternative 16: 49.9% accurate, 2.8× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;y \leq -5.5 \cdot 10^{+131}:\\ \;\;\;\;y \cdot 3.13060547623\\ \mathbf{elif}\;y \leq 1.3 \cdot 10^{+104}:\\ \;\;\;\;x\\ \mathbf{else}:\\ \;\;\;\;y \cdot 3.13060547623\\ \end{array} \end{array} \]
    (FPCore (x y z t a b)
     :precision binary64
     (if (<= y -5.5e+131)
       (* y 3.13060547623)
       (if (<= y 1.3e+104) x (* y 3.13060547623))))
    double code(double x, double y, double z, double t, double a, double b) {
    	double tmp;
    	if (y <= -5.5e+131) {
    		tmp = y * 3.13060547623;
    	} else if (y <= 1.3e+104) {
    		tmp = x;
    	} else {
    		tmp = y * 3.13060547623;
    	}
    	return tmp;
    }
    
    real(8) function code(x, y, z, t, a, b)
        real(8), intent (in) :: x
        real(8), intent (in) :: y
        real(8), intent (in) :: z
        real(8), intent (in) :: t
        real(8), intent (in) :: a
        real(8), intent (in) :: b
        real(8) :: tmp
        if (y <= (-5.5d+131)) then
            tmp = y * 3.13060547623d0
        else if (y <= 1.3d+104) then
            tmp = x
        else
            tmp = y * 3.13060547623d0
        end if
        code = tmp
    end function
    
    public static double code(double x, double y, double z, double t, double a, double b) {
    	double tmp;
    	if (y <= -5.5e+131) {
    		tmp = y * 3.13060547623;
    	} else if (y <= 1.3e+104) {
    		tmp = x;
    	} else {
    		tmp = y * 3.13060547623;
    	}
    	return tmp;
    }
    
    def code(x, y, z, t, a, b):
    	tmp = 0
    	if y <= -5.5e+131:
    		tmp = y * 3.13060547623
    	elif y <= 1.3e+104:
    		tmp = x
    	else:
    		tmp = y * 3.13060547623
    	return tmp
    
    function code(x, y, z, t, a, b)
    	tmp = 0.0
    	if (y <= -5.5e+131)
    		tmp = Float64(y * 3.13060547623);
    	elseif (y <= 1.3e+104)
    		tmp = x;
    	else
    		tmp = Float64(y * 3.13060547623);
    	end
    	return tmp
    end
    
    function tmp_2 = code(x, y, z, t, a, b)
    	tmp = 0.0;
    	if (y <= -5.5e+131)
    		tmp = y * 3.13060547623;
    	elseif (y <= 1.3e+104)
    		tmp = x;
    	else
    		tmp = y * 3.13060547623;
    	end
    	tmp_2 = tmp;
    end
    
    code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -5.5e+131], N[(y * 3.13060547623), $MachinePrecision], If[LessEqual[y, 1.3e+104], x, N[(y * 3.13060547623), $MachinePrecision]]]
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    \mathbf{if}\;y \leq -5.5 \cdot 10^{+131}:\\
    \;\;\;\;y \cdot 3.13060547623\\
    
    \mathbf{elif}\;y \leq 1.3 \cdot 10^{+104}:\\
    \;\;\;\;x\\
    
    \mathbf{else}:\\
    \;\;\;\;y \cdot 3.13060547623\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 2 regimes
    2. if y < -5.49999999999999971e131 or 1.3e104 < y

      1. Initial program 49.5%

        \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
      2. Add Preprocessing
      3. Taylor expanded in z around inf

        \[\leadsto \color{blue}{x + \frac{313060547623}{100000000000} \cdot y} \]
      4. Step-by-step derivation
        1. +-lowering-+.f64N/A

          \[\leadsto \mathsf{+.f64}\left(x, \color{blue}{\left(\frac{313060547623}{100000000000} \cdot y\right)}\right) \]
        2. *-commutativeN/A

          \[\leadsto \mathsf{+.f64}\left(x, \left(y \cdot \color{blue}{\frac{313060547623}{100000000000}}\right)\right) \]
        3. *-lowering-*.f6446.2%

          \[\leadsto \mathsf{+.f64}\left(x, \mathsf{*.f64}\left(y, \color{blue}{\frac{313060547623}{100000000000}}\right)\right) \]
      5. Simplified46.2%

        \[\leadsto \color{blue}{x + y \cdot 3.13060547623} \]
      6. Taylor expanded in x around 0

        \[\leadsto \color{blue}{\frac{313060547623}{100000000000} \cdot y} \]
      7. Step-by-step derivation
        1. *-lowering-*.f6440.2%

          \[\leadsto \mathsf{*.f64}\left(\frac{313060547623}{100000000000}, \color{blue}{y}\right) \]
      8. Simplified40.2%

        \[\leadsto \color{blue}{3.13060547623 \cdot y} \]

      if -5.49999999999999971e131 < y < 1.3e104

      1. Initial program 61.9%

        \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
      2. Add Preprocessing
      3. Taylor expanded in x around inf

        \[\leadsto \color{blue}{x} \]
      4. Step-by-step derivation
        1. Simplified62.6%

          \[\leadsto \color{blue}{x} \]
      5. Recombined 2 regimes into one program.
      6. Final simplification55.0%

        \[\leadsto \begin{array}{l} \mathbf{if}\;y \leq -5.5 \cdot 10^{+131}:\\ \;\;\;\;y \cdot 3.13060547623\\ \mathbf{elif}\;y \leq 1.3 \cdot 10^{+104}:\\ \;\;\;\;x\\ \mathbf{else}:\\ \;\;\;\;y \cdot 3.13060547623\\ \end{array} \]
      7. Add Preprocessing

      Alternative 17: 43.9% accurate, 37.0× speedup?

      \[\begin{array}{l} \\ x \end{array} \]
      (FPCore (x y z t a b) :precision binary64 x)
      double code(double x, double y, double z, double t, double a, double b) {
      	return x;
      }
      
      real(8) function code(x, y, z, t, a, b)
          real(8), intent (in) :: x
          real(8), intent (in) :: y
          real(8), intent (in) :: z
          real(8), intent (in) :: t
          real(8), intent (in) :: a
          real(8), intent (in) :: b
          code = x
      end function
      
      public static double code(double x, double y, double z, double t, double a, double b) {
      	return x;
      }
      
      def code(x, y, z, t, a, b):
      	return x
      
      function code(x, y, z, t, a, b)
      	return x
      end
      
      function tmp = code(x, y, z, t, a, b)
      	tmp = x;
      end
      
      code[x_, y_, z_, t_, a_, b_] := x
      
      \begin{array}{l}
      
      \\
      x
      \end{array}
      
      Derivation
      1. Initial program 57.7%

        \[x + \frac{y \cdot \left(\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b\right)}{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771} \]
      2. Add Preprocessing
      3. Taylor expanded in x around inf

        \[\leadsto \color{blue}{x} \]
      4. Step-by-step derivation
        1. Simplified45.2%

          \[\leadsto \color{blue}{x} \]
        2. Add Preprocessing

        Developer Target 1: 98.5% accurate, 0.8× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} t_1 := x + \left(\left(3.13060547623 - \frac{36.527041698806414}{z}\right) + \frac{t}{z \cdot z}\right) \cdot \frac{y}{1}\\ \mathbf{if}\;z < -6.499344996252632 \cdot 10^{+53}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;z < 7.066965436914287 \cdot 10^{+59}:\\ \;\;\;\;x + \frac{y}{\frac{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771}{\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b}}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
        (FPCore (x y z t a b)
         :precision binary64
         (let* ((t_1
                 (+
                  x
                  (*
                   (+ (- 3.13060547623 (/ 36.527041698806414 z)) (/ t (* z z)))
                   (/ y 1.0)))))
           (if (< z -6.499344996252632e+53)
             t_1
             (if (< z 7.066965436914287e+59)
               (+
                x
                (/
                 y
                 (/
                  (+
                   (*
                    (+ (* (+ (* (+ z 15.234687407) z) 31.4690115749) z) 11.9400905721)
                    z)
                   0.607771387771)
                  (+
                   (* (+ (* (+ (* (+ (* z 3.13060547623) 11.1667541262) z) t) z) a) z)
                   b))))
               t_1))))
        double code(double x, double y, double z, double t, double a, double b) {
        	double t_1 = x + (((3.13060547623 - (36.527041698806414 / z)) + (t / (z * z))) * (y / 1.0));
        	double tmp;
        	if (z < -6.499344996252632e+53) {
        		tmp = t_1;
        	} else if (z < 7.066965436914287e+59) {
        		tmp = x + (y / ((((((((z + 15.234687407) * z) + 31.4690115749) * z) + 11.9400905721) * z) + 0.607771387771) / ((((((((z * 3.13060547623) + 11.1667541262) * z) + t) * z) + a) * z) + b)));
        	} else {
        		tmp = t_1;
        	}
        	return tmp;
        }
        
        real(8) function code(x, y, z, t, a, b)
            real(8), intent (in) :: x
            real(8), intent (in) :: y
            real(8), intent (in) :: z
            real(8), intent (in) :: t
            real(8), intent (in) :: a
            real(8), intent (in) :: b
            real(8) :: t_1
            real(8) :: tmp
            t_1 = x + (((3.13060547623d0 - (36.527041698806414d0 / z)) + (t / (z * z))) * (y / 1.0d0))
            if (z < (-6.499344996252632d+53)) then
                tmp = t_1
            else if (z < 7.066965436914287d+59) then
                tmp = x + (y / ((((((((z + 15.234687407d0) * z) + 31.4690115749d0) * z) + 11.9400905721d0) * z) + 0.607771387771d0) / ((((((((z * 3.13060547623d0) + 11.1667541262d0) * z) + t) * z) + a) * z) + b)))
            else
                tmp = t_1
            end if
            code = tmp
        end function
        
        public static double code(double x, double y, double z, double t, double a, double b) {
        	double t_1 = x + (((3.13060547623 - (36.527041698806414 / z)) + (t / (z * z))) * (y / 1.0));
        	double tmp;
        	if (z < -6.499344996252632e+53) {
        		tmp = t_1;
        	} else if (z < 7.066965436914287e+59) {
        		tmp = x + (y / ((((((((z + 15.234687407) * z) + 31.4690115749) * z) + 11.9400905721) * z) + 0.607771387771) / ((((((((z * 3.13060547623) + 11.1667541262) * z) + t) * z) + a) * z) + b)));
        	} else {
        		tmp = t_1;
        	}
        	return tmp;
        }
        
        def code(x, y, z, t, a, b):
        	t_1 = x + (((3.13060547623 - (36.527041698806414 / z)) + (t / (z * z))) * (y / 1.0))
        	tmp = 0
        	if z < -6.499344996252632e+53:
        		tmp = t_1
        	elif z < 7.066965436914287e+59:
        		tmp = x + (y / ((((((((z + 15.234687407) * z) + 31.4690115749) * z) + 11.9400905721) * z) + 0.607771387771) / ((((((((z * 3.13060547623) + 11.1667541262) * z) + t) * z) + a) * z) + b)))
        	else:
        		tmp = t_1
        	return tmp
        
        function code(x, y, z, t, a, b)
        	t_1 = Float64(x + Float64(Float64(Float64(3.13060547623 - Float64(36.527041698806414 / z)) + Float64(t / Float64(z * z))) * Float64(y / 1.0)))
        	tmp = 0.0
        	if (z < -6.499344996252632e+53)
        		tmp = t_1;
        	elseif (z < 7.066965436914287e+59)
        		tmp = Float64(x + Float64(y / Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(z + 15.234687407) * z) + 31.4690115749) * z) + 11.9400905721) * z) + 0.607771387771) / Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(z * 3.13060547623) + 11.1667541262) * z) + t) * z) + a) * z) + b))));
        	else
        		tmp = t_1;
        	end
        	return tmp
        end
        
        function tmp_2 = code(x, y, z, t, a, b)
        	t_1 = x + (((3.13060547623 - (36.527041698806414 / z)) + (t / (z * z))) * (y / 1.0));
        	tmp = 0.0;
        	if (z < -6.499344996252632e+53)
        		tmp = t_1;
        	elseif (z < 7.066965436914287e+59)
        		tmp = x + (y / ((((((((z + 15.234687407) * z) + 31.4690115749) * z) + 11.9400905721) * z) + 0.607771387771) / ((((((((z * 3.13060547623) + 11.1667541262) * z) + t) * z) + a) * z) + b)));
        	else
        		tmp = t_1;
        	end
        	tmp_2 = tmp;
        end
        
        code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x + N[(N[(N[(3.13060547623 - N[(36.527041698806414 / z), $MachinePrecision]), $MachinePrecision] + N[(t / N[(z * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(y / 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Less[z, -6.499344996252632e+53], t$95$1, If[Less[z, 7.066965436914287e+59], N[(x + N[(y / N[(N[(N[(N[(N[(N[(N[(N[(z + 15.234687407), $MachinePrecision] * z), $MachinePrecision] + 31.4690115749), $MachinePrecision] * z), $MachinePrecision] + 11.9400905721), $MachinePrecision] * z), $MachinePrecision] + 0.607771387771), $MachinePrecision] / N[(N[(N[(N[(N[(N[(N[(N[(z * 3.13060547623), $MachinePrecision] + 11.1667541262), $MachinePrecision] * z), $MachinePrecision] + t), $MachinePrecision] * z), $MachinePrecision] + a), $MachinePrecision] * z), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        t_1 := x + \left(\left(3.13060547623 - \frac{36.527041698806414}{z}\right) + \frac{t}{z \cdot z}\right) \cdot \frac{y}{1}\\
        \mathbf{if}\;z < -6.499344996252632 \cdot 10^{+53}:\\
        \;\;\;\;t\_1\\
        
        \mathbf{elif}\;z < 7.066965436914287 \cdot 10^{+59}:\\
        \;\;\;\;x + \frac{y}{\frac{\left(\left(\left(z + 15.234687407\right) \cdot z + 31.4690115749\right) \cdot z + 11.9400905721\right) \cdot z + 0.607771387771}{\left(\left(\left(z \cdot 3.13060547623 + 11.1667541262\right) \cdot z + t\right) \cdot z + a\right) \cdot z + b}}\\
        
        \mathbf{else}:\\
        \;\;\;\;t\_1\\
        
        
        \end{array}
        \end{array}
        

        Reproduce

        ?
        herbie shell --seed 2024191 
        (FPCore (x y z t a b)
          :name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2, D"
          :precision binary64
        
          :alt
          (! :herbie-platform default (if (< z -649934499625263200000000000000000000000000000000000000) (+ x (* (+ (- 313060547623/100000000000 (/ 18263520849403207/500000000000000 z)) (/ t (* z z))) (/ y 1))) (if (< z 706696543691428700000000000000000000000000000000000000000000) (+ x (/ y (/ (+ (* (+ (* (+ (* (+ z 15234687407/1000000000) z) 314690115749/10000000000) z) 119400905721/10000000000) z) 607771387771/1000000000000) (+ (* (+ (* (+ (* (+ (* z 313060547623/100000000000) 55833770631/5000000000) z) t) z) a) z) b)))) (+ x (* (+ (- 313060547623/100000000000 (/ 18263520849403207/500000000000000 z)) (/ t (* z z))) (/ y 1))))))
        
          (+ x (/ (* y (+ (* (+ (* (+ (* (+ (* z 3.13060547623) 11.1667541262) z) t) z) a) z) b)) (+ (* (+ (* (+ (* (+ z 15.234687407) z) 31.4690115749) z) 11.9400905721) z) 0.607771387771))))