Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2

Percentage Accurate: 56.6% → 85.8%
Time: 25.8s
Alternatives: 16
Speedup: 1.2×

Specification

?
\[\begin{array}{l} \\ \frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \end{array} \]
(FPCore (x y z t a b c i)
 :precision binary64
 (/
  (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t)
  (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	return ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i);
}
real(8) function code(x, y, z, t, a, b, c, i)
    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), intent (in) :: c
    real(8), intent (in) :: i
    code = ((((((((x * y) + z) * y) + 27464.7644705d0) * y) + 230661.510616d0) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i)
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	return ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i);
}
def code(x, y, z, t, a, b, c, i):
	return ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i)
function code(x, y, z, t, a, b, c, i)
	return Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / Float64(Float64(Float64(Float64(Float64(Float64(Float64(y + a) * y) + b) * y) + c) * y) + i))
end
function tmp = code(x, y, z, t, a, b, c, i)
	tmp = ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i);
end
code[x_, y_, z_, t_, a_, b_, c_, i_] := N[(N[(N[(N[(N[(N[(N[(N[(N[(x * y), $MachinePrecision] + z), $MachinePrecision] * y), $MachinePrecision] + 27464.7644705), $MachinePrecision] * y), $MachinePrecision] + 230661.510616), $MachinePrecision] * y), $MachinePrecision] + t), $MachinePrecision] / N[(N[(N[(N[(N[(N[(N[(y + a), $MachinePrecision] * y), $MachinePrecision] + b), $MachinePrecision] * y), $MachinePrecision] + c), $MachinePrecision] * y), $MachinePrecision] + i), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\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 16 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: 56.6% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \end{array} \]
(FPCore (x y z t a b c i)
 :precision binary64
 (/
  (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t)
  (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	return ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i);
}
real(8) function code(x, y, z, t, a, b, c, i)
    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), intent (in) :: c
    real(8), intent (in) :: i
    code = ((((((((x * y) + z) * y) + 27464.7644705d0) * y) + 230661.510616d0) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i)
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	return ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i);
}
def code(x, y, z, t, a, b, c, i):
	return ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i)
function code(x, y, z, t, a, b, c, i)
	return Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / Float64(Float64(Float64(Float64(Float64(Float64(Float64(y + a) * y) + b) * y) + c) * y) + i))
end
function tmp = code(x, y, z, t, a, b, c, i)
	tmp = ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i);
end
code[x_, y_, z_, t_, a_, b_, c_, i_] := N[(N[(N[(N[(N[(N[(N[(N[(N[(x * y), $MachinePrecision] + z), $MachinePrecision] * y), $MachinePrecision] + 27464.7644705), $MachinePrecision] * y), $MachinePrecision] + 230661.510616), $MachinePrecision] * y), $MachinePrecision] + t), $MachinePrecision] / N[(N[(N[(N[(N[(N[(N[(y + a), $MachinePrecision] * y), $MachinePrecision] + b), $MachinePrecision] * y), $MachinePrecision] + c), $MachinePrecision] * y), $MachinePrecision] + i), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\end{array}

Alternative 1: 85.8% accurate, 0.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := b + y \cdot \left(y + a\right)\\ t_2 := y \cdot t\_1\\ t_3 := c + t\_2\\ t_4 := {t\_3}^{2}\\ t_5 := x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \frac{b}{\frac{{y}^{2}}{x}}\right)\\ t_6 := y \cdot t\_3\\ t_7 := y \cdot \left(z + y \cdot x\right)\\ t_8 := {t\_1}^{2}\\ t_9 := \left(230661.510616 \cdot \frac{1}{t\_2} + \frac{27464.7644705 + t\_7}{t\_1}\right) - c \cdot \left(230661.510616 \cdot \frac{1}{{y}^{2} \cdot t\_8} + \left(27464.7644705 \cdot \frac{1}{y \cdot t\_8} + \left(\frac{z}{t\_8} + \frac{y \cdot x}{t\_8}\right)\right)\right)\\ \mathbf{if}\;y \leq -1.8 \cdot 10^{+111}:\\ \;\;\;\;t\_5\\ \mathbf{elif}\;y \leq -8.5 \cdot 10^{+36}:\\ \;\;\;\;\left(\frac{t}{t\_6} + t\_9\right) - i \cdot \left(230661.510616 \cdot \frac{1}{y \cdot t\_4} + \left(27464.7644705 \cdot \frac{1}{t\_4} + \left(\frac{t}{{y}^{2} \cdot t\_4} + \frac{t\_7}{t\_4}\right)\right)\right)\\ \mathbf{elif}\;y \leq 1.15 \cdot 10^{+22}:\\ \;\;\;\;\frac{t + \left(y \cdot \left(y \cdot \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.7644705\right)\right) + y \cdot 230661.510616\right)}{i + t\_6}\\ \mathbf{elif}\;y \leq 5.9 \cdot 10^{+106}:\\ \;\;\;\;t\_9\\ \mathbf{else}:\\ \;\;\;\;t\_5\\ \end{array} \end{array} \]
(FPCore (x y z t a b c i)
 :precision binary64
 (let* ((t_1 (+ b (* y (+ y a))))
        (t_2 (* y t_1))
        (t_3 (+ c t_2))
        (t_4 (pow t_3 2.0))
        (t_5
         (+
          x
          (-
           (+ (/ z y) (/ 27464.7644705 (pow y 2.0)))
           (/ b (/ (pow y 2.0) x)))))
        (t_6 (* y t_3))
        (t_7 (* y (+ z (* y x))))
        (t_8 (pow t_1 2.0))
        (t_9
         (-
          (+ (* 230661.510616 (/ 1.0 t_2)) (/ (+ 27464.7644705 t_7) t_1))
          (*
           c
           (+
            (* 230661.510616 (/ 1.0 (* (pow y 2.0) t_8)))
            (+
             (* 27464.7644705 (/ 1.0 (* y t_8)))
             (+ (/ z t_8) (/ (* y x) t_8))))))))
   (if (<= y -1.8e+111)
     t_5
     (if (<= y -8.5e+36)
       (-
        (+ (/ t t_6) t_9)
        (*
         i
         (+
          (* 230661.510616 (/ 1.0 (* y t_4)))
          (+
           (* 27464.7644705 (/ 1.0 t_4))
           (+ (/ t (* (pow y 2.0) t_4)) (/ t_7 t_4))))))
       (if (<= y 1.15e+22)
         (/
          (+
           t
           (+
            (* y (* y (fma y (fma x y z) 27464.7644705)))
            (* y 230661.510616)))
          (+ i t_6))
         (if (<= y 5.9e+106) t_9 t_5))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double t_1 = b + (y * (y + a));
	double t_2 = y * t_1;
	double t_3 = c + t_2;
	double t_4 = pow(t_3, 2.0);
	double t_5 = x + (((z / y) + (27464.7644705 / pow(y, 2.0))) - (b / (pow(y, 2.0) / x)));
	double t_6 = y * t_3;
	double t_7 = y * (z + (y * x));
	double t_8 = pow(t_1, 2.0);
	double t_9 = ((230661.510616 * (1.0 / t_2)) + ((27464.7644705 + t_7) / t_1)) - (c * ((230661.510616 * (1.0 / (pow(y, 2.0) * t_8))) + ((27464.7644705 * (1.0 / (y * t_8))) + ((z / t_8) + ((y * x) / t_8)))));
	double tmp;
	if (y <= -1.8e+111) {
		tmp = t_5;
	} else if (y <= -8.5e+36) {
		tmp = ((t / t_6) + t_9) - (i * ((230661.510616 * (1.0 / (y * t_4))) + ((27464.7644705 * (1.0 / t_4)) + ((t / (pow(y, 2.0) * t_4)) + (t_7 / t_4)))));
	} else if (y <= 1.15e+22) {
		tmp = (t + ((y * (y * fma(y, fma(x, y, z), 27464.7644705))) + (y * 230661.510616))) / (i + t_6);
	} else if (y <= 5.9e+106) {
		tmp = t_9;
	} else {
		tmp = t_5;
	}
	return tmp;
}
function code(x, y, z, t, a, b, c, i)
	t_1 = Float64(b + Float64(y * Float64(y + a)))
	t_2 = Float64(y * t_1)
	t_3 = Float64(c + t_2)
	t_4 = t_3 ^ 2.0
	t_5 = Float64(x + Float64(Float64(Float64(z / y) + Float64(27464.7644705 / (y ^ 2.0))) - Float64(b / Float64((y ^ 2.0) / x))))
	t_6 = Float64(y * t_3)
	t_7 = Float64(y * Float64(z + Float64(y * x)))
	t_8 = t_1 ^ 2.0
	t_9 = Float64(Float64(Float64(230661.510616 * Float64(1.0 / t_2)) + Float64(Float64(27464.7644705 + t_7) / t_1)) - Float64(c * Float64(Float64(230661.510616 * Float64(1.0 / Float64((y ^ 2.0) * t_8))) + Float64(Float64(27464.7644705 * Float64(1.0 / Float64(y * t_8))) + Float64(Float64(z / t_8) + Float64(Float64(y * x) / t_8))))))
	tmp = 0.0
	if (y <= -1.8e+111)
		tmp = t_5;
	elseif (y <= -8.5e+36)
		tmp = Float64(Float64(Float64(t / t_6) + t_9) - Float64(i * Float64(Float64(230661.510616 * Float64(1.0 / Float64(y * t_4))) + Float64(Float64(27464.7644705 * Float64(1.0 / t_4)) + Float64(Float64(t / Float64((y ^ 2.0) * t_4)) + Float64(t_7 / t_4))))));
	elseif (y <= 1.15e+22)
		tmp = Float64(Float64(t + Float64(Float64(y * Float64(y * fma(y, fma(x, y, z), 27464.7644705))) + Float64(y * 230661.510616))) / Float64(i + t_6));
	elseif (y <= 5.9e+106)
		tmp = t_9;
	else
		tmp = t_5;
	end
	return tmp
end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(b + N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y * t$95$1), $MachinePrecision]}, Block[{t$95$3 = N[(c + t$95$2), $MachinePrecision]}, Block[{t$95$4 = N[Power[t$95$3, 2.0], $MachinePrecision]}, Block[{t$95$5 = N[(x + N[(N[(N[(z / y), $MachinePrecision] + N[(27464.7644705 / N[Power[y, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b / N[(N[Power[y, 2.0], $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(y * t$95$3), $MachinePrecision]}, Block[{t$95$7 = N[(y * N[(z + N[(y * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$8 = N[Power[t$95$1, 2.0], $MachinePrecision]}, Block[{t$95$9 = N[(N[(N[(230661.510616 * N[(1.0 / t$95$2), $MachinePrecision]), $MachinePrecision] + N[(N[(27464.7644705 + t$95$7), $MachinePrecision] / t$95$1), $MachinePrecision]), $MachinePrecision] - N[(c * N[(N[(230661.510616 * N[(1.0 / N[(N[Power[y, 2.0], $MachinePrecision] * t$95$8), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(27464.7644705 * N[(1.0 / N[(y * t$95$8), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(z / t$95$8), $MachinePrecision] + N[(N[(y * x), $MachinePrecision] / t$95$8), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -1.8e+111], t$95$5, If[LessEqual[y, -8.5e+36], N[(N[(N[(t / t$95$6), $MachinePrecision] + t$95$9), $MachinePrecision] - N[(i * N[(N[(230661.510616 * N[(1.0 / N[(y * t$95$4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(27464.7644705 * N[(1.0 / t$95$4), $MachinePrecision]), $MachinePrecision] + N[(N[(t / N[(N[Power[y, 2.0], $MachinePrecision] * t$95$4), $MachinePrecision]), $MachinePrecision] + N[(t$95$7 / t$95$4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.15e+22], N[(N[(t + N[(N[(y * N[(y * N[(y * N[(x * y + z), $MachinePrecision] + 27464.7644705), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y * 230661.510616), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(i + t$95$6), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 5.9e+106], t$95$9, t$95$5]]]]]]]]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := b + y \cdot \left(y + a\right)\\
t_2 := y \cdot t\_1\\
t_3 := c + t\_2\\
t_4 := {t\_3}^{2}\\
t_5 := x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \frac{b}{\frac{{y}^{2}}{x}}\right)\\
t_6 := y \cdot t\_3\\
t_7 := y \cdot \left(z + y \cdot x\right)\\
t_8 := {t\_1}^{2}\\
t_9 := \left(230661.510616 \cdot \frac{1}{t\_2} + \frac{27464.7644705 + t\_7}{t\_1}\right) - c \cdot \left(230661.510616 \cdot \frac{1}{{y}^{2} \cdot t\_8} + \left(27464.7644705 \cdot \frac{1}{y \cdot t\_8} + \left(\frac{z}{t\_8} + \frac{y \cdot x}{t\_8}\right)\right)\right)\\
\mathbf{if}\;y \leq -1.8 \cdot 10^{+111}:\\
\;\;\;\;t\_5\\

\mathbf{elif}\;y \leq -8.5 \cdot 10^{+36}:\\
\;\;\;\;\left(\frac{t}{t\_6} + t\_9\right) - i \cdot \left(230661.510616 \cdot \frac{1}{y \cdot t\_4} + \left(27464.7644705 \cdot \frac{1}{t\_4} + \left(\frac{t}{{y}^{2} \cdot t\_4} + \frac{t\_7}{t\_4}\right)\right)\right)\\

\mathbf{elif}\;y \leq 1.15 \cdot 10^{+22}:\\
\;\;\;\;\frac{t + \left(y \cdot \left(y \cdot \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.7644705\right)\right) + y \cdot 230661.510616\right)}{i + t\_6}\\

\mathbf{elif}\;y \leq 5.9 \cdot 10^{+106}:\\
\;\;\;\;t\_9\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if y < -1.8000000000000001e111 or 5.90000000000000027e106 < y

    1. Initial program 1.3%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around inf 68.5%

      \[\leadsto \color{blue}{\left(x + \left(27464.7644705 \cdot \frac{1}{{y}^{2}} + \frac{z}{y}\right)\right) - \left(\frac{a \cdot x}{y} + \left(\frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}} + \frac{b \cdot x}{{y}^{2}}\right)\right)} \]
    4. Step-by-step derivation
      1. +-commutative68.5%

        \[\leadsto \left(x + \color{blue}{\left(\frac{z}{y} + 27464.7644705 \cdot \frac{1}{{y}^{2}}\right)}\right) - \left(\frac{a \cdot x}{y} + \left(\frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}} + \frac{b \cdot x}{{y}^{2}}\right)\right) \]
      2. associate-*r/68.5%

        \[\leadsto \left(x + \left(\frac{z}{y} + \color{blue}{\frac{27464.7644705 \cdot 1}{{y}^{2}}}\right)\right) - \left(\frac{a \cdot x}{y} + \left(\frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}} + \frac{b \cdot x}{{y}^{2}}\right)\right) \]
      3. metadata-eval68.5%

        \[\leadsto \left(x + \left(\frac{z}{y} + \frac{\color{blue}{27464.7644705}}{{y}^{2}}\right)\right) - \left(\frac{a \cdot x}{y} + \left(\frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}} + \frac{b \cdot x}{{y}^{2}}\right)\right) \]
      4. associate-+r+68.5%

        \[\leadsto \left(x + \left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right)\right) - \color{blue}{\left(\left(\frac{a \cdot x}{y} + \frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}}\right) + \frac{b \cdot x}{{y}^{2}}\right)} \]
      5. associate-/l*74.9%

        \[\leadsto \left(x + \left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right)\right) - \left(\left(\frac{a \cdot x}{y} + \frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}}\right) + \color{blue}{\frac{b}{\frac{{y}^{2}}{x}}}\right) \]
    5. Simplified74.9%

      \[\leadsto \color{blue}{\left(x + \left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right)\right) - \left(\left(\frac{a \cdot x}{y} + \frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}}\right) + \frac{b}{\frac{{y}^{2}}{x}}\right)} \]
    6. Taylor expanded in a around 0 74.8%

      \[\leadsto \color{blue}{\left(x + \left(27464.7644705 \cdot \frac{1}{{y}^{2}} + \frac{z}{y}\right)\right) - \frac{b \cdot x}{{y}^{2}}} \]
    7. Step-by-step derivation
      1. associate--l+74.8%

        \[\leadsto \color{blue}{x + \left(\left(27464.7644705 \cdot \frac{1}{{y}^{2}} + \frac{z}{y}\right) - \frac{b \cdot x}{{y}^{2}}\right)} \]
      2. +-commutative74.8%

        \[\leadsto x + \left(\color{blue}{\left(\frac{z}{y} + 27464.7644705 \cdot \frac{1}{{y}^{2}}\right)} - \frac{b \cdot x}{{y}^{2}}\right) \]
      3. associate-*r/74.8%

        \[\leadsto x + \left(\left(\frac{z}{y} + \color{blue}{\frac{27464.7644705 \cdot 1}{{y}^{2}}}\right) - \frac{b \cdot x}{{y}^{2}}\right) \]
      4. metadata-eval74.8%

        \[\leadsto x + \left(\left(\frac{z}{y} + \frac{\color{blue}{27464.7644705}}{{y}^{2}}\right) - \frac{b \cdot x}{{y}^{2}}\right) \]
      5. associate-/l*82.6%

        \[\leadsto x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \color{blue}{\frac{b}{\frac{{y}^{2}}{x}}}\right) \]
    8. Simplified82.6%

      \[\leadsto \color{blue}{x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \frac{b}{\frac{{y}^{2}}{x}}\right)} \]

    if -1.8000000000000001e111 < y < -8.50000000000000014e36

    1. Initial program 10.1%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in i around 0 29.1%

      \[\leadsto \color{blue}{-1 \cdot \left(i \cdot \left(230661.510616 \cdot \frac{1}{y \cdot {\left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)}^{2}} + \left(27464.7644705 \cdot \frac{1}{{\left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)}^{2}} + \left(\frac{t}{{y}^{2} \cdot {\left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)}^{2}} + \frac{y \cdot \left(z + x \cdot y\right)}{{\left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)}^{2}}\right)\right)\right)\right) + \left(\frac{t}{y \cdot \left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)} + \frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + x \cdot y\right)\right)}{c + y \cdot \left(b + y \cdot \left(a + y\right)\right)}\right)} \]
    4. Taylor expanded in c around 0 60.1%

      \[\leadsto -1 \cdot \left(i \cdot \left(230661.510616 \cdot \frac{1}{y \cdot {\left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)}^{2}} + \left(27464.7644705 \cdot \frac{1}{{\left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)}^{2}} + \left(\frac{t}{{y}^{2} \cdot {\left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)}^{2}} + \frac{y \cdot \left(z + x \cdot y\right)}{{\left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)}^{2}}\right)\right)\right)\right) + \left(\frac{t}{y \cdot \left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)} + \color{blue}{\left(-1 \cdot \left(c \cdot \left(230661.510616 \cdot \frac{1}{{y}^{2} \cdot {\left(b + y \cdot \left(a + y\right)\right)}^{2}} + \left(27464.7644705 \cdot \frac{1}{y \cdot {\left(b + y \cdot \left(a + y\right)\right)}^{2}} + \left(\frac{z}{{\left(b + y \cdot \left(a + y\right)\right)}^{2}} + \frac{x \cdot y}{{\left(b + y \cdot \left(a + y\right)\right)}^{2}}\right)\right)\right)\right) + \left(230661.510616 \cdot \frac{1}{y \cdot \left(b + y \cdot \left(a + y\right)\right)} + \frac{27464.7644705 + y \cdot \left(z + x \cdot y\right)}{b + y \cdot \left(a + y\right)}\right)\right)}\right) \]

    if -8.50000000000000014e36 < y < 1.1500000000000001e22

    1. Initial program 98.2%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Step-by-step derivation
      1. *-commutative98.2%

        \[\leadsto \frac{\color{blue}{y \cdot \left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right)} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
      2. distribute-rgt-in98.3%

        \[\leadsto \frac{\color{blue}{\left(\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y\right) \cdot y + 230661.510616 \cdot y\right)} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
      3. *-commutative98.3%

        \[\leadsto \frac{\left(\color{blue}{\left(y \cdot \left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right)\right)} \cdot y + 230661.510616 \cdot y\right) + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
      4. *-commutative98.3%

        \[\leadsto \frac{\left(\left(y \cdot \left(\color{blue}{y \cdot \left(x \cdot y + z\right)} + 27464.7644705\right)\right) \cdot y + 230661.510616 \cdot y\right) + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
      5. fma-def98.3%

        \[\leadsto \frac{\left(\left(y \cdot \color{blue}{\mathsf{fma}\left(y, x \cdot y + z, 27464.7644705\right)}\right) \cdot y + 230661.510616 \cdot y\right) + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
      6. fma-def98.3%

        \[\leadsto \frac{\left(\left(y \cdot \mathsf{fma}\left(y, \color{blue}{\mathsf{fma}\left(x, y, z\right)}, 27464.7644705\right)\right) \cdot y + 230661.510616 \cdot y\right) + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    4. Applied egg-rr98.3%

      \[\leadsto \frac{\color{blue}{\left(\left(y \cdot \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.7644705\right)\right) \cdot y + 230661.510616 \cdot y\right)} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]

    if 1.1500000000000001e22 < y < 5.90000000000000027e106

    1. Initial program 9.9%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in i around 0 9.7%

      \[\leadsto \color{blue}{\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + x \cdot y\right)\right)\right)}{y \cdot \left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)}} \]
    4. Taylor expanded in t around 0 28.7%

      \[\leadsto \color{blue}{\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + x \cdot y\right)\right)}{c + y \cdot \left(b + y \cdot \left(a + y\right)\right)}} \]
    5. Taylor expanded in c around 0 50.8%

      \[\leadsto \color{blue}{-1 \cdot \left(c \cdot \left(230661.510616 \cdot \frac{1}{{y}^{2} \cdot {\left(b + y \cdot \left(a + y\right)\right)}^{2}} + \left(27464.7644705 \cdot \frac{1}{y \cdot {\left(b + y \cdot \left(a + y\right)\right)}^{2}} + \left(\frac{z}{{\left(b + y \cdot \left(a + y\right)\right)}^{2}} + \frac{x \cdot y}{{\left(b + y \cdot \left(a + y\right)\right)}^{2}}\right)\right)\right)\right) + \left(230661.510616 \cdot \frac{1}{y \cdot \left(b + y \cdot \left(a + y\right)\right)} + \frac{27464.7644705 + y \cdot \left(z + x \cdot y\right)}{b + y \cdot \left(a + y\right)}\right)} \]
  3. Recombined 4 regimes into one program.
  4. Final simplification86.6%

    \[\leadsto \begin{array}{l} \mathbf{if}\;y \leq -1.8 \cdot 10^{+111}:\\ \;\;\;\;x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \frac{b}{\frac{{y}^{2}}{x}}\right)\\ \mathbf{elif}\;y \leq -8.5 \cdot 10^{+36}:\\ \;\;\;\;\left(\frac{t}{y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)} + \left(\left(230661.510616 \cdot \frac{1}{y \cdot \left(b + y \cdot \left(y + a\right)\right)} + \frac{27464.7644705 + y \cdot \left(z + y \cdot x\right)}{b + y \cdot \left(y + a\right)}\right) - c \cdot \left(230661.510616 \cdot \frac{1}{{y}^{2} \cdot {\left(b + y \cdot \left(y + a\right)\right)}^{2}} + \left(27464.7644705 \cdot \frac{1}{y \cdot {\left(b + y \cdot \left(y + a\right)\right)}^{2}} + \left(\frac{z}{{\left(b + y \cdot \left(y + a\right)\right)}^{2}} + \frac{y \cdot x}{{\left(b + y \cdot \left(y + a\right)\right)}^{2}}\right)\right)\right)\right)\right) - i \cdot \left(230661.510616 \cdot \frac{1}{y \cdot {\left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}^{2}} + \left(27464.7644705 \cdot \frac{1}{{\left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}^{2}} + \left(\frac{t}{{y}^{2} \cdot {\left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}^{2}} + \frac{y \cdot \left(z + y \cdot x\right)}{{\left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}^{2}}\right)\right)\right)\\ \mathbf{elif}\;y \leq 1.15 \cdot 10^{+22}:\\ \;\;\;\;\frac{t + \left(y \cdot \left(y \cdot \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.7644705\right)\right) + y \cdot 230661.510616\right)}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\ \mathbf{elif}\;y \leq 5.9 \cdot 10^{+106}:\\ \;\;\;\;\left(230661.510616 \cdot \frac{1}{y \cdot \left(b + y \cdot \left(y + a\right)\right)} + \frac{27464.7644705 + y \cdot \left(z + y \cdot x\right)}{b + y \cdot \left(y + a\right)}\right) - c \cdot \left(230661.510616 \cdot \frac{1}{{y}^{2} \cdot {\left(b + y \cdot \left(y + a\right)\right)}^{2}} + \left(27464.7644705 \cdot \frac{1}{y \cdot {\left(b + y \cdot \left(y + a\right)\right)}^{2}} + \left(\frac{z}{{\left(b + y \cdot \left(y + a\right)\right)}^{2}} + \frac{y \cdot x}{{\left(b + y \cdot \left(y + a\right)\right)}^{2}}\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \frac{b}{\frac{{y}^{2}}{x}}\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 2: 85.7% accurate, 0.1× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \frac{b}{\frac{{y}^{2}}{x}}\right)\\ t_2 := b + y \cdot \left(y + a\right)\\ t_3 := {t\_2}^{2}\\ t_4 := y \cdot t\_2\\ \mathbf{if}\;y \leq -1.46 \cdot 10^{+51}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;y \leq 1.15 \cdot 10^{+22}:\\ \;\;\;\;\frac{t + \left(y \cdot \left(y \cdot \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.7644705\right)\right) + y \cdot 230661.510616\right)}{i + y \cdot \left(c + t\_4\right)}\\ \mathbf{elif}\;y \leq 2.35 \cdot 10^{+106}:\\ \;\;\;\;\left(230661.510616 \cdot \frac{1}{t\_4} + \frac{27464.7644705 + y \cdot \left(z + y \cdot x\right)}{t\_2}\right) - c \cdot \left(230661.510616 \cdot \frac{1}{{y}^{2} \cdot t\_3} + \left(27464.7644705 \cdot \frac{1}{y \cdot t\_3} + \left(\frac{z}{t\_3} + \frac{y \cdot x}{t\_3}\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (x y z t a b c i)
 :precision binary64
 (let* ((t_1
         (+
          x
          (-
           (+ (/ z y) (/ 27464.7644705 (pow y 2.0)))
           (/ b (/ (pow y 2.0) x)))))
        (t_2 (+ b (* y (+ y a))))
        (t_3 (pow t_2 2.0))
        (t_4 (* y t_2)))
   (if (<= y -1.46e+51)
     t_1
     (if (<= y 1.15e+22)
       (/
        (+
         t
         (+ (* y (* y (fma y (fma x y z) 27464.7644705))) (* y 230661.510616)))
        (+ i (* y (+ c t_4))))
       (if (<= y 2.35e+106)
         (-
          (+
           (* 230661.510616 (/ 1.0 t_4))
           (/ (+ 27464.7644705 (* y (+ z (* y x)))) t_2))
          (*
           c
           (+
            (* 230661.510616 (/ 1.0 (* (pow y 2.0) t_3)))
            (+
             (* 27464.7644705 (/ 1.0 (* y t_3)))
             (+ (/ z t_3) (/ (* y x) t_3))))))
         t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double t_1 = x + (((z / y) + (27464.7644705 / pow(y, 2.0))) - (b / (pow(y, 2.0) / x)));
	double t_2 = b + (y * (y + a));
	double t_3 = pow(t_2, 2.0);
	double t_4 = y * t_2;
	double tmp;
	if (y <= -1.46e+51) {
		tmp = t_1;
	} else if (y <= 1.15e+22) {
		tmp = (t + ((y * (y * fma(y, fma(x, y, z), 27464.7644705))) + (y * 230661.510616))) / (i + (y * (c + t_4)));
	} else if (y <= 2.35e+106) {
		tmp = ((230661.510616 * (1.0 / t_4)) + ((27464.7644705 + (y * (z + (y * x)))) / t_2)) - (c * ((230661.510616 * (1.0 / (pow(y, 2.0) * t_3))) + ((27464.7644705 * (1.0 / (y * t_3))) + ((z / t_3) + ((y * x) / t_3)))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
function code(x, y, z, t, a, b, c, i)
	t_1 = Float64(x + Float64(Float64(Float64(z / y) + Float64(27464.7644705 / (y ^ 2.0))) - Float64(b / Float64((y ^ 2.0) / x))))
	t_2 = Float64(b + Float64(y * Float64(y + a)))
	t_3 = t_2 ^ 2.0
	t_4 = Float64(y * t_2)
	tmp = 0.0
	if (y <= -1.46e+51)
		tmp = t_1;
	elseif (y <= 1.15e+22)
		tmp = Float64(Float64(t + Float64(Float64(y * Float64(y * fma(y, fma(x, y, z), 27464.7644705))) + Float64(y * 230661.510616))) / Float64(i + Float64(y * Float64(c + t_4))));
	elseif (y <= 2.35e+106)
		tmp = Float64(Float64(Float64(230661.510616 * Float64(1.0 / t_4)) + Float64(Float64(27464.7644705 + Float64(y * Float64(z + Float64(y * x)))) / t_2)) - Float64(c * Float64(Float64(230661.510616 * Float64(1.0 / Float64((y ^ 2.0) * t_3))) + Float64(Float64(27464.7644705 * Float64(1.0 / Float64(y * t_3))) + Float64(Float64(z / t_3) + Float64(Float64(y * x) / t_3))))));
	else
		tmp = t_1;
	end
	return tmp
end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(x + N[(N[(N[(z / y), $MachinePrecision] + N[(27464.7644705 / N[Power[y, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b / N[(N[Power[y, 2.0], $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(b + N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[Power[t$95$2, 2.0], $MachinePrecision]}, Block[{t$95$4 = N[(y * t$95$2), $MachinePrecision]}, If[LessEqual[y, -1.46e+51], t$95$1, If[LessEqual[y, 1.15e+22], N[(N[(t + N[(N[(y * N[(y * N[(y * N[(x * y + z), $MachinePrecision] + 27464.7644705), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y * 230661.510616), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * N[(c + t$95$4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.35e+106], N[(N[(N[(230661.510616 * N[(1.0 / t$95$4), $MachinePrecision]), $MachinePrecision] + N[(N[(27464.7644705 + N[(y * N[(z + N[(y * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$2), $MachinePrecision]), $MachinePrecision] - N[(c * N[(N[(230661.510616 * N[(1.0 / N[(N[Power[y, 2.0], $MachinePrecision] * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(27464.7644705 * N[(1.0 / N[(y * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(z / t$95$3), $MachinePrecision] + N[(N[(y * x), $MachinePrecision] / t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \frac{b}{\frac{{y}^{2}}{x}}\right)\\
t_2 := b + y \cdot \left(y + a\right)\\
t_3 := {t\_2}^{2}\\
t_4 := y \cdot t\_2\\
\mathbf{if}\;y \leq -1.46 \cdot 10^{+51}:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;y \leq 1.15 \cdot 10^{+22}:\\
\;\;\;\;\frac{t + \left(y \cdot \left(y \cdot \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.7644705\right)\right) + y \cdot 230661.510616\right)}{i + y \cdot \left(c + t\_4\right)}\\

\mathbf{elif}\;y \leq 2.35 \cdot 10^{+106}:\\
\;\;\;\;\left(230661.510616 \cdot \frac{1}{t\_4} + \frac{27464.7644705 + y \cdot \left(z + y \cdot x\right)}{t\_2}\right) - c \cdot \left(230661.510616 \cdot \frac{1}{{y}^{2} \cdot t\_3} + \left(27464.7644705 \cdot \frac{1}{y \cdot t\_3} + \left(\frac{z}{t\_3} + \frac{y \cdot x}{t\_3}\right)\right)\right)\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if y < -1.4600000000000001e51 or 2.35000000000000012e106 < y

    1. Initial program 2.5%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around inf 63.4%

      \[\leadsto \color{blue}{\left(x + \left(27464.7644705 \cdot \frac{1}{{y}^{2}} + \frac{z}{y}\right)\right) - \left(\frac{a \cdot x}{y} + \left(\frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}} + \frac{b \cdot x}{{y}^{2}}\right)\right)} \]
    4. Step-by-step derivation
      1. +-commutative63.4%

        \[\leadsto \left(x + \color{blue}{\left(\frac{z}{y} + 27464.7644705 \cdot \frac{1}{{y}^{2}}\right)}\right) - \left(\frac{a \cdot x}{y} + \left(\frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}} + \frac{b \cdot x}{{y}^{2}}\right)\right) \]
      2. associate-*r/63.5%

        \[\leadsto \left(x + \left(\frac{z}{y} + \color{blue}{\frac{27464.7644705 \cdot 1}{{y}^{2}}}\right)\right) - \left(\frac{a \cdot x}{y} + \left(\frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}} + \frac{b \cdot x}{{y}^{2}}\right)\right) \]
      3. metadata-eval63.5%

        \[\leadsto \left(x + \left(\frac{z}{y} + \frac{\color{blue}{27464.7644705}}{{y}^{2}}\right)\right) - \left(\frac{a \cdot x}{y} + \left(\frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}} + \frac{b \cdot x}{{y}^{2}}\right)\right) \]
      4. associate-+r+63.5%

        \[\leadsto \left(x + \left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right)\right) - \color{blue}{\left(\left(\frac{a \cdot x}{y} + \frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}}\right) + \frac{b \cdot x}{{y}^{2}}\right)} \]
      5. associate-/l*69.0%

        \[\leadsto \left(x + \left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right)\right) - \left(\left(\frac{a \cdot x}{y} + \frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}}\right) + \color{blue}{\frac{b}{\frac{{y}^{2}}{x}}}\right) \]
    5. Simplified69.0%

      \[\leadsto \color{blue}{\left(x + \left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right)\right) - \left(\left(\frac{a \cdot x}{y} + \frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}}\right) + \frac{b}{\frac{{y}^{2}}{x}}\right)} \]
    6. Taylor expanded in a around 0 69.0%

      \[\leadsto \color{blue}{\left(x + \left(27464.7644705 \cdot \frac{1}{{y}^{2}} + \frac{z}{y}\right)\right) - \frac{b \cdot x}{{y}^{2}}} \]
    7. Step-by-step derivation
      1. associate--l+69.0%

        \[\leadsto \color{blue}{x + \left(\left(27464.7644705 \cdot \frac{1}{{y}^{2}} + \frac{z}{y}\right) - \frac{b \cdot x}{{y}^{2}}\right)} \]
      2. +-commutative69.0%

        \[\leadsto x + \left(\color{blue}{\left(\frac{z}{y} + 27464.7644705 \cdot \frac{1}{{y}^{2}}\right)} - \frac{b \cdot x}{{y}^{2}}\right) \]
      3. associate-*r/69.1%

        \[\leadsto x + \left(\left(\frac{z}{y} + \color{blue}{\frac{27464.7644705 \cdot 1}{{y}^{2}}}\right) - \frac{b \cdot x}{{y}^{2}}\right) \]
      4. metadata-eval69.1%

        \[\leadsto x + \left(\left(\frac{z}{y} + \frac{\color{blue}{27464.7644705}}{{y}^{2}}\right) - \frac{b \cdot x}{{y}^{2}}\right) \]
      5. associate-/l*75.8%

        \[\leadsto x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \color{blue}{\frac{b}{\frac{{y}^{2}}{x}}}\right) \]
    8. Simplified75.8%

      \[\leadsto \color{blue}{x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \frac{b}{\frac{{y}^{2}}{x}}\right)} \]

    if -1.4600000000000001e51 < y < 1.1500000000000001e22

    1. Initial program 96.9%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Step-by-step derivation
      1. *-commutative96.9%

        \[\leadsto \frac{\color{blue}{y \cdot \left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right)} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
      2. distribute-rgt-in96.9%

        \[\leadsto \frac{\color{blue}{\left(\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y\right) \cdot y + 230661.510616 \cdot y\right)} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
      3. *-commutative96.9%

        \[\leadsto \frac{\left(\color{blue}{\left(y \cdot \left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right)\right)} \cdot y + 230661.510616 \cdot y\right) + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
      4. *-commutative96.9%

        \[\leadsto \frac{\left(\left(y \cdot \left(\color{blue}{y \cdot \left(x \cdot y + z\right)} + 27464.7644705\right)\right) \cdot y + 230661.510616 \cdot y\right) + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
      5. fma-def96.9%

        \[\leadsto \frac{\left(\left(y \cdot \color{blue}{\mathsf{fma}\left(y, x \cdot y + z, 27464.7644705\right)}\right) \cdot y + 230661.510616 \cdot y\right) + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
      6. fma-def96.9%

        \[\leadsto \frac{\left(\left(y \cdot \mathsf{fma}\left(y, \color{blue}{\mathsf{fma}\left(x, y, z\right)}, 27464.7644705\right)\right) \cdot y + 230661.510616 \cdot y\right) + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    4. Applied egg-rr96.9%

      \[\leadsto \frac{\color{blue}{\left(\left(y \cdot \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.7644705\right)\right) \cdot y + 230661.510616 \cdot y\right)} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]

    if 1.1500000000000001e22 < y < 2.35000000000000012e106

    1. Initial program 9.9%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in i around 0 9.7%

      \[\leadsto \color{blue}{\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + x \cdot y\right)\right)\right)}{y \cdot \left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)}} \]
    4. Taylor expanded in t around 0 28.7%

      \[\leadsto \color{blue}{\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + x \cdot y\right)\right)}{c + y \cdot \left(b + y \cdot \left(a + y\right)\right)}} \]
    5. Taylor expanded in c around 0 50.8%

      \[\leadsto \color{blue}{-1 \cdot \left(c \cdot \left(230661.510616 \cdot \frac{1}{{y}^{2} \cdot {\left(b + y \cdot \left(a + y\right)\right)}^{2}} + \left(27464.7644705 \cdot \frac{1}{y \cdot {\left(b + y \cdot \left(a + y\right)\right)}^{2}} + \left(\frac{z}{{\left(b + y \cdot \left(a + y\right)\right)}^{2}} + \frac{x \cdot y}{{\left(b + y \cdot \left(a + y\right)\right)}^{2}}\right)\right)\right)\right) + \left(230661.510616 \cdot \frac{1}{y \cdot \left(b + y \cdot \left(a + y\right)\right)} + \frac{27464.7644705 + y \cdot \left(z + x \cdot y\right)}{b + y \cdot \left(a + y\right)}\right)} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification84.8%

    \[\leadsto \begin{array}{l} \mathbf{if}\;y \leq -1.46 \cdot 10^{+51}:\\ \;\;\;\;x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \frac{b}{\frac{{y}^{2}}{x}}\right)\\ \mathbf{elif}\;y \leq 1.15 \cdot 10^{+22}:\\ \;\;\;\;\frac{t + \left(y \cdot \left(y \cdot \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.7644705\right)\right) + y \cdot 230661.510616\right)}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\ \mathbf{elif}\;y \leq 2.35 \cdot 10^{+106}:\\ \;\;\;\;\left(230661.510616 \cdot \frac{1}{y \cdot \left(b + y \cdot \left(y + a\right)\right)} + \frac{27464.7644705 + y \cdot \left(z + y \cdot x\right)}{b + y \cdot \left(y + a\right)}\right) - c \cdot \left(230661.510616 \cdot \frac{1}{{y}^{2} \cdot {\left(b + y \cdot \left(y + a\right)\right)}^{2}} + \left(27464.7644705 \cdot \frac{1}{y \cdot {\left(b + y \cdot \left(y + a\right)\right)}^{2}} + \left(\frac{z}{{\left(b + y \cdot \left(y + a\right)\right)}^{2}} + \frac{y \cdot x}{{\left(b + y \cdot \left(y + a\right)\right)}^{2}}\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \frac{b}{\frac{{y}^{2}}{x}}\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 3: 84.1% accurate, 0.1× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)\\ \mathbf{if}\;\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)\right)}{t\_1} \leq \infty:\\ \;\;\;\;\frac{t + \left(y \cdot \left(y \cdot \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.7644705\right)\right) + y \cdot 230661.510616\right)}{t\_1}\\ \mathbf{else}:\\ \;\;\;\;x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \frac{b}{\frac{{y}^{2}}{x}}\right)\\ \end{array} \end{array} \]
(FPCore (x y z t a b c i)
 :precision binary64
 (let* ((t_1 (+ i (* y (+ c (* y (+ b (* y (+ y a)))))))))
   (if (<=
        (/
         (+
          t
          (* y (+ 230661.510616 (* y (+ 27464.7644705 (* y (+ z (* y x))))))))
         t_1)
        INFINITY)
     (/
      (+
       t
       (+ (* y (* y (fma y (fma x y z) 27464.7644705))) (* y 230661.510616)))
      t_1)
     (+
      x
      (- (+ (/ z y) (/ 27464.7644705 (pow y 2.0))) (/ b (/ (pow y 2.0) x)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double t_1 = i + (y * (c + (y * (b + (y * (y + a))))));
	double tmp;
	if (((t + (y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))))) / t_1) <= ((double) INFINITY)) {
		tmp = (t + ((y * (y * fma(y, fma(x, y, z), 27464.7644705))) + (y * 230661.510616))) / t_1;
	} else {
		tmp = x + (((z / y) + (27464.7644705 / pow(y, 2.0))) - (b / (pow(y, 2.0) / x)));
	}
	return tmp;
}
function code(x, y, z, t, a, b, c, i)
	t_1 = Float64(i + Float64(y * Float64(c + Float64(y * Float64(b + Float64(y * Float64(y + a)))))))
	tmp = 0.0
	if (Float64(Float64(t + Float64(y * Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(y * Float64(z + Float64(y * x)))))))) / t_1) <= Inf)
		tmp = Float64(Float64(t + Float64(Float64(y * Float64(y * fma(y, fma(x, y, z), 27464.7644705))) + Float64(y * 230661.510616))) / t_1);
	else
		tmp = Float64(x + Float64(Float64(Float64(z / y) + Float64(27464.7644705 / (y ^ 2.0))) - Float64(b / Float64((y ^ 2.0) / x))));
	end
	return tmp
end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(i + N[(y * N[(c + N[(y * N[(b + N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(N[(t + N[(y * N[(230661.510616 + N[(y * N[(27464.7644705 + N[(y * N[(z + N[(y * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$1), $MachinePrecision], Infinity], N[(N[(t + N[(N[(y * N[(y * N[(y * N[(x * y + z), $MachinePrecision] + 27464.7644705), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y * 230661.510616), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$1), $MachinePrecision], N[(x + N[(N[(N[(z / y), $MachinePrecision] + N[(27464.7644705 / N[Power[y, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b / N[(N[Power[y, 2.0], $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)\\
\mathbf{if}\;\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)\right)}{t\_1} \leq \infty:\\
\;\;\;\;\frac{t + \left(y \cdot \left(y \cdot \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.7644705\right)\right) + y \cdot 230661.510616\right)}{t\_1}\\

\mathbf{else}:\\
\;\;\;\;x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \frac{b}{\frac{{y}^{2}}{x}}\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 y a) y) b) y) c) y) i)) < +inf.0

    1. Initial program 87.3%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Step-by-step derivation
      1. *-commutative87.3%

        \[\leadsto \frac{\color{blue}{y \cdot \left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right)} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
      2. distribute-rgt-in87.3%

        \[\leadsto \frac{\color{blue}{\left(\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y\right) \cdot y + 230661.510616 \cdot y\right)} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
      3. *-commutative87.3%

        \[\leadsto \frac{\left(\color{blue}{\left(y \cdot \left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right)\right)} \cdot y + 230661.510616 \cdot y\right) + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
      4. *-commutative87.3%

        \[\leadsto \frac{\left(\left(y \cdot \left(\color{blue}{y \cdot \left(x \cdot y + z\right)} + 27464.7644705\right)\right) \cdot y + 230661.510616 \cdot y\right) + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
      5. fma-def87.3%

        \[\leadsto \frac{\left(\left(y \cdot \color{blue}{\mathsf{fma}\left(y, x \cdot y + z, 27464.7644705\right)}\right) \cdot y + 230661.510616 \cdot y\right) + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
      6. fma-def87.3%

        \[\leadsto \frac{\left(\left(y \cdot \mathsf{fma}\left(y, \color{blue}{\mathsf{fma}\left(x, y, z\right)}, 27464.7644705\right)\right) \cdot y + 230661.510616 \cdot y\right) + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    4. Applied egg-rr87.3%

      \[\leadsto \frac{\color{blue}{\left(\left(y \cdot \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.7644705\right)\right) \cdot y + 230661.510616 \cdot y\right)} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]

    if +inf.0 < (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 y a) y) b) y) c) y) i))

    1. Initial program 0.0%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around inf 56.4%

      \[\leadsto \color{blue}{\left(x + \left(27464.7644705 \cdot \frac{1}{{y}^{2}} + \frac{z}{y}\right)\right) - \left(\frac{a \cdot x}{y} + \left(\frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}} + \frac{b \cdot x}{{y}^{2}}\right)\right)} \]
    4. Step-by-step derivation
      1. +-commutative56.4%

        \[\leadsto \left(x + \color{blue}{\left(\frac{z}{y} + 27464.7644705 \cdot \frac{1}{{y}^{2}}\right)}\right) - \left(\frac{a \cdot x}{y} + \left(\frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}} + \frac{b \cdot x}{{y}^{2}}\right)\right) \]
      2. associate-*r/56.4%

        \[\leadsto \left(x + \left(\frac{z}{y} + \color{blue}{\frac{27464.7644705 \cdot 1}{{y}^{2}}}\right)\right) - \left(\frac{a \cdot x}{y} + \left(\frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}} + \frac{b \cdot x}{{y}^{2}}\right)\right) \]
      3. metadata-eval56.4%

        \[\leadsto \left(x + \left(\frac{z}{y} + \frac{\color{blue}{27464.7644705}}{{y}^{2}}\right)\right) - \left(\frac{a \cdot x}{y} + \left(\frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}} + \frac{b \cdot x}{{y}^{2}}\right)\right) \]
      4. associate-+r+56.4%

        \[\leadsto \left(x + \left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right)\right) - \color{blue}{\left(\left(\frac{a \cdot x}{y} + \frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}}\right) + \frac{b \cdot x}{{y}^{2}}\right)} \]
      5. associate-/l*61.6%

        \[\leadsto \left(x + \left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right)\right) - \left(\left(\frac{a \cdot x}{y} + \frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}}\right) + \color{blue}{\frac{b}{\frac{{y}^{2}}{x}}}\right) \]
    5. Simplified61.6%

      \[\leadsto \color{blue}{\left(x + \left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right)\right) - \left(\left(\frac{a \cdot x}{y} + \frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}}\right) + \frac{b}{\frac{{y}^{2}}{x}}\right)} \]
    6. Taylor expanded in a around 0 61.7%

      \[\leadsto \color{blue}{\left(x + \left(27464.7644705 \cdot \frac{1}{{y}^{2}} + \frac{z}{y}\right)\right) - \frac{b \cdot x}{{y}^{2}}} \]
    7. Step-by-step derivation
      1. associate--l+61.7%

        \[\leadsto \color{blue}{x + \left(\left(27464.7644705 \cdot \frac{1}{{y}^{2}} + \frac{z}{y}\right) - \frac{b \cdot x}{{y}^{2}}\right)} \]
      2. +-commutative61.7%

        \[\leadsto x + \left(\color{blue}{\left(\frac{z}{y} + 27464.7644705 \cdot \frac{1}{{y}^{2}}\right)} - \frac{b \cdot x}{{y}^{2}}\right) \]
      3. associate-*r/61.7%

        \[\leadsto x + \left(\left(\frac{z}{y} + \color{blue}{\frac{27464.7644705 \cdot 1}{{y}^{2}}}\right) - \frac{b \cdot x}{{y}^{2}}\right) \]
      4. metadata-eval61.7%

        \[\leadsto x + \left(\left(\frac{z}{y} + \frac{\color{blue}{27464.7644705}}{{y}^{2}}\right) - \frac{b \cdot x}{{y}^{2}}\right) \]
      5. associate-/l*68.1%

        \[\leadsto x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \color{blue}{\frac{b}{\frac{{y}^{2}}{x}}}\right) \]
    8. Simplified68.1%

      \[\leadsto \color{blue}{x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \frac{b}{\frac{{y}^{2}}{x}}\right)} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification80.2%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)\right)}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)} \leq \infty:\\ \;\;\;\;\frac{t + \left(y \cdot \left(y \cdot \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.7644705\right)\right) + y \cdot 230661.510616\right)}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \frac{b}{\frac{{y}^{2}}{x}}\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 4: 84.1% accurate, 0.1× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)\right)}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\ \mathbf{if}\;t\_1 \leq \infty:\\ \;\;\;\;t\_1\\ \mathbf{else}:\\ \;\;\;\;x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \frac{b}{\frac{{y}^{2}}{x}}\right)\\ \end{array} \end{array} \]
(FPCore (x y z t a b c i)
 :precision binary64
 (let* ((t_1
         (/
          (+
           t
           (* y (+ 230661.510616 (* y (+ 27464.7644705 (* y (+ z (* y x))))))))
          (+ i (* y (+ c (* y (+ b (* y (+ y a))))))))))
   (if (<= t_1 INFINITY)
     t_1
     (+
      x
      (- (+ (/ z y) (/ 27464.7644705 (pow y 2.0))) (/ b (/ (pow y 2.0) x)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double t_1 = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))))) / (i + (y * (c + (y * (b + (y * (y + a)))))));
	double tmp;
	if (t_1 <= ((double) INFINITY)) {
		tmp = t_1;
	} else {
		tmp = x + (((z / y) + (27464.7644705 / pow(y, 2.0))) - (b / (pow(y, 2.0) / x)));
	}
	return tmp;
}
public static double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double t_1 = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))))) / (i + (y * (c + (y * (b + (y * (y + a)))))));
	double tmp;
	if (t_1 <= Double.POSITIVE_INFINITY) {
		tmp = t_1;
	} else {
		tmp = x + (((z / y) + (27464.7644705 / Math.pow(y, 2.0))) - (b / (Math.pow(y, 2.0) / x)));
	}
	return tmp;
}
def code(x, y, z, t, a, b, c, i):
	t_1 = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))))) / (i + (y * (c + (y * (b + (y * (y + a)))))))
	tmp = 0
	if t_1 <= math.inf:
		tmp = t_1
	else:
		tmp = x + (((z / y) + (27464.7644705 / math.pow(y, 2.0))) - (b / (math.pow(y, 2.0) / x)))
	return tmp
function code(x, y, z, t, a, b, c, i)
	t_1 = Float64(Float64(t + Float64(y * Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(y * Float64(z + Float64(y * x)))))))) / Float64(i + Float64(y * Float64(c + Float64(y * Float64(b + Float64(y * Float64(y + a))))))))
	tmp = 0.0
	if (t_1 <= Inf)
		tmp = t_1;
	else
		tmp = Float64(x + Float64(Float64(Float64(z / y) + Float64(27464.7644705 / (y ^ 2.0))) - Float64(b / Float64((y ^ 2.0) / x))));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c, i)
	t_1 = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))))) / (i + (y * (c + (y * (b + (y * (y + a)))))));
	tmp = 0.0;
	if (t_1 <= Inf)
		tmp = t_1;
	else
		tmp = x + (((z / y) + (27464.7644705 / (y ^ 2.0))) - (b / ((y ^ 2.0) / x)));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(t + N[(y * N[(230661.510616 + N[(y * N[(27464.7644705 + N[(y * N[(z + N[(y * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * N[(c + N[(y * N[(b + N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, Infinity], t$95$1, N[(x + N[(N[(N[(z / y), $MachinePrecision] + N[(27464.7644705 / N[Power[y, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b / N[(N[Power[y, 2.0], $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)\right)}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\
\mathbf{if}\;t\_1 \leq \infty:\\
\;\;\;\;t\_1\\

\mathbf{else}:\\
\;\;\;\;x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \frac{b}{\frac{{y}^{2}}{x}}\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 y a) y) b) y) c) y) i)) < +inf.0

    1. Initial program 87.3%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing

    if +inf.0 < (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 y a) y) b) y) c) y) i))

    1. Initial program 0.0%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around inf 56.4%

      \[\leadsto \color{blue}{\left(x + \left(27464.7644705 \cdot \frac{1}{{y}^{2}} + \frac{z}{y}\right)\right) - \left(\frac{a \cdot x}{y} + \left(\frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}} + \frac{b \cdot x}{{y}^{2}}\right)\right)} \]
    4. Step-by-step derivation
      1. +-commutative56.4%

        \[\leadsto \left(x + \color{blue}{\left(\frac{z}{y} + 27464.7644705 \cdot \frac{1}{{y}^{2}}\right)}\right) - \left(\frac{a \cdot x}{y} + \left(\frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}} + \frac{b \cdot x}{{y}^{2}}\right)\right) \]
      2. associate-*r/56.4%

        \[\leadsto \left(x + \left(\frac{z}{y} + \color{blue}{\frac{27464.7644705 \cdot 1}{{y}^{2}}}\right)\right) - \left(\frac{a \cdot x}{y} + \left(\frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}} + \frac{b \cdot x}{{y}^{2}}\right)\right) \]
      3. metadata-eval56.4%

        \[\leadsto \left(x + \left(\frac{z}{y} + \frac{\color{blue}{27464.7644705}}{{y}^{2}}\right)\right) - \left(\frac{a \cdot x}{y} + \left(\frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}} + \frac{b \cdot x}{{y}^{2}}\right)\right) \]
      4. associate-+r+56.4%

        \[\leadsto \left(x + \left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right)\right) - \color{blue}{\left(\left(\frac{a \cdot x}{y} + \frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}}\right) + \frac{b \cdot x}{{y}^{2}}\right)} \]
      5. associate-/l*61.6%

        \[\leadsto \left(x + \left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right)\right) - \left(\left(\frac{a \cdot x}{y} + \frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}}\right) + \color{blue}{\frac{b}{\frac{{y}^{2}}{x}}}\right) \]
    5. Simplified61.6%

      \[\leadsto \color{blue}{\left(x + \left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right)\right) - \left(\left(\frac{a \cdot x}{y} + \frac{a \cdot \left(z - a \cdot x\right)}{{y}^{2}}\right) + \frac{b}{\frac{{y}^{2}}{x}}\right)} \]
    6. Taylor expanded in a around 0 61.7%

      \[\leadsto \color{blue}{\left(x + \left(27464.7644705 \cdot \frac{1}{{y}^{2}} + \frac{z}{y}\right)\right) - \frac{b \cdot x}{{y}^{2}}} \]
    7. Step-by-step derivation
      1. associate--l+61.7%

        \[\leadsto \color{blue}{x + \left(\left(27464.7644705 \cdot \frac{1}{{y}^{2}} + \frac{z}{y}\right) - \frac{b \cdot x}{{y}^{2}}\right)} \]
      2. +-commutative61.7%

        \[\leadsto x + \left(\color{blue}{\left(\frac{z}{y} + 27464.7644705 \cdot \frac{1}{{y}^{2}}\right)} - \frac{b \cdot x}{{y}^{2}}\right) \]
      3. associate-*r/61.7%

        \[\leadsto x + \left(\left(\frac{z}{y} + \color{blue}{\frac{27464.7644705 \cdot 1}{{y}^{2}}}\right) - \frac{b \cdot x}{{y}^{2}}\right) \]
      4. metadata-eval61.7%

        \[\leadsto x + \left(\left(\frac{z}{y} + \frac{\color{blue}{27464.7644705}}{{y}^{2}}\right) - \frac{b \cdot x}{{y}^{2}}\right) \]
      5. associate-/l*68.1%

        \[\leadsto x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \color{blue}{\frac{b}{\frac{{y}^{2}}{x}}}\right) \]
    8. Simplified68.1%

      \[\leadsto \color{blue}{x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \frac{b}{\frac{{y}^{2}}{x}}\right)} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification80.2%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)\right)}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)} \leq \infty:\\ \;\;\;\;\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)\right)}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;x + \left(\left(\frac{z}{y} + \frac{27464.7644705}{{y}^{2}}\right) - \frac{b}{\frac{{y}^{2}}{x}}\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 5: 81.8% accurate, 0.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)\right)}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\ \mathbf{if}\;t\_1 \leq 5 \cdot 10^{+293}:\\ \;\;\;\;t\_1\\ \mathbf{else}:\\ \;\;\;\;x + \frac{z - x \cdot a}{y}\\ \end{array} \end{array} \]
(FPCore (x y z t a b c i)
 :precision binary64
 (let* ((t_1
         (/
          (+
           t
           (* y (+ 230661.510616 (* y (+ 27464.7644705 (* y (+ z (* y x))))))))
          (+ i (* y (+ c (* y (+ b (* y (+ y a))))))))))
   (if (<= t_1 5e+293) t_1 (+ x (/ (- z (* x a)) y)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double t_1 = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))))) / (i + (y * (c + (y * (b + (y * (y + a)))))));
	double tmp;
	if (t_1 <= 5e+293) {
		tmp = t_1;
	} else {
		tmp = x + ((z - (x * a)) / y);
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
    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), intent (in) :: c
    real(8), intent (in) :: i
    real(8) :: t_1
    real(8) :: tmp
    t_1 = (t + (y * (230661.510616d0 + (y * (27464.7644705d0 + (y * (z + (y * x)))))))) / (i + (y * (c + (y * (b + (y * (y + a)))))))
    if (t_1 <= 5d+293) then
        tmp = t_1
    else
        tmp = x + ((z - (x * a)) / y)
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double t_1 = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))))) / (i + (y * (c + (y * (b + (y * (y + a)))))));
	double tmp;
	if (t_1 <= 5e+293) {
		tmp = t_1;
	} else {
		tmp = x + ((z - (x * a)) / y);
	}
	return tmp;
}
def code(x, y, z, t, a, b, c, i):
	t_1 = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))))) / (i + (y * (c + (y * (b + (y * (y + a)))))))
	tmp = 0
	if t_1 <= 5e+293:
		tmp = t_1
	else:
		tmp = x + ((z - (x * a)) / y)
	return tmp
function code(x, y, z, t, a, b, c, i)
	t_1 = Float64(Float64(t + Float64(y * Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(y * Float64(z + Float64(y * x)))))))) / Float64(i + Float64(y * Float64(c + Float64(y * Float64(b + Float64(y * Float64(y + a))))))))
	tmp = 0.0
	if (t_1 <= 5e+293)
		tmp = t_1;
	else
		tmp = Float64(x + Float64(Float64(z - Float64(x * a)) / y));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c, i)
	t_1 = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))))) / (i + (y * (c + (y * (b + (y * (y + a)))))));
	tmp = 0.0;
	if (t_1 <= 5e+293)
		tmp = t_1;
	else
		tmp = x + ((z - (x * a)) / y);
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(t + N[(y * N[(230661.510616 + N[(y * N[(27464.7644705 + N[(y * N[(z + N[(y * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * N[(c + N[(y * N[(b + N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, 5e+293], t$95$1, N[(x + N[(N[(z - N[(x * a), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)\right)}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\
\mathbf{if}\;t\_1 \leq 5 \cdot 10^{+293}:\\
\;\;\;\;t\_1\\

\mathbf{else}:\\
\;\;\;\;x + \frac{z - x \cdot a}{y}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 y a) y) b) y) c) y) i)) < 5.00000000000000033e293

    1. Initial program 90.2%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing

    if 5.00000000000000033e293 < (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 y a) y) b) y) c) y) i))

    1. Initial program 4.1%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around -inf 65.3%

      \[\leadsto \color{blue}{x + -1 \cdot \frac{-1 \cdot z - -1 \cdot \left(a \cdot x\right)}{y}} \]
    4. Step-by-step derivation
      1. mul-1-neg65.3%

        \[\leadsto x + \color{blue}{\left(-\frac{-1 \cdot z - -1 \cdot \left(a \cdot x\right)}{y}\right)} \]
      2. distribute-lft-out--65.3%

        \[\leadsto x + \left(-\frac{\color{blue}{-1 \cdot \left(z - a \cdot x\right)}}{y}\right) \]
    5. Simplified65.3%

      \[\leadsto \color{blue}{x + \left(-\frac{-1 \cdot \left(z - a \cdot x\right)}{y}\right)} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification80.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)\right)}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)} \leq 5 \cdot 10^{+293}:\\ \;\;\;\;\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)\right)}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;x + \frac{z - x \cdot a}{y}\\ \end{array} \]
  5. Add Preprocessing

Alternative 6: 76.6% accurate, 0.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\\ t_2 := \frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)}{t\_1}\\ t_3 := \left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \mathbf{if}\;y \leq -4.2 \cdot 10^{+59}:\\ \;\;\;\;t\_3\\ \mathbf{elif}\;y \leq -3.1 \cdot 10^{-53}:\\ \;\;\;\;t\_2\\ \mathbf{elif}\;y \leq 5.1 \cdot 10^{-8}:\\ \;\;\;\;\frac{t + y \cdot 230661.510616}{i + y \cdot t\_1}\\ \mathbf{elif}\;y \leq 5.4 \cdot 10^{+72}:\\ \;\;\;\;t\_2\\ \mathbf{else}:\\ \;\;\;\;t\_3\\ \end{array} \end{array} \]
(FPCore (x y z t a b c i)
 :precision binary64
 (let* ((t_1 (+ c (* y (+ b (* y (+ y a))))))
        (t_2
         (/ (+ 230661.510616 (* y (+ 27464.7644705 (* y (+ z (* y x)))))) t_1))
        (t_3 (- (+ x (/ z y)) (/ (* x a) y))))
   (if (<= y -4.2e+59)
     t_3
     (if (<= y -3.1e-53)
       t_2
       (if (<= y 5.1e-8)
         (/ (+ t (* y 230661.510616)) (+ i (* y t_1)))
         (if (<= y 5.4e+72) t_2 t_3))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double t_1 = c + (y * (b + (y * (y + a))));
	double t_2 = (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))) / t_1;
	double t_3 = (x + (z / y)) - ((x * a) / y);
	double tmp;
	if (y <= -4.2e+59) {
		tmp = t_3;
	} else if (y <= -3.1e-53) {
		tmp = t_2;
	} else if (y <= 5.1e-8) {
		tmp = (t + (y * 230661.510616)) / (i + (y * t_1));
	} else if (y <= 5.4e+72) {
		tmp = t_2;
	} else {
		tmp = t_3;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
    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), intent (in) :: c
    real(8), intent (in) :: i
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: t_3
    real(8) :: tmp
    t_1 = c + (y * (b + (y * (y + a))))
    t_2 = (230661.510616d0 + (y * (27464.7644705d0 + (y * (z + (y * x)))))) / t_1
    t_3 = (x + (z / y)) - ((x * a) / y)
    if (y <= (-4.2d+59)) then
        tmp = t_3
    else if (y <= (-3.1d-53)) then
        tmp = t_2
    else if (y <= 5.1d-8) then
        tmp = (t + (y * 230661.510616d0)) / (i + (y * t_1))
    else if (y <= 5.4d+72) then
        tmp = t_2
    else
        tmp = t_3
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double t_1 = c + (y * (b + (y * (y + a))));
	double t_2 = (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))) / t_1;
	double t_3 = (x + (z / y)) - ((x * a) / y);
	double tmp;
	if (y <= -4.2e+59) {
		tmp = t_3;
	} else if (y <= -3.1e-53) {
		tmp = t_2;
	} else if (y <= 5.1e-8) {
		tmp = (t + (y * 230661.510616)) / (i + (y * t_1));
	} else if (y <= 5.4e+72) {
		tmp = t_2;
	} else {
		tmp = t_3;
	}
	return tmp;
}
def code(x, y, z, t, a, b, c, i):
	t_1 = c + (y * (b + (y * (y + a))))
	t_2 = (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))) / t_1
	t_3 = (x + (z / y)) - ((x * a) / y)
	tmp = 0
	if y <= -4.2e+59:
		tmp = t_3
	elif y <= -3.1e-53:
		tmp = t_2
	elif y <= 5.1e-8:
		tmp = (t + (y * 230661.510616)) / (i + (y * t_1))
	elif y <= 5.4e+72:
		tmp = t_2
	else:
		tmp = t_3
	return tmp
function code(x, y, z, t, a, b, c, i)
	t_1 = Float64(c + Float64(y * Float64(b + Float64(y * Float64(y + a)))))
	t_2 = Float64(Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(y * Float64(z + Float64(y * x)))))) / t_1)
	t_3 = Float64(Float64(x + Float64(z / y)) - Float64(Float64(x * a) / y))
	tmp = 0.0
	if (y <= -4.2e+59)
		tmp = t_3;
	elseif (y <= -3.1e-53)
		tmp = t_2;
	elseif (y <= 5.1e-8)
		tmp = Float64(Float64(t + Float64(y * 230661.510616)) / Float64(i + Float64(y * t_1)));
	elseif (y <= 5.4e+72)
		tmp = t_2;
	else
		tmp = t_3;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c, i)
	t_1 = c + (y * (b + (y * (y + a))));
	t_2 = (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))) / t_1;
	t_3 = (x + (z / y)) - ((x * a) / y);
	tmp = 0.0;
	if (y <= -4.2e+59)
		tmp = t_3;
	elseif (y <= -3.1e-53)
		tmp = t_2;
	elseif (y <= 5.1e-8)
		tmp = (t + (y * 230661.510616)) / (i + (y * t_1));
	elseif (y <= 5.4e+72)
		tmp = t_2;
	else
		tmp = t_3;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(c + N[(y * N[(b + N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(230661.510616 + N[(y * N[(27464.7644705 + N[(y * N[(z + N[(y * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$1), $MachinePrecision]}, Block[{t$95$3 = N[(N[(x + N[(z / y), $MachinePrecision]), $MachinePrecision] - N[(N[(x * a), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -4.2e+59], t$95$3, If[LessEqual[y, -3.1e-53], t$95$2, If[LessEqual[y, 5.1e-8], N[(N[(t + N[(y * 230661.510616), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 5.4e+72], t$95$2, t$95$3]]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\\
t_2 := \frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)}{t\_1}\\
t_3 := \left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\
\mathbf{if}\;y \leq -4.2 \cdot 10^{+59}:\\
\;\;\;\;t\_3\\

\mathbf{elif}\;y \leq -3.1 \cdot 10^{-53}:\\
\;\;\;\;t\_2\\

\mathbf{elif}\;y \leq 5.1 \cdot 10^{-8}:\\
\;\;\;\;\frac{t + y \cdot 230661.510616}{i + y \cdot t\_1}\\

\mathbf{elif}\;y \leq 5.4 \cdot 10^{+72}:\\
\;\;\;\;t\_2\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if y < -4.19999999999999968e59 or 5.4000000000000001e72 < y

    1. Initial program 3.4%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around inf 66.3%

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

    if -4.19999999999999968e59 < y < -3.10000000000000015e-53 or 5.10000000000000001e-8 < y < 5.4000000000000001e72

    1. Initial program 60.3%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in i around 0 52.7%

      \[\leadsto \color{blue}{\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + x \cdot y\right)\right)\right)}{y \cdot \left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)}} \]
    4. Taylor expanded in t around 0 63.1%

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

    if -3.10000000000000015e-53 < y < 5.10000000000000001e-8

    1. Initial program 99.7%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around 0 93.2%

      \[\leadsto \frac{\color{blue}{230661.510616 \cdot y} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    4. Step-by-step derivation
      1. *-commutative93.2%

        \[\leadsto \frac{\color{blue}{y \cdot 230661.510616} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    5. Simplified93.2%

      \[\leadsto \frac{\color{blue}{y \cdot 230661.510616} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification77.9%

    \[\leadsto \begin{array}{l} \mathbf{if}\;y \leq -4.2 \cdot 10^{+59}:\\ \;\;\;\;\left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \mathbf{elif}\;y \leq -3.1 \cdot 10^{-53}:\\ \;\;\;\;\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)}{c + y \cdot \left(b + y \cdot \left(y + a\right)\right)}\\ \mathbf{elif}\;y \leq 5.1 \cdot 10^{-8}:\\ \;\;\;\;\frac{t + y \cdot 230661.510616}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\ \mathbf{elif}\;y \leq 5.4 \cdot 10^{+72}:\\ \;\;\;\;\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)}{c + y \cdot \left(b + y \cdot \left(y + a\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \end{array} \]
  5. Add Preprocessing

Alternative 7: 66.4% accurate, 0.8× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ t_2 := c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\\ t_3 := \frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot z\right)}{t\_2}\\ \mathbf{if}\;y \leq -1.75 \cdot 10^{+54}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;y \leq -1.6 \cdot 10^{-59}:\\ \;\;\;\;t\_3\\ \mathbf{elif}\;y \leq 7.5 \cdot 10^{-79}:\\ \;\;\;\;\frac{t}{i + y \cdot t\_2}\\ \mathbf{elif}\;y \leq 2.25 \cdot 10^{+74}:\\ \;\;\;\;t\_3\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (x y z t a b c i)
 :precision binary64
 (let* ((t_1 (- (+ x (/ z y)) (/ (* x a) y)))
        (t_2 (+ c (* y (+ b (* y (+ y a))))))
        (t_3 (/ (+ 230661.510616 (* y (+ 27464.7644705 (* y z)))) t_2)))
   (if (<= y -1.75e+54)
     t_1
     (if (<= y -1.6e-59)
       t_3
       (if (<= y 7.5e-79)
         (/ t (+ i (* y t_2)))
         (if (<= y 2.25e+74) t_3 t_1))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double t_1 = (x + (z / y)) - ((x * a) / y);
	double t_2 = c + (y * (b + (y * (y + a))));
	double t_3 = (230661.510616 + (y * (27464.7644705 + (y * z)))) / t_2;
	double tmp;
	if (y <= -1.75e+54) {
		tmp = t_1;
	} else if (y <= -1.6e-59) {
		tmp = t_3;
	} else if (y <= 7.5e-79) {
		tmp = t / (i + (y * t_2));
	} else if (y <= 2.25e+74) {
		tmp = t_3;
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
    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), intent (in) :: c
    real(8), intent (in) :: i
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: t_3
    real(8) :: tmp
    t_1 = (x + (z / y)) - ((x * a) / y)
    t_2 = c + (y * (b + (y * (y + a))))
    t_3 = (230661.510616d0 + (y * (27464.7644705d0 + (y * z)))) / t_2
    if (y <= (-1.75d+54)) then
        tmp = t_1
    else if (y <= (-1.6d-59)) then
        tmp = t_3
    else if (y <= 7.5d-79) then
        tmp = t / (i + (y * t_2))
    else if (y <= 2.25d+74) then
        tmp = t_3
    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 c, double i) {
	double t_1 = (x + (z / y)) - ((x * a) / y);
	double t_2 = c + (y * (b + (y * (y + a))));
	double t_3 = (230661.510616 + (y * (27464.7644705 + (y * z)))) / t_2;
	double tmp;
	if (y <= -1.75e+54) {
		tmp = t_1;
	} else if (y <= -1.6e-59) {
		tmp = t_3;
	} else if (y <= 7.5e-79) {
		tmp = t / (i + (y * t_2));
	} else if (y <= 2.25e+74) {
		tmp = t_3;
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(x, y, z, t, a, b, c, i):
	t_1 = (x + (z / y)) - ((x * a) / y)
	t_2 = c + (y * (b + (y * (y + a))))
	t_3 = (230661.510616 + (y * (27464.7644705 + (y * z)))) / t_2
	tmp = 0
	if y <= -1.75e+54:
		tmp = t_1
	elif y <= -1.6e-59:
		tmp = t_3
	elif y <= 7.5e-79:
		tmp = t / (i + (y * t_2))
	elif y <= 2.25e+74:
		tmp = t_3
	else:
		tmp = t_1
	return tmp
function code(x, y, z, t, a, b, c, i)
	t_1 = Float64(Float64(x + Float64(z / y)) - Float64(Float64(x * a) / y))
	t_2 = Float64(c + Float64(y * Float64(b + Float64(y * Float64(y + a)))))
	t_3 = Float64(Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(y * z)))) / t_2)
	tmp = 0.0
	if (y <= -1.75e+54)
		tmp = t_1;
	elseif (y <= -1.6e-59)
		tmp = t_3;
	elseif (y <= 7.5e-79)
		tmp = Float64(t / Float64(i + Float64(y * t_2)));
	elseif (y <= 2.25e+74)
		tmp = t_3;
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c, i)
	t_1 = (x + (z / y)) - ((x * a) / y);
	t_2 = c + (y * (b + (y * (y + a))));
	t_3 = (230661.510616 + (y * (27464.7644705 + (y * z)))) / t_2;
	tmp = 0.0;
	if (y <= -1.75e+54)
		tmp = t_1;
	elseif (y <= -1.6e-59)
		tmp = t_3;
	elseif (y <= 7.5e-79)
		tmp = t / (i + (y * t_2));
	elseif (y <= 2.25e+74)
		tmp = t_3;
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(x + N[(z / y), $MachinePrecision]), $MachinePrecision] - N[(N[(x * a), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(c + N[(y * N[(b + N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(230661.510616 + N[(y * N[(27464.7644705 + N[(y * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$2), $MachinePrecision]}, If[LessEqual[y, -1.75e+54], t$95$1, If[LessEqual[y, -1.6e-59], t$95$3, If[LessEqual[y, 7.5e-79], N[(t / N[(i + N[(y * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.25e+74], t$95$3, t$95$1]]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\
t_2 := c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\\
t_3 := \frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot z\right)}{t\_2}\\
\mathbf{if}\;y \leq -1.75 \cdot 10^{+54}:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;y \leq -1.6 \cdot 10^{-59}:\\
\;\;\;\;t\_3\\

\mathbf{elif}\;y \leq 7.5 \cdot 10^{-79}:\\
\;\;\;\;\frac{t}{i + y \cdot t\_2}\\

\mathbf{elif}\;y \leq 2.25 \cdot 10^{+74}:\\
\;\;\;\;t\_3\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if y < -1.7500000000000001e54 or 2.25e74 < y

    1. Initial program 3.5%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around inf 66.9%

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

    if -1.7500000000000001e54 < y < -1.6e-59 or 7.49999999999999969e-79 < y < 2.25e74

    1. Initial program 69.1%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in i around 0 52.2%

      \[\leadsto \color{blue}{\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + x \cdot y\right)\right)\right)}{y \cdot \left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)}} \]
    4. Taylor expanded in t around 0 57.5%

      \[\leadsto \color{blue}{\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + x \cdot y\right)\right)}{c + y \cdot \left(b + y \cdot \left(a + y\right)\right)}} \]
    5. Taylor expanded in x around 0 40.9%

      \[\leadsto \color{blue}{\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot z\right)}{c + y \cdot \left(b + y \cdot \left(a + y\right)\right)}} \]

    if -1.6e-59 < y < 7.49999999999999969e-79

    1. Initial program 99.8%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in t around inf 87.6%

      \[\leadsto \color{blue}{\frac{t}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification69.9%

    \[\leadsto \begin{array}{l} \mathbf{if}\;y \leq -1.75 \cdot 10^{+54}:\\ \;\;\;\;\left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \mathbf{elif}\;y \leq -1.6 \cdot 10^{-59}:\\ \;\;\;\;\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot z\right)}{c + y \cdot \left(b + y \cdot \left(y + a\right)\right)}\\ \mathbf{elif}\;y \leq 7.5 \cdot 10^{-79}:\\ \;\;\;\;\frac{t}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\ \mathbf{elif}\;y \leq 2.25 \cdot 10^{+74}:\\ \;\;\;\;\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot z\right)}{c + y \cdot \left(b + y \cdot \left(y + a\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \end{array} \]
  5. Add Preprocessing

Alternative 8: 79.6% accurate, 0.8× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\\ t_2 := \left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \mathbf{if}\;y \leq -1.45 \cdot 10^{+56}:\\ \;\;\;\;t\_2\\ \mathbf{elif}\;y \leq 4.1 \cdot 10^{-6}:\\ \;\;\;\;\frac{t + \left(y \cdot 230661.510616 + y \cdot \left(y \cdot \left(27464.7644705 + y \cdot z\right)\right)\right)}{i + y \cdot t\_1}\\ \mathbf{elif}\;y \leq 9.8 \cdot 10^{+70}:\\ \;\;\;\;\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)}{t\_1}\\ \mathbf{else}:\\ \;\;\;\;t\_2\\ \end{array} \end{array} \]
(FPCore (x y z t a b c i)
 :precision binary64
 (let* ((t_1 (+ c (* y (+ b (* y (+ y a))))))
        (t_2 (- (+ x (/ z y)) (/ (* x a) y))))
   (if (<= y -1.45e+56)
     t_2
     (if (<= y 4.1e-6)
       (/
        (+ t (+ (* y 230661.510616) (* y (* y (+ 27464.7644705 (* y z))))))
        (+ i (* y t_1)))
       (if (<= y 9.8e+70)
         (/ (+ 230661.510616 (* y (+ 27464.7644705 (* y (+ z (* y x)))))) t_1)
         t_2)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double t_1 = c + (y * (b + (y * (y + a))));
	double t_2 = (x + (z / y)) - ((x * a) / y);
	double tmp;
	if (y <= -1.45e+56) {
		tmp = t_2;
	} else if (y <= 4.1e-6) {
		tmp = (t + ((y * 230661.510616) + (y * (y * (27464.7644705 + (y * z)))))) / (i + (y * t_1));
	} else if (y <= 9.8e+70) {
		tmp = (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))) / t_1;
	} else {
		tmp = t_2;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
    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), intent (in) :: c
    real(8), intent (in) :: i
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: tmp
    t_1 = c + (y * (b + (y * (y + a))))
    t_2 = (x + (z / y)) - ((x * a) / y)
    if (y <= (-1.45d+56)) then
        tmp = t_2
    else if (y <= 4.1d-6) then
        tmp = (t + ((y * 230661.510616d0) + (y * (y * (27464.7644705d0 + (y * z)))))) / (i + (y * t_1))
    else if (y <= 9.8d+70) then
        tmp = (230661.510616d0 + (y * (27464.7644705d0 + (y * (z + (y * x)))))) / t_1
    else
        tmp = t_2
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double t_1 = c + (y * (b + (y * (y + a))));
	double t_2 = (x + (z / y)) - ((x * a) / y);
	double tmp;
	if (y <= -1.45e+56) {
		tmp = t_2;
	} else if (y <= 4.1e-6) {
		tmp = (t + ((y * 230661.510616) + (y * (y * (27464.7644705 + (y * z)))))) / (i + (y * t_1));
	} else if (y <= 9.8e+70) {
		tmp = (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))) / t_1;
	} else {
		tmp = t_2;
	}
	return tmp;
}
def code(x, y, z, t, a, b, c, i):
	t_1 = c + (y * (b + (y * (y + a))))
	t_2 = (x + (z / y)) - ((x * a) / y)
	tmp = 0
	if y <= -1.45e+56:
		tmp = t_2
	elif y <= 4.1e-6:
		tmp = (t + ((y * 230661.510616) + (y * (y * (27464.7644705 + (y * z)))))) / (i + (y * t_1))
	elif y <= 9.8e+70:
		tmp = (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))) / t_1
	else:
		tmp = t_2
	return tmp
function code(x, y, z, t, a, b, c, i)
	t_1 = Float64(c + Float64(y * Float64(b + Float64(y * Float64(y + a)))))
	t_2 = Float64(Float64(x + Float64(z / y)) - Float64(Float64(x * a) / y))
	tmp = 0.0
	if (y <= -1.45e+56)
		tmp = t_2;
	elseif (y <= 4.1e-6)
		tmp = Float64(Float64(t + Float64(Float64(y * 230661.510616) + Float64(y * Float64(y * Float64(27464.7644705 + Float64(y * z)))))) / Float64(i + Float64(y * t_1)));
	elseif (y <= 9.8e+70)
		tmp = Float64(Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(y * Float64(z + Float64(y * x)))))) / t_1);
	else
		tmp = t_2;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c, i)
	t_1 = c + (y * (b + (y * (y + a))));
	t_2 = (x + (z / y)) - ((x * a) / y);
	tmp = 0.0;
	if (y <= -1.45e+56)
		tmp = t_2;
	elseif (y <= 4.1e-6)
		tmp = (t + ((y * 230661.510616) + (y * (y * (27464.7644705 + (y * z)))))) / (i + (y * t_1));
	elseif (y <= 9.8e+70)
		tmp = (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))) / t_1;
	else
		tmp = t_2;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(c + N[(y * N[(b + N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x + N[(z / y), $MachinePrecision]), $MachinePrecision] - N[(N[(x * a), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -1.45e+56], t$95$2, If[LessEqual[y, 4.1e-6], N[(N[(t + N[(N[(y * 230661.510616), $MachinePrecision] + N[(y * N[(y * N[(27464.7644705 + N[(y * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 9.8e+70], N[(N[(230661.510616 + N[(y * N[(27464.7644705 + N[(y * N[(z + N[(y * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$1), $MachinePrecision], t$95$2]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\\
t_2 := \left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\
\mathbf{if}\;y \leq -1.45 \cdot 10^{+56}:\\
\;\;\;\;t\_2\\

\mathbf{elif}\;y \leq 4.1 \cdot 10^{-6}:\\
\;\;\;\;\frac{t + \left(y \cdot 230661.510616 + y \cdot \left(y \cdot \left(27464.7644705 + y \cdot z\right)\right)\right)}{i + y \cdot t\_1}\\

\mathbf{elif}\;y \leq 9.8 \cdot 10^{+70}:\\
\;\;\;\;\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)}{t\_1}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if y < -1.45000000000000004e56 or 9.80000000000000056e70 < y

    1. Initial program 3.4%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around inf 66.3%

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

    if -1.45000000000000004e56 < y < 4.0999999999999997e-6

    1. Initial program 96.9%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Step-by-step derivation
      1. *-commutative96.9%

        \[\leadsto \frac{\color{blue}{y \cdot \left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right)} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
      2. distribute-rgt-in96.9%

        \[\leadsto \frac{\color{blue}{\left(\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y\right) \cdot y + 230661.510616 \cdot y\right)} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
      3. *-commutative96.9%

        \[\leadsto \frac{\left(\color{blue}{\left(y \cdot \left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right)\right)} \cdot y + 230661.510616 \cdot y\right) + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
      4. *-commutative96.9%

        \[\leadsto \frac{\left(\left(y \cdot \left(\color{blue}{y \cdot \left(x \cdot y + z\right)} + 27464.7644705\right)\right) \cdot y + 230661.510616 \cdot y\right) + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
      5. fma-def96.9%

        \[\leadsto \frac{\left(\left(y \cdot \color{blue}{\mathsf{fma}\left(y, x \cdot y + z, 27464.7644705\right)}\right) \cdot y + 230661.510616 \cdot y\right) + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
      6. fma-def96.9%

        \[\leadsto \frac{\left(\left(y \cdot \mathsf{fma}\left(y, \color{blue}{\mathsf{fma}\left(x, y, z\right)}, 27464.7644705\right)\right) \cdot y + 230661.510616 \cdot y\right) + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    4. Applied egg-rr96.9%

      \[\leadsto \frac{\color{blue}{\left(\left(y \cdot \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.7644705\right)\right) \cdot y + 230661.510616 \cdot y\right)} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    5. Taylor expanded in x around 0 90.6%

      \[\leadsto \frac{\left(\color{blue}{\left(y \cdot \left(27464.7644705 + y \cdot z\right)\right)} \cdot y + 230661.510616 \cdot y\right) + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]

    if 4.0999999999999997e-6 < y < 9.80000000000000056e70

    1. Initial program 36.7%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in i around 0 36.4%

      \[\leadsto \color{blue}{\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + x \cdot y\right)\right)\right)}{y \cdot \left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)}} \]
    4. Taylor expanded in t around 0 59.4%

      \[\leadsto \color{blue}{\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + x \cdot y\right)\right)}{c + y \cdot \left(b + y \cdot \left(a + y\right)\right)}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification78.6%

    \[\leadsto \begin{array}{l} \mathbf{if}\;y \leq -1.45 \cdot 10^{+56}:\\ \;\;\;\;\left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \mathbf{elif}\;y \leq 4.1 \cdot 10^{-6}:\\ \;\;\;\;\frac{t + \left(y \cdot 230661.510616 + y \cdot \left(y \cdot \left(27464.7644705 + y \cdot z\right)\right)\right)}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\ \mathbf{elif}\;y \leq 9.8 \cdot 10^{+70}:\\ \;\;\;\;\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)}{c + y \cdot \left(b + y \cdot \left(y + a\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \end{array} \]
  5. Add Preprocessing

Alternative 9: 79.5% accurate, 0.8× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\\ t_2 := \left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \mathbf{if}\;y \leq -2.9 \cdot 10^{+56}:\\ \;\;\;\;t\_2\\ \mathbf{elif}\;y \leq 5 \cdot 10^{-7}:\\ \;\;\;\;\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot z\right)\right)}{i + y \cdot t\_1}\\ \mathbf{elif}\;y \leq 1.6 \cdot 10^{+73}:\\ \;\;\;\;\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)}{t\_1}\\ \mathbf{else}:\\ \;\;\;\;t\_2\\ \end{array} \end{array} \]
(FPCore (x y z t a b c i)
 :precision binary64
 (let* ((t_1 (+ c (* y (+ b (* y (+ y a))))))
        (t_2 (- (+ x (/ z y)) (/ (* x a) y))))
   (if (<= y -2.9e+56)
     t_2
     (if (<= y 5e-7)
       (/
        (+ t (* y (+ 230661.510616 (* y (+ 27464.7644705 (* y z))))))
        (+ i (* y t_1)))
       (if (<= y 1.6e+73)
         (/ (+ 230661.510616 (* y (+ 27464.7644705 (* y (+ z (* y x)))))) t_1)
         t_2)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double t_1 = c + (y * (b + (y * (y + a))));
	double t_2 = (x + (z / y)) - ((x * a) / y);
	double tmp;
	if (y <= -2.9e+56) {
		tmp = t_2;
	} else if (y <= 5e-7) {
		tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * z)))))) / (i + (y * t_1));
	} else if (y <= 1.6e+73) {
		tmp = (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))) / t_1;
	} else {
		tmp = t_2;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
    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), intent (in) :: c
    real(8), intent (in) :: i
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: tmp
    t_1 = c + (y * (b + (y * (y + a))))
    t_2 = (x + (z / y)) - ((x * a) / y)
    if (y <= (-2.9d+56)) then
        tmp = t_2
    else if (y <= 5d-7) then
        tmp = (t + (y * (230661.510616d0 + (y * (27464.7644705d0 + (y * z)))))) / (i + (y * t_1))
    else if (y <= 1.6d+73) then
        tmp = (230661.510616d0 + (y * (27464.7644705d0 + (y * (z + (y * x)))))) / t_1
    else
        tmp = t_2
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double t_1 = c + (y * (b + (y * (y + a))));
	double t_2 = (x + (z / y)) - ((x * a) / y);
	double tmp;
	if (y <= -2.9e+56) {
		tmp = t_2;
	} else if (y <= 5e-7) {
		tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * z)))))) / (i + (y * t_1));
	} else if (y <= 1.6e+73) {
		tmp = (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))) / t_1;
	} else {
		tmp = t_2;
	}
	return tmp;
}
def code(x, y, z, t, a, b, c, i):
	t_1 = c + (y * (b + (y * (y + a))))
	t_2 = (x + (z / y)) - ((x * a) / y)
	tmp = 0
	if y <= -2.9e+56:
		tmp = t_2
	elif y <= 5e-7:
		tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * z)))))) / (i + (y * t_1))
	elif y <= 1.6e+73:
		tmp = (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))) / t_1
	else:
		tmp = t_2
	return tmp
function code(x, y, z, t, a, b, c, i)
	t_1 = Float64(c + Float64(y * Float64(b + Float64(y * Float64(y + a)))))
	t_2 = Float64(Float64(x + Float64(z / y)) - Float64(Float64(x * a) / y))
	tmp = 0.0
	if (y <= -2.9e+56)
		tmp = t_2;
	elseif (y <= 5e-7)
		tmp = Float64(Float64(t + Float64(y * Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(y * z)))))) / Float64(i + Float64(y * t_1)));
	elseif (y <= 1.6e+73)
		tmp = Float64(Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(y * Float64(z + Float64(y * x)))))) / t_1);
	else
		tmp = t_2;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c, i)
	t_1 = c + (y * (b + (y * (y + a))));
	t_2 = (x + (z / y)) - ((x * a) / y);
	tmp = 0.0;
	if (y <= -2.9e+56)
		tmp = t_2;
	elseif (y <= 5e-7)
		tmp = (t + (y * (230661.510616 + (y * (27464.7644705 + (y * z)))))) / (i + (y * t_1));
	elseif (y <= 1.6e+73)
		tmp = (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))) / t_1;
	else
		tmp = t_2;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(c + N[(y * N[(b + N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x + N[(z / y), $MachinePrecision]), $MachinePrecision] - N[(N[(x * a), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -2.9e+56], t$95$2, If[LessEqual[y, 5e-7], N[(N[(t + N[(y * N[(230661.510616 + N[(y * N[(27464.7644705 + N[(y * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.6e+73], N[(N[(230661.510616 + N[(y * N[(27464.7644705 + N[(y * N[(z + N[(y * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$1), $MachinePrecision], t$95$2]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\\
t_2 := \left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\
\mathbf{if}\;y \leq -2.9 \cdot 10^{+56}:\\
\;\;\;\;t\_2\\

\mathbf{elif}\;y \leq 5 \cdot 10^{-7}:\\
\;\;\;\;\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot z\right)\right)}{i + y \cdot t\_1}\\

\mathbf{elif}\;y \leq 1.6 \cdot 10^{+73}:\\
\;\;\;\;\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)}{t\_1}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if y < -2.90000000000000007e56 or 1.59999999999999991e73 < y

    1. Initial program 3.4%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around inf 66.3%

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

    if -2.90000000000000007e56 < y < 4.99999999999999977e-7

    1. Initial program 96.9%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in x around 0 90.6%

      \[\leadsto \frac{\left(\left(\color{blue}{y \cdot z} + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]

    if 4.99999999999999977e-7 < y < 1.59999999999999991e73

    1. Initial program 36.7%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in i around 0 36.4%

      \[\leadsto \color{blue}{\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + x \cdot y\right)\right)\right)}{y \cdot \left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)}} \]
    4. Taylor expanded in t around 0 59.4%

      \[\leadsto \color{blue}{\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + x \cdot y\right)\right)}{c + y \cdot \left(b + y \cdot \left(a + y\right)\right)}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification78.6%

    \[\leadsto \begin{array}{l} \mathbf{if}\;y \leq -2.9 \cdot 10^{+56}:\\ \;\;\;\;\left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \mathbf{elif}\;y \leq 5 \cdot 10^{-7}:\\ \;\;\;\;\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot z\right)\right)}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\ \mathbf{elif}\;y \leq 1.6 \cdot 10^{+73}:\\ \;\;\;\;\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)}{c + y \cdot \left(b + y \cdot \left(y + a\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \end{array} \]
  5. Add Preprocessing

Alternative 10: 74.1% accurate, 0.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ t_2 := c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\\ \mathbf{if}\;y \leq -1.02 \cdot 10^{+57}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;y \leq -6.2 \cdot 10^{-27}:\\ \;\;\;\;\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot z\right)}{t\_2}\\ \mathbf{elif}\;y \leq 0.025:\\ \;\;\;\;\frac{t + y \cdot 230661.510616}{i + y \cdot t\_2}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (x y z t a b c i)
 :precision binary64
 (let* ((t_1 (- (+ x (/ z y)) (/ (* x a) y)))
        (t_2 (+ c (* y (+ b (* y (+ y a)))))))
   (if (<= y -1.02e+57)
     t_1
     (if (<= y -6.2e-27)
       (/ (+ 230661.510616 (* y (+ 27464.7644705 (* y z)))) t_2)
       (if (<= y 0.025) (/ (+ t (* y 230661.510616)) (+ i (* y t_2))) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double t_1 = (x + (z / y)) - ((x * a) / y);
	double t_2 = c + (y * (b + (y * (y + a))));
	double tmp;
	if (y <= -1.02e+57) {
		tmp = t_1;
	} else if (y <= -6.2e-27) {
		tmp = (230661.510616 + (y * (27464.7644705 + (y * z)))) / t_2;
	} else if (y <= 0.025) {
		tmp = (t + (y * 230661.510616)) / (i + (y * t_2));
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
    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), intent (in) :: c
    real(8), intent (in) :: i
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: tmp
    t_1 = (x + (z / y)) - ((x * a) / y)
    t_2 = c + (y * (b + (y * (y + a))))
    if (y <= (-1.02d+57)) then
        tmp = t_1
    else if (y <= (-6.2d-27)) then
        tmp = (230661.510616d0 + (y * (27464.7644705d0 + (y * z)))) / t_2
    else if (y <= 0.025d0) then
        tmp = (t + (y * 230661.510616d0)) / (i + (y * t_2))
    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 c, double i) {
	double t_1 = (x + (z / y)) - ((x * a) / y);
	double t_2 = c + (y * (b + (y * (y + a))));
	double tmp;
	if (y <= -1.02e+57) {
		tmp = t_1;
	} else if (y <= -6.2e-27) {
		tmp = (230661.510616 + (y * (27464.7644705 + (y * z)))) / t_2;
	} else if (y <= 0.025) {
		tmp = (t + (y * 230661.510616)) / (i + (y * t_2));
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(x, y, z, t, a, b, c, i):
	t_1 = (x + (z / y)) - ((x * a) / y)
	t_2 = c + (y * (b + (y * (y + a))))
	tmp = 0
	if y <= -1.02e+57:
		tmp = t_1
	elif y <= -6.2e-27:
		tmp = (230661.510616 + (y * (27464.7644705 + (y * z)))) / t_2
	elif y <= 0.025:
		tmp = (t + (y * 230661.510616)) / (i + (y * t_2))
	else:
		tmp = t_1
	return tmp
function code(x, y, z, t, a, b, c, i)
	t_1 = Float64(Float64(x + Float64(z / y)) - Float64(Float64(x * a) / y))
	t_2 = Float64(c + Float64(y * Float64(b + Float64(y * Float64(y + a)))))
	tmp = 0.0
	if (y <= -1.02e+57)
		tmp = t_1;
	elseif (y <= -6.2e-27)
		tmp = Float64(Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(y * z)))) / t_2);
	elseif (y <= 0.025)
		tmp = Float64(Float64(t + Float64(y * 230661.510616)) / Float64(i + Float64(y * t_2)));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c, i)
	t_1 = (x + (z / y)) - ((x * a) / y);
	t_2 = c + (y * (b + (y * (y + a))));
	tmp = 0.0;
	if (y <= -1.02e+57)
		tmp = t_1;
	elseif (y <= -6.2e-27)
		tmp = (230661.510616 + (y * (27464.7644705 + (y * z)))) / t_2;
	elseif (y <= 0.025)
		tmp = (t + (y * 230661.510616)) / (i + (y * t_2));
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(x + N[(z / y), $MachinePrecision]), $MachinePrecision] - N[(N[(x * a), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(c + N[(y * N[(b + N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -1.02e+57], t$95$1, If[LessEqual[y, -6.2e-27], N[(N[(230661.510616 + N[(y * N[(27464.7644705 + N[(y * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$2), $MachinePrecision], If[LessEqual[y, 0.025], N[(N[(t + N[(y * 230661.510616), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\
t_2 := c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\\
\mathbf{if}\;y \leq -1.02 \cdot 10^{+57}:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;y \leq -6.2 \cdot 10^{-27}:\\
\;\;\;\;\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot z\right)}{t\_2}\\

\mathbf{elif}\;y \leq 0.025:\\
\;\;\;\;\frac{t + y \cdot 230661.510616}{i + y \cdot t\_2}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if y < -1.02e57 or 0.025000000000000001 < y

    1. Initial program 7.3%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around inf 61.0%

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

    if -1.02e57 < y < -6.1999999999999997e-27

    1. Initial program 74.1%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in i around 0 61.8%

      \[\leadsto \color{blue}{\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + x \cdot y\right)\right)\right)}{y \cdot \left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)}} \]
    4. Taylor expanded in t around 0 67.9%

      \[\leadsto \color{blue}{\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + x \cdot y\right)\right)}{c + y \cdot \left(b + y \cdot \left(a + y\right)\right)}} \]
    5. Taylor expanded in x around 0 48.7%

      \[\leadsto \color{blue}{\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot z\right)}{c + y \cdot \left(b + y \cdot \left(a + y\right)\right)}} \]

    if -6.1999999999999997e-27 < y < 0.025000000000000001

    1. Initial program 99.7%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around 0 90.3%

      \[\leadsto \frac{\color{blue}{230661.510616 \cdot y} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    4. Step-by-step derivation
      1. *-commutative90.3%

        \[\leadsto \frac{\color{blue}{y \cdot 230661.510616} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    5. Simplified90.3%

      \[\leadsto \frac{\color{blue}{y \cdot 230661.510616} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification74.1%

    \[\leadsto \begin{array}{l} \mathbf{if}\;y \leq -1.02 \cdot 10^{+57}:\\ \;\;\;\;\left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \mathbf{elif}\;y \leq -6.2 \cdot 10^{-27}:\\ \;\;\;\;\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot z\right)}{c + y \cdot \left(b + y \cdot \left(y + a\right)\right)}\\ \mathbf{elif}\;y \leq 0.025:\\ \;\;\;\;\frac{t + y \cdot 230661.510616}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \end{array} \]
  5. Add Preprocessing

Alternative 11: 74.7% accurate, 0.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := y \cdot \left(b + y \cdot \left(y + a\right)\right)\\ t_2 := \left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \mathbf{if}\;y \leq -2.5 \cdot 10^{+56}:\\ \;\;\;\;t\_2\\ \mathbf{elif}\;y \leq -2.3 \cdot 10^{-5}:\\ \;\;\;\;\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)}{t\_1}\\ \mathbf{elif}\;y \leq 0.025:\\ \;\;\;\;\frac{t + y \cdot 230661.510616}{i + y \cdot \left(c + t\_1\right)}\\ \mathbf{else}:\\ \;\;\;\;t\_2\\ \end{array} \end{array} \]
(FPCore (x y z t a b c i)
 :precision binary64
 (let* ((t_1 (* y (+ b (* y (+ y a))))) (t_2 (- (+ x (/ z y)) (/ (* x a) y))))
   (if (<= y -2.5e+56)
     t_2
     (if (<= y -2.3e-5)
       (/ (+ 230661.510616 (* y (+ 27464.7644705 (* y (+ z (* y x)))))) t_1)
       (if (<= y 0.025)
         (/ (+ t (* y 230661.510616)) (+ i (* y (+ c t_1))))
         t_2)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double t_1 = y * (b + (y * (y + a)));
	double t_2 = (x + (z / y)) - ((x * a) / y);
	double tmp;
	if (y <= -2.5e+56) {
		tmp = t_2;
	} else if (y <= -2.3e-5) {
		tmp = (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))) / t_1;
	} else if (y <= 0.025) {
		tmp = (t + (y * 230661.510616)) / (i + (y * (c + t_1)));
	} else {
		tmp = t_2;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
    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), intent (in) :: c
    real(8), intent (in) :: i
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: tmp
    t_1 = y * (b + (y * (y + a)))
    t_2 = (x + (z / y)) - ((x * a) / y)
    if (y <= (-2.5d+56)) then
        tmp = t_2
    else if (y <= (-2.3d-5)) then
        tmp = (230661.510616d0 + (y * (27464.7644705d0 + (y * (z + (y * x)))))) / t_1
    else if (y <= 0.025d0) then
        tmp = (t + (y * 230661.510616d0)) / (i + (y * (c + t_1)))
    else
        tmp = t_2
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double t_1 = y * (b + (y * (y + a)));
	double t_2 = (x + (z / y)) - ((x * a) / y);
	double tmp;
	if (y <= -2.5e+56) {
		tmp = t_2;
	} else if (y <= -2.3e-5) {
		tmp = (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))) / t_1;
	} else if (y <= 0.025) {
		tmp = (t + (y * 230661.510616)) / (i + (y * (c + t_1)));
	} else {
		tmp = t_2;
	}
	return tmp;
}
def code(x, y, z, t, a, b, c, i):
	t_1 = y * (b + (y * (y + a)))
	t_2 = (x + (z / y)) - ((x * a) / y)
	tmp = 0
	if y <= -2.5e+56:
		tmp = t_2
	elif y <= -2.3e-5:
		tmp = (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))) / t_1
	elif y <= 0.025:
		tmp = (t + (y * 230661.510616)) / (i + (y * (c + t_1)))
	else:
		tmp = t_2
	return tmp
function code(x, y, z, t, a, b, c, i)
	t_1 = Float64(y * Float64(b + Float64(y * Float64(y + a))))
	t_2 = Float64(Float64(x + Float64(z / y)) - Float64(Float64(x * a) / y))
	tmp = 0.0
	if (y <= -2.5e+56)
		tmp = t_2;
	elseif (y <= -2.3e-5)
		tmp = Float64(Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(y * Float64(z + Float64(y * x)))))) / t_1);
	elseif (y <= 0.025)
		tmp = Float64(Float64(t + Float64(y * 230661.510616)) / Float64(i + Float64(y * Float64(c + t_1))));
	else
		tmp = t_2;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c, i)
	t_1 = y * (b + (y * (y + a)));
	t_2 = (x + (z / y)) - ((x * a) / y);
	tmp = 0.0;
	if (y <= -2.5e+56)
		tmp = t_2;
	elseif (y <= -2.3e-5)
		tmp = (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))) / t_1;
	elseif (y <= 0.025)
		tmp = (t + (y * 230661.510616)) / (i + (y * (c + t_1)));
	else
		tmp = t_2;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(y * N[(b + N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x + N[(z / y), $MachinePrecision]), $MachinePrecision] - N[(N[(x * a), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -2.5e+56], t$95$2, If[LessEqual[y, -2.3e-5], N[(N[(230661.510616 + N[(y * N[(27464.7644705 + N[(y * N[(z + N[(y * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$1), $MachinePrecision], If[LessEqual[y, 0.025], N[(N[(t + N[(y * 230661.510616), $MachinePrecision]), $MachinePrecision] / N[(i + N[(y * N[(c + t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := y \cdot \left(b + y \cdot \left(y + a\right)\right)\\
t_2 := \left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\
\mathbf{if}\;y \leq -2.5 \cdot 10^{+56}:\\
\;\;\;\;t\_2\\

\mathbf{elif}\;y \leq -2.3 \cdot 10^{-5}:\\
\;\;\;\;\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)}{t\_1}\\

\mathbf{elif}\;y \leq 0.025:\\
\;\;\;\;\frac{t + y \cdot 230661.510616}{i + y \cdot \left(c + t\_1\right)}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if y < -2.50000000000000012e56 or 0.025000000000000001 < y

    1. Initial program 7.3%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around inf 61.0%

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

    if -2.50000000000000012e56 < y < -2.3e-5

    1. Initial program 68.0%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in i around 0 68.0%

      \[\leadsto \color{blue}{\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + x \cdot y\right)\right)\right)}{y \cdot \left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)}} \]
    4. Taylor expanded in t around 0 75.6%

      \[\leadsto \color{blue}{\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + x \cdot y\right)\right)}{c + y \cdot \left(b + y \cdot \left(a + y\right)\right)}} \]
    5. Taylor expanded in c around 0 61.9%

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

    if -2.3e-5 < y < 0.025000000000000001

    1. Initial program 99.7%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around 0 88.3%

      \[\leadsto \frac{\color{blue}{230661.510616 \cdot y} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    4. Step-by-step derivation
      1. *-commutative88.3%

        \[\leadsto \frac{\color{blue}{y \cdot 230661.510616} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    5. Simplified88.3%

      \[\leadsto \frac{\color{blue}{y \cdot 230661.510616} + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification74.3%

    \[\leadsto \begin{array}{l} \mathbf{if}\;y \leq -2.5 \cdot 10^{+56}:\\ \;\;\;\;\left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \mathbf{elif}\;y \leq -2.3 \cdot 10^{-5}:\\ \;\;\;\;\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)}{y \cdot \left(b + y \cdot \left(y + a\right)\right)}\\ \mathbf{elif}\;y \leq 0.025:\\ \;\;\;\;\frac{t + y \cdot 230661.510616}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \end{array} \]
  5. Add Preprocessing

Alternative 12: 67.0% accurate, 1.2× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;y \leq -1150000 \lor \neg \left(y \leq 0.025\right):\\ \;\;\;\;\left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{t}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\ \end{array} \end{array} \]
(FPCore (x y z t a b c i)
 :precision binary64
 (if (or (<= y -1150000.0) (not (<= y 0.025)))
   (- (+ x (/ z y)) (/ (* x a) y))
   (/ t (+ i (* y (+ c (* y (+ b (* y (+ y a))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double tmp;
	if ((y <= -1150000.0) || !(y <= 0.025)) {
		tmp = (x + (z / y)) - ((x * a) / y);
	} else {
		tmp = t / (i + (y * (c + (y * (b + (y * (y + a)))))));
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
    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), intent (in) :: c
    real(8), intent (in) :: i
    real(8) :: tmp
    if ((y <= (-1150000.0d0)) .or. (.not. (y <= 0.025d0))) then
        tmp = (x + (z / y)) - ((x * a) / y)
    else
        tmp = t / (i + (y * (c + (y * (b + (y * (y + a)))))))
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double tmp;
	if ((y <= -1150000.0) || !(y <= 0.025)) {
		tmp = (x + (z / y)) - ((x * a) / y);
	} else {
		tmp = t / (i + (y * (c + (y * (b + (y * (y + a)))))));
	}
	return tmp;
}
def code(x, y, z, t, a, b, c, i):
	tmp = 0
	if (y <= -1150000.0) or not (y <= 0.025):
		tmp = (x + (z / y)) - ((x * a) / y)
	else:
		tmp = t / (i + (y * (c + (y * (b + (y * (y + a)))))))
	return tmp
function code(x, y, z, t, a, b, c, i)
	tmp = 0.0
	if ((y <= -1150000.0) || !(y <= 0.025))
		tmp = Float64(Float64(x + Float64(z / y)) - Float64(Float64(x * a) / y));
	else
		tmp = Float64(t / Float64(i + Float64(y * Float64(c + Float64(y * Float64(b + Float64(y * Float64(y + a))))))));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c, i)
	tmp = 0.0;
	if ((y <= -1150000.0) || ~((y <= 0.025)))
		tmp = (x + (z / y)) - ((x * a) / y);
	else
		tmp = t / (i + (y * (c + (y * (b + (y * (y + a)))))));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[Or[LessEqual[y, -1150000.0], N[Not[LessEqual[y, 0.025]], $MachinePrecision]], N[(N[(x + N[(z / y), $MachinePrecision]), $MachinePrecision] - N[(N[(x * a), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision], N[(t / N[(i + N[(y * N[(c + N[(y * N[(b + N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;y \leq -1150000 \lor \neg \left(y \leq 0.025\right):\\
\;\;\;\;\left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\

\mathbf{else}:\\
\;\;\;\;\frac{t}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if y < -1.15e6 or 0.025000000000000001 < y

    1. Initial program 12.2%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around inf 57.5%

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

    if -1.15e6 < y < 0.025000000000000001

    1. Initial program 99.7%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in t around inf 75.3%

      \[\leadsto \color{blue}{\frac{t}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification66.2%

    \[\leadsto \begin{array}{l} \mathbf{if}\;y \leq -1150000 \lor \neg \left(y \leq 0.025\right):\\ \;\;\;\;\left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{t}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\ \end{array} \]
  5. Add Preprocessing

Alternative 13: 55.5% accurate, 1.3× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \mathbf{if}\;y \leq -13500:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;y \leq -2.8 \cdot 10^{-61}:\\ \;\;\;\;\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)}{c}\\ \mathbf{elif}\;y \leq 3.2 \cdot 10^{-5}:\\ \;\;\;\;\frac{t}{i}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (x y z t a b c i)
 :precision binary64
 (let* ((t_1 (- (+ x (/ z y)) (/ (* x a) y))))
   (if (<= y -13500.0)
     t_1
     (if (<= y -2.8e-61)
       (/ (+ 230661.510616 (* y (+ 27464.7644705 (* y (+ z (* y x)))))) c)
       (if (<= y 3.2e-5) (/ t i) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double t_1 = (x + (z / y)) - ((x * a) / y);
	double tmp;
	if (y <= -13500.0) {
		tmp = t_1;
	} else if (y <= -2.8e-61) {
		tmp = (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))) / c;
	} else if (y <= 3.2e-5) {
		tmp = t / i;
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
    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), intent (in) :: c
    real(8), intent (in) :: i
    real(8) :: t_1
    real(8) :: tmp
    t_1 = (x + (z / y)) - ((x * a) / y)
    if (y <= (-13500.0d0)) then
        tmp = t_1
    else if (y <= (-2.8d-61)) then
        tmp = (230661.510616d0 + (y * (27464.7644705d0 + (y * (z + (y * x)))))) / c
    else if (y <= 3.2d-5) then
        tmp = t / i
    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 c, double i) {
	double t_1 = (x + (z / y)) - ((x * a) / y);
	double tmp;
	if (y <= -13500.0) {
		tmp = t_1;
	} else if (y <= -2.8e-61) {
		tmp = (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))) / c;
	} else if (y <= 3.2e-5) {
		tmp = t / i;
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(x, y, z, t, a, b, c, i):
	t_1 = (x + (z / y)) - ((x * a) / y)
	tmp = 0
	if y <= -13500.0:
		tmp = t_1
	elif y <= -2.8e-61:
		tmp = (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))) / c
	elif y <= 3.2e-5:
		tmp = t / i
	else:
		tmp = t_1
	return tmp
function code(x, y, z, t, a, b, c, i)
	t_1 = Float64(Float64(x + Float64(z / y)) - Float64(Float64(x * a) / y))
	tmp = 0.0
	if (y <= -13500.0)
		tmp = t_1;
	elseif (y <= -2.8e-61)
		tmp = Float64(Float64(230661.510616 + Float64(y * Float64(27464.7644705 + Float64(y * Float64(z + Float64(y * x)))))) / c);
	elseif (y <= 3.2e-5)
		tmp = Float64(t / i);
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c, i)
	t_1 = (x + (z / y)) - ((x * a) / y);
	tmp = 0.0;
	if (y <= -13500.0)
		tmp = t_1;
	elseif (y <= -2.8e-61)
		tmp = (230661.510616 + (y * (27464.7644705 + (y * (z + (y * x)))))) / c;
	elseif (y <= 3.2e-5)
		tmp = t / i;
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(N[(x + N[(z / y), $MachinePrecision]), $MachinePrecision] - N[(N[(x * a), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -13500.0], t$95$1, If[LessEqual[y, -2.8e-61], N[(N[(230661.510616 + N[(y * N[(27464.7644705 + N[(y * N[(z + N[(y * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / c), $MachinePrecision], If[LessEqual[y, 3.2e-5], N[(t / i), $MachinePrecision], t$95$1]]]]
\begin{array}{l}

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

\mathbf{elif}\;y \leq -2.8 \cdot 10^{-61}:\\
\;\;\;\;\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)}{c}\\

\mathbf{elif}\;y \leq 3.2 \cdot 10^{-5}:\\
\;\;\;\;\frac{t}{i}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if y < -13500 or 3.19999999999999986e-5 < y

    1. Initial program 12.2%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around inf 57.5%

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

    if -13500 < y < -2.8000000000000001e-61

    1. Initial program 99.2%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in i around 0 70.7%

      \[\leadsto \color{blue}{\frac{t + y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + x \cdot y\right)\right)\right)}{y \cdot \left(c + y \cdot \left(b + y \cdot \left(a + y\right)\right)\right)}} \]
    4. Taylor expanded in t around 0 55.2%

      \[\leadsto \color{blue}{\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + x \cdot y\right)\right)}{c + y \cdot \left(b + y \cdot \left(a + y\right)\right)}} \]
    5. Taylor expanded in c around inf 46.8%

      \[\leadsto \color{blue}{\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + x \cdot y\right)\right)}{c}} \]

    if -2.8000000000000001e-61 < y < 3.19999999999999986e-5

    1. Initial program 99.7%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around 0 58.2%

      \[\leadsto \color{blue}{\frac{t}{i}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification57.3%

    \[\leadsto \begin{array}{l} \mathbf{if}\;y \leq -13500:\\ \;\;\;\;\left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \mathbf{elif}\;y \leq -2.8 \cdot 10^{-61}:\\ \;\;\;\;\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)}{c}\\ \mathbf{elif}\;y \leq 3.2 \cdot 10^{-5}:\\ \;\;\;\;\frac{t}{i}\\ \mathbf{else}:\\ \;\;\;\;\left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \end{array} \]
  5. Add Preprocessing

Alternative 14: 55.6% accurate, 1.6× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;y \leq -1050 \lor \neg \left(y \leq 0.0022\right):\\ \;\;\;\;\left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{t}{i}\\ \end{array} \end{array} \]
(FPCore (x y z t a b c i)
 :precision binary64
 (if (or (<= y -1050.0) (not (<= y 0.0022)))
   (- (+ x (/ z y)) (/ (* x a) y))
   (/ t i)))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double tmp;
	if ((y <= -1050.0) || !(y <= 0.0022)) {
		tmp = (x + (z / y)) - ((x * a) / y);
	} else {
		tmp = t / i;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
    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), intent (in) :: c
    real(8), intent (in) :: i
    real(8) :: tmp
    if ((y <= (-1050.0d0)) .or. (.not. (y <= 0.0022d0))) then
        tmp = (x + (z / y)) - ((x * a) / y)
    else
        tmp = t / i
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double tmp;
	if ((y <= -1050.0) || !(y <= 0.0022)) {
		tmp = (x + (z / y)) - ((x * a) / y);
	} else {
		tmp = t / i;
	}
	return tmp;
}
def code(x, y, z, t, a, b, c, i):
	tmp = 0
	if (y <= -1050.0) or not (y <= 0.0022):
		tmp = (x + (z / y)) - ((x * a) / y)
	else:
		tmp = t / i
	return tmp
function code(x, y, z, t, a, b, c, i)
	tmp = 0.0
	if ((y <= -1050.0) || !(y <= 0.0022))
		tmp = Float64(Float64(x + Float64(z / y)) - Float64(Float64(x * a) / y));
	else
		tmp = Float64(t / i);
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c, i)
	tmp = 0.0;
	if ((y <= -1050.0) || ~((y <= 0.0022)))
		tmp = (x + (z / y)) - ((x * a) / y);
	else
		tmp = t / i;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[Or[LessEqual[y, -1050.0], N[Not[LessEqual[y, 0.0022]], $MachinePrecision]], N[(N[(x + N[(z / y), $MachinePrecision]), $MachinePrecision] - N[(N[(x * a), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision], N[(t / i), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;y \leq -1050 \lor \neg \left(y \leq 0.0022\right):\\
\;\;\;\;\left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\

\mathbf{else}:\\
\;\;\;\;\frac{t}{i}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if y < -1050 or 0.00220000000000000013 < y

    1. Initial program 12.2%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around inf 57.5%

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

    if -1050 < y < 0.00220000000000000013

    1. Initial program 99.7%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around 0 53.7%

      \[\leadsto \color{blue}{\frac{t}{i}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification55.7%

    \[\leadsto \begin{array}{l} \mathbf{if}\;y \leq -1050 \lor \neg \left(y \leq 0.0022\right):\\ \;\;\;\;\left(x + \frac{z}{y}\right) - \frac{x \cdot a}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{t}{i}\\ \end{array} \]
  5. Add Preprocessing

Alternative 15: 50.5% accurate, 2.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;y \leq -2050000:\\ \;\;\;\;x\\ \mathbf{elif}\;y \leq 0.086:\\ \;\;\;\;\frac{t}{i}\\ \mathbf{else}:\\ \;\;\;\;x\\ \end{array} \end{array} \]
(FPCore (x y z t a b c i)
 :precision binary64
 (if (<= y -2050000.0) x (if (<= y 0.086) (/ t i) x)))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double tmp;
	if (y <= -2050000.0) {
		tmp = x;
	} else if (y <= 0.086) {
		tmp = t / i;
	} else {
		tmp = x;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
    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), intent (in) :: c
    real(8), intent (in) :: i
    real(8) :: tmp
    if (y <= (-2050000.0d0)) then
        tmp = x
    else if (y <= 0.086d0) then
        tmp = t / i
    else
        tmp = x
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double tmp;
	if (y <= -2050000.0) {
		tmp = x;
	} else if (y <= 0.086) {
		tmp = t / i;
	} else {
		tmp = x;
	}
	return tmp;
}
def code(x, y, z, t, a, b, c, i):
	tmp = 0
	if y <= -2050000.0:
		tmp = x
	elif y <= 0.086:
		tmp = t / i
	else:
		tmp = x
	return tmp
function code(x, y, z, t, a, b, c, i)
	tmp = 0.0
	if (y <= -2050000.0)
		tmp = x;
	elseif (y <= 0.086)
		tmp = Float64(t / i);
	else
		tmp = x;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c, i)
	tmp = 0.0;
	if (y <= -2050000.0)
		tmp = x;
	elseif (y <= 0.086)
		tmp = t / i;
	else
		tmp = x;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_, i_] := If[LessEqual[y, -2050000.0], x, If[LessEqual[y, 0.086], N[(t / i), $MachinePrecision], x]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;y \leq -2050000:\\
\;\;\;\;x\\

\mathbf{elif}\;y \leq 0.086:\\
\;\;\;\;\frac{t}{i}\\

\mathbf{else}:\\
\;\;\;\;x\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if y < -2.05e6 or 0.085999999999999993 < y

    1. Initial program 10.9%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around inf 46.0%

      \[\leadsto \color{blue}{x} \]

    if -2.05e6 < y < 0.085999999999999993

    1. Initial program 99.6%

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Add Preprocessing
    3. Taylor expanded in y around 0 52.9%

      \[\leadsto \color{blue}{\frac{t}{i}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification49.5%

    \[\leadsto \begin{array}{l} \mathbf{if}\;y \leq -2050000:\\ \;\;\;\;x\\ \mathbf{elif}\;y \leq 0.086:\\ \;\;\;\;\frac{t}{i}\\ \mathbf{else}:\\ \;\;\;\;x\\ \end{array} \]
  5. Add Preprocessing

Alternative 16: 25.0% accurate, 33.0× speedup?

\[\begin{array}{l} \\ x \end{array} \]
(FPCore (x y z t a b c i) :precision binary64 x)
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	return x;
}
real(8) function code(x, y, z, t, a, b, c, i)
    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), intent (in) :: c
    real(8), intent (in) :: i
    code = x
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	return x;
}
def code(x, y, z, t, a, b, c, i):
	return x
function code(x, y, z, t, a, b, c, i)
	return x
end
function tmp = code(x, y, z, t, a, b, c, i)
	tmp = x;
end
code[x_, y_, z_, t_, a_, b_, c_, i_] := x
\begin{array}{l}

\\
x
\end{array}
Derivation
  1. Initial program 54.9%

    \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
  2. Add Preprocessing
  3. Taylor expanded in y around inf 24.7%

    \[\leadsto \color{blue}{x} \]
  4. Final simplification24.7%

    \[\leadsto x \]
  5. Add Preprocessing

Reproduce

?
herbie shell --seed 2024027 
(FPCore (x y z t a b c i)
  :name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2"
  :precision binary64
  (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))