Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1, J

Percentage Accurate: 79.5% → 91.7%
Time: 5.5s
Alternatives: 15
Speedup: 0.8×

Specification

?
\[\begin{array}{l} \\ \frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) (* z c)))
double code(double x, double y, double z, double t, double a, double b, double c) {
	return ((((x * 9.0) * y) - (((z * 4.0) * t) * a)) + b) / (z * c);
}
module fmin_fmax_functions
    implicit none
    private
    public fmax
    public fmin

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

real(8) function code(x, y, z, t, a, b, c)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    code = ((((x * 9.0d0) * y) - (((z * 4.0d0) * t) * a)) + b) / (z * c)
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	return ((((x * 9.0) * y) - (((z * 4.0) * t) * a)) + b) / (z * c);
}
def code(x, y, z, t, a, b, c):
	return ((((x * 9.0) * y) - (((z * 4.0) * t) * a)) + b) / (z * c)
function code(x, y, z, t, a, b, c)
	return Float64(Float64(Float64(Float64(Float64(x * 9.0) * y) - Float64(Float64(Float64(z * 4.0) * t) * a)) + b) / Float64(z * c))
end
function tmp = code(x, y, z, t, a, b, c)
	tmp = ((((x * 9.0) * y) - (((z * 4.0) * t) * a)) + b) / (z * c);
end
code[x_, y_, z_, t_, a_, b_, c_] := N[(N[(N[(N[(N[(x * 9.0), $MachinePrecision] * y), $MachinePrecision] - N[(N[(N[(z * 4.0), $MachinePrecision] * t), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision] / N[(z * c), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c}
\end{array}

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

\[\begin{array}{l} \\ \frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) (* z c)))
double code(double x, double y, double z, double t, double a, double b, double c) {
	return ((((x * 9.0) * y) - (((z * 4.0) * t) * a)) + b) / (z * c);
}
module fmin_fmax_functions
    implicit none
    private
    public fmax
    public fmin

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

real(8) function code(x, y, z, t, a, b, c)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    code = ((((x * 9.0d0) * y) - (((z * 4.0d0) * t) * a)) + b) / (z * c)
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	return ((((x * 9.0) * y) - (((z * 4.0) * t) * a)) + b) / (z * c);
}
def code(x, y, z, t, a, b, c):
	return ((((x * 9.0) * y) - (((z * 4.0) * t) * a)) + b) / (z * c)
function code(x, y, z, t, a, b, c)
	return Float64(Float64(Float64(Float64(Float64(x * 9.0) * y) - Float64(Float64(Float64(z * 4.0) * t) * a)) + b) / Float64(z * c))
end
function tmp = code(x, y, z, t, a, b, c)
	tmp = ((((x * 9.0) * y) - (((z * 4.0) * t) * a)) + b) / (z * c);
end
code[x_, y_, z_, t_, a_, b_, c_] := N[(N[(N[(N[(N[(x * 9.0), $MachinePrecision] * y), $MachinePrecision] - N[(N[(N[(z * 4.0), $MachinePrecision] * t), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision] / N[(z * c), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c}
\end{array}

Alternative 1: 91.7% accurate, 0.2× speedup?

\[\begin{array}{l} c\_m = \left|c\right| \\ c\_s = \mathsf{copysign}\left(1, c\right) \\ \begin{array}{l} t_1 := \mathsf{fma}\left(y \cdot x, 9, b\right)\\ t_2 := \frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c\_m}\\ t_3 := \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{t\_1}{z}\right)}{c\_m}\\ c\_s \cdot \begin{array}{l} \mathbf{if}\;t\_2 \leq -4 \cdot 10^{+281}:\\ \;\;\;\;t\_3\\ \mathbf{elif}\;t\_2 \leq -5 \cdot 10^{-141}:\\ \;\;\;\;\mathsf{fma}\left(-4, a \cdot \frac{t}{c\_m}, \frac{t\_1}{c\_m \cdot z}\right)\\ \mathbf{elif}\;t\_2 \leq \infty:\\ \;\;\;\;t\_3\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(-4, t, \mathsf{fma}\left(x \cdot \frac{y}{a \cdot z}, 9, \frac{b}{a \cdot z}\right)\right) \cdot a}{c\_m}\\ \end{array} \end{array} \end{array} \]
c\_m = (fabs.f64 c)
c\_s = (copysign.f64 #s(literal 1 binary64) c)
(FPCore (c_s x y z t a b c_m)
 :precision binary64
 (let* ((t_1 (fma (* y x) 9.0 b))
        (t_2 (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) (* z c_m)))
        (t_3 (/ (fma (* a t) -4.0 (/ t_1 z)) c_m)))
   (*
    c_s
    (if (<= t_2 -4e+281)
      t_3
      (if (<= t_2 -5e-141)
        (fma -4.0 (* a (/ t c_m)) (/ t_1 (* c_m z)))
        (if (<= t_2 INFINITY)
          t_3
          (/
           (* (fma -4.0 t (fma (* x (/ y (* a z))) 9.0 (/ b (* a z)))) a)
           c_m)))))))
c\_m = fabs(c);
c\_s = copysign(1.0, c);
double code(double c_s, double x, double y, double z, double t, double a, double b, double c_m) {
	double t_1 = fma((y * x), 9.0, b);
	double t_2 = ((((x * 9.0) * y) - (((z * 4.0) * t) * a)) + b) / (z * c_m);
	double t_3 = fma((a * t), -4.0, (t_1 / z)) / c_m;
	double tmp;
	if (t_2 <= -4e+281) {
		tmp = t_3;
	} else if (t_2 <= -5e-141) {
		tmp = fma(-4.0, (a * (t / c_m)), (t_1 / (c_m * z)));
	} else if (t_2 <= ((double) INFINITY)) {
		tmp = t_3;
	} else {
		tmp = (fma(-4.0, t, fma((x * (y / (a * z))), 9.0, (b / (a * z)))) * a) / c_m;
	}
	return c_s * tmp;
}
c\_m = abs(c)
c\_s = copysign(1.0, c)
function code(c_s, x, y, z, t, a, b, c_m)
	t_1 = fma(Float64(y * x), 9.0, b)
	t_2 = Float64(Float64(Float64(Float64(Float64(x * 9.0) * y) - Float64(Float64(Float64(z * 4.0) * t) * a)) + b) / Float64(z * c_m))
	t_3 = Float64(fma(Float64(a * t), -4.0, Float64(t_1 / z)) / c_m)
	tmp = 0.0
	if (t_2 <= -4e+281)
		tmp = t_3;
	elseif (t_2 <= -5e-141)
		tmp = fma(-4.0, Float64(a * Float64(t / c_m)), Float64(t_1 / Float64(c_m * z)));
	elseif (t_2 <= Inf)
		tmp = t_3;
	else
		tmp = Float64(Float64(fma(-4.0, t, fma(Float64(x * Float64(y / Float64(a * z))), 9.0, Float64(b / Float64(a * z)))) * a) / c_m);
	end
	return Float64(c_s * tmp)
end
c\_m = N[Abs[c], $MachinePrecision]
c\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[c]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[c$95$s_, x_, y_, z_, t_, a_, b_, c$95$m_] := Block[{t$95$1 = N[(N[(y * x), $MachinePrecision] * 9.0 + b), $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[(N[(N[(x * 9.0), $MachinePrecision] * y), $MachinePrecision] - N[(N[(N[(z * 4.0), $MachinePrecision] * t), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision] / N[(z * c$95$m), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(N[(a * t), $MachinePrecision] * -4.0 + N[(t$95$1 / z), $MachinePrecision]), $MachinePrecision] / c$95$m), $MachinePrecision]}, N[(c$95$s * If[LessEqual[t$95$2, -4e+281], t$95$3, If[LessEqual[t$95$2, -5e-141], N[(-4.0 * N[(a * N[(t / c$95$m), $MachinePrecision]), $MachinePrecision] + N[(t$95$1 / N[(c$95$m * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$2, Infinity], t$95$3, N[(N[(N[(-4.0 * t + N[(N[(x * N[(y / N[(a * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * 9.0 + N[(b / N[(a * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * a), $MachinePrecision] / c$95$m), $MachinePrecision]]]]), $MachinePrecision]]]]
\begin{array}{l}
c\_m = \left|c\right|
\\
c\_s = \mathsf{copysign}\left(1, c\right)

\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(y \cdot x, 9, b\right)\\
t_2 := \frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c\_m}\\
t_3 := \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{t\_1}{z}\right)}{c\_m}\\
c\_s \cdot \begin{array}{l}
\mathbf{if}\;t\_2 \leq -4 \cdot 10^{+281}:\\
\;\;\;\;t\_3\\

\mathbf{elif}\;t\_2 \leq -5 \cdot 10^{-141}:\\
\;\;\;\;\mathsf{fma}\left(-4, a \cdot \frac{t}{c\_m}, \frac{t\_1}{c\_m \cdot z}\right)\\

\mathbf{elif}\;t\_2 \leq \infty:\\
\;\;\;\;t\_3\\

\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(-4, t, \mathsf{fma}\left(x \cdot \frac{y}{a \cdot z}, 9, \frac{b}{a \cdot z}\right)\right) \cdot a}{c\_m}\\


\end{array}
\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (/.f64 (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 9 binary64)) y) (*.f64 (*.f64 (*.f64 z #s(literal 4 binary64)) t) a)) b) (*.f64 z c)) < -4.0000000000000001e281 or -4.9999999999999999e-141 < (/.f64 (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 9 binary64)) y) (*.f64 (*.f64 (*.f64 z #s(literal 4 binary64)) t) a)) b) (*.f64 z c)) < +inf.0

    1. Initial program 79.5%

      \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
    2. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) - 4 \cdot \frac{a \cdot t}{c}} \]
    3. Step-by-step derivation
      1. fp-cancel-sub-sign-invN/A

        \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + \color{blue}{\left(\mathsf{neg}\left(4\right)\right) \cdot \frac{a \cdot t}{c}} \]
      2. metadata-evalN/A

        \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + -4 \cdot \frac{\color{blue}{a \cdot t}}{c} \]
      3. +-commutativeN/A

        \[\leadsto -4 \cdot \frac{a \cdot t}{c} + \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right)} \]
      4. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \color{blue}{\frac{a \cdot t}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      5. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{\color{blue}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      6. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      7. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + 9 \cdot \frac{x \cdot y}{c \cdot z}\right) \]
      8. associate-*r/N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + \frac{9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      9. div-addN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      10. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      11. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{9 \cdot \left(x \cdot y\right) + b}{c \cdot z}\right) \]
      12. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\left(x \cdot y\right) \cdot 9 + b}{c \cdot z}\right) \]
      13. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{c \cdot z}\right) \]
      14. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      15. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      16. lower-*.f6484.1

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
    4. Applied rewrites84.1%

      \[\leadsto \color{blue}{\mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right)} \]
    5. Taylor expanded in c around 0

      \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{\color{blue}{c}} \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      2. *-commutativeN/A

        \[\leadsto \frac{\left(a \cdot t\right) \cdot -4 + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      3. lower-fma.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      4. lift-*.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      5. +-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + 9 \cdot \frac{x \cdot y}{z}\right)}{c} \]
      6. associate-*r/N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + \frac{9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      7. div-addN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      8. lower-/.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      9. +-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{9 \cdot \left(x \cdot y\right) + b}{z}\right)}{c} \]
      10. *-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\left(x \cdot y\right) \cdot 9 + b}{z}\right)}{c} \]
      11. lower-fma.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{z}\right)}{c} \]
      12. *-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
      13. lift-*.f6486.0

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
    7. Applied rewrites86.0%

      \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{\color{blue}{c}} \]

    if -4.0000000000000001e281 < (/.f64 (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 9 binary64)) y) (*.f64 (*.f64 (*.f64 z #s(literal 4 binary64)) t) a)) b) (*.f64 z c)) < -4.9999999999999999e-141

    1. Initial program 79.5%

      \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
    2. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) - 4 \cdot \frac{a \cdot t}{c}} \]
    3. Step-by-step derivation
      1. fp-cancel-sub-sign-invN/A

        \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + \color{blue}{\left(\mathsf{neg}\left(4\right)\right) \cdot \frac{a \cdot t}{c}} \]
      2. metadata-evalN/A

        \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + -4 \cdot \frac{\color{blue}{a \cdot t}}{c} \]
      3. +-commutativeN/A

        \[\leadsto -4 \cdot \frac{a \cdot t}{c} + \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right)} \]
      4. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \color{blue}{\frac{a \cdot t}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      5. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{\color{blue}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      6. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      7. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + 9 \cdot \frac{x \cdot y}{c \cdot z}\right) \]
      8. associate-*r/N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + \frac{9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      9. div-addN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      10. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      11. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{9 \cdot \left(x \cdot y\right) + b}{c \cdot z}\right) \]
      12. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\left(x \cdot y\right) \cdot 9 + b}{c \cdot z}\right) \]
      13. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{c \cdot z}\right) \]
      14. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      15. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      16. lower-*.f6484.1

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
    4. Applied rewrites84.1%

      \[\leadsto \color{blue}{\mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right)} \]
    5. Step-by-step derivation
      1. lift-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      2. lift-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{\color{blue}{c}}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      3. associate-/l*N/A

        \[\leadsto \mathsf{fma}\left(-4, a \cdot \color{blue}{\frac{t}{c}}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      4. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, a \cdot \color{blue}{\frac{t}{c}}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      5. lower-/.f6483.8

        \[\leadsto \mathsf{fma}\left(-4, a \cdot \frac{t}{\color{blue}{c}}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
    6. Applied rewrites83.8%

      \[\leadsto \mathsf{fma}\left(-4, a \cdot \color{blue}{\frac{t}{c}}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]

    if +inf.0 < (/.f64 (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 9 binary64)) y) (*.f64 (*.f64 (*.f64 z #s(literal 4 binary64)) t) a)) b) (*.f64 z c))

    1. Initial program 79.5%

      \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
    2. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) - 4 \cdot \frac{a \cdot t}{c}} \]
    3. Step-by-step derivation
      1. fp-cancel-sub-sign-invN/A

        \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + \color{blue}{\left(\mathsf{neg}\left(4\right)\right) \cdot \frac{a \cdot t}{c}} \]
      2. metadata-evalN/A

        \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + -4 \cdot \frac{\color{blue}{a \cdot t}}{c} \]
      3. +-commutativeN/A

        \[\leadsto -4 \cdot \frac{a \cdot t}{c} + \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right)} \]
      4. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \color{blue}{\frac{a \cdot t}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      5. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{\color{blue}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      6. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      7. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + 9 \cdot \frac{x \cdot y}{c \cdot z}\right) \]
      8. associate-*r/N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + \frac{9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      9. div-addN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      10. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      11. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{9 \cdot \left(x \cdot y\right) + b}{c \cdot z}\right) \]
      12. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\left(x \cdot y\right) \cdot 9 + b}{c \cdot z}\right) \]
      13. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{c \cdot z}\right) \]
      14. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      15. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      16. lower-*.f6484.1

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
    4. Applied rewrites84.1%

      \[\leadsto \color{blue}{\mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right)} \]
    5. Taylor expanded in c around 0

      \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{\color{blue}{c}} \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      2. *-commutativeN/A

        \[\leadsto \frac{\left(a \cdot t\right) \cdot -4 + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      3. lower-fma.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      4. lift-*.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      5. +-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + 9 \cdot \frac{x \cdot y}{z}\right)}{c} \]
      6. associate-*r/N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + \frac{9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      7. div-addN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      8. lower-/.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      9. +-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{9 \cdot \left(x \cdot y\right) + b}{z}\right)}{c} \]
      10. *-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\left(x \cdot y\right) \cdot 9 + b}{z}\right)}{c} \]
      11. lower-fma.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{z}\right)}{c} \]
      12. *-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
      13. lift-*.f6486.0

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
    7. Applied rewrites86.0%

      \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{\color{blue}{c}} \]
    8. Taylor expanded in a around inf

      \[\leadsto \frac{a \cdot \left(-4 \cdot t + \left(9 \cdot \frac{x \cdot y}{a \cdot z} + \frac{b}{a \cdot z}\right)\right)}{c} \]
    9. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \frac{\left(-4 \cdot t + \left(9 \cdot \frac{x \cdot y}{a \cdot z} + \frac{b}{a \cdot z}\right)\right) \cdot a}{c} \]
      2. lower-*.f64N/A

        \[\leadsto \frac{\left(-4 \cdot t + \left(9 \cdot \frac{x \cdot y}{a \cdot z} + \frac{b}{a \cdot z}\right)\right) \cdot a}{c} \]
      3. lower-fma.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(-4, t, 9 \cdot \frac{x \cdot y}{a \cdot z} + \frac{b}{a \cdot z}\right) \cdot a}{c} \]
      4. *-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(-4, t, \frac{x \cdot y}{a \cdot z} \cdot 9 + \frac{b}{a \cdot z}\right) \cdot a}{c} \]
      5. lower-fma.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(-4, t, \mathsf{fma}\left(\frac{x \cdot y}{a \cdot z}, 9, \frac{b}{a \cdot z}\right)\right) \cdot a}{c} \]
      6. associate-/l*N/A

        \[\leadsto \frac{\mathsf{fma}\left(-4, t, \mathsf{fma}\left(x \cdot \frac{y}{a \cdot z}, 9, \frac{b}{a \cdot z}\right)\right) \cdot a}{c} \]
      7. lower-*.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(-4, t, \mathsf{fma}\left(x \cdot \frac{y}{a \cdot z}, 9, \frac{b}{a \cdot z}\right)\right) \cdot a}{c} \]
      8. lower-/.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(-4, t, \mathsf{fma}\left(x \cdot \frac{y}{a \cdot z}, 9, \frac{b}{a \cdot z}\right)\right) \cdot a}{c} \]
      9. lower-*.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(-4, t, \mathsf{fma}\left(x \cdot \frac{y}{a \cdot z}, 9, \frac{b}{a \cdot z}\right)\right) \cdot a}{c} \]
      10. lower-/.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(-4, t, \mathsf{fma}\left(x \cdot \frac{y}{a \cdot z}, 9, \frac{b}{a \cdot z}\right)\right) \cdot a}{c} \]
      11. lower-*.f6474.1

        \[\leadsto \frac{\mathsf{fma}\left(-4, t, \mathsf{fma}\left(x \cdot \frac{y}{a \cdot z}, 9, \frac{b}{a \cdot z}\right)\right) \cdot a}{c} \]
    10. Applied rewrites74.1%

      \[\leadsto \frac{\mathsf{fma}\left(-4, t, \mathsf{fma}\left(x \cdot \frac{y}{a \cdot z}, 9, \frac{b}{a \cdot z}\right)\right) \cdot a}{c} \]
  3. Recombined 3 regimes into one program.
  4. Add Preprocessing

Alternative 2: 91.7% accurate, 0.7× speedup?

\[\begin{array}{l} c\_m = \left|c\right| \\ c\_s = \mathsf{copysign}\left(1, c\right) \\ \begin{array}{l} t_1 := \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c\_m}\\ c\_s \cdot \begin{array}{l} \mathbf{if}\;z \leq -8 \cdot 10^{+217}:\\ \;\;\;\;\frac{-\mathsf{fma}\left(-9, \frac{y}{z}, -\frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{x}\right) \cdot x}{c\_m}\\ \mathbf{elif}\;z \leq -1.8 \cdot 10^{-15}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;z \leq 2 \cdot 10^{+52}:\\ \;\;\;\;\frac{\left(x \cdot \left(y \cdot 9\right) - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c\_m}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \end{array} \]
c\_m = (fabs.f64 c)
c\_s = (copysign.f64 #s(literal 1 binary64) c)
(FPCore (c_s x y z t a b c_m)
 :precision binary64
 (let* ((t_1 (/ (fma (* a t) -4.0 (/ (fma (* y x) 9.0 b) z)) c_m)))
   (*
    c_s
    (if (<= z -8e+217)
      (/ (- (* (fma -9.0 (/ y z) (- (/ (fma (* a t) -4.0 (/ b z)) x))) x)) c_m)
      (if (<= z -1.8e-15)
        t_1
        (if (<= z 2e+52)
          (/ (+ (- (* x (* y 9.0)) (* (* (* z 4.0) t) a)) b) (* z c_m))
          t_1))))))
c\_m = fabs(c);
c\_s = copysign(1.0, c);
double code(double c_s, double x, double y, double z, double t, double a, double b, double c_m) {
	double t_1 = fma((a * t), -4.0, (fma((y * x), 9.0, b) / z)) / c_m;
	double tmp;
	if (z <= -8e+217) {
		tmp = -(fma(-9.0, (y / z), -(fma((a * t), -4.0, (b / z)) / x)) * x) / c_m;
	} else if (z <= -1.8e-15) {
		tmp = t_1;
	} else if (z <= 2e+52) {
		tmp = (((x * (y * 9.0)) - (((z * 4.0) * t) * a)) + b) / (z * c_m);
	} else {
		tmp = t_1;
	}
	return c_s * tmp;
}
c\_m = abs(c)
c\_s = copysign(1.0, c)
function code(c_s, x, y, z, t, a, b, c_m)
	t_1 = Float64(fma(Float64(a * t), -4.0, Float64(fma(Float64(y * x), 9.0, b) / z)) / c_m)
	tmp = 0.0
	if (z <= -8e+217)
		tmp = Float64(Float64(-Float64(fma(-9.0, Float64(y / z), Float64(-Float64(fma(Float64(a * t), -4.0, Float64(b / z)) / x))) * x)) / c_m);
	elseif (z <= -1.8e-15)
		tmp = t_1;
	elseif (z <= 2e+52)
		tmp = Float64(Float64(Float64(Float64(x * Float64(y * 9.0)) - Float64(Float64(Float64(z * 4.0) * t) * a)) + b) / Float64(z * c_m));
	else
		tmp = t_1;
	end
	return Float64(c_s * tmp)
end
c\_m = N[Abs[c], $MachinePrecision]
c\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[c]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[c$95$s_, x_, y_, z_, t_, a_, b_, c$95$m_] := Block[{t$95$1 = N[(N[(N[(a * t), $MachinePrecision] * -4.0 + N[(N[(N[(y * x), $MachinePrecision] * 9.0 + b), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision] / c$95$m), $MachinePrecision]}, N[(c$95$s * If[LessEqual[z, -8e+217], N[((-N[(N[(-9.0 * N[(y / z), $MachinePrecision] + (-N[(N[(N[(a * t), $MachinePrecision] * -4.0 + N[(b / z), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision])), $MachinePrecision] * x), $MachinePrecision]) / c$95$m), $MachinePrecision], If[LessEqual[z, -1.8e-15], t$95$1, If[LessEqual[z, 2e+52], N[(N[(N[(N[(x * N[(y * 9.0), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(z * 4.0), $MachinePrecision] * t), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision] / N[(z * c$95$m), $MachinePrecision]), $MachinePrecision], t$95$1]]]), $MachinePrecision]]
\begin{array}{l}
c\_m = \left|c\right|
\\
c\_s = \mathsf{copysign}\left(1, c\right)

\\
\begin{array}{l}
t_1 := \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c\_m}\\
c\_s \cdot \begin{array}{l}
\mathbf{if}\;z \leq -8 \cdot 10^{+217}:\\
\;\;\;\;\frac{-\mathsf{fma}\left(-9, \frac{y}{z}, -\frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{x}\right) \cdot x}{c\_m}\\

\mathbf{elif}\;z \leq -1.8 \cdot 10^{-15}:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;z \leq 2 \cdot 10^{+52}:\\
\;\;\;\;\frac{\left(x \cdot \left(y \cdot 9\right) - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c\_m}\\

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


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

    1. Initial program 79.5%

      \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
    2. Step-by-step derivation
      1. lift-*.f64N/A

        \[\leadsto \frac{\left(\left(x \cdot 9\right) \cdot y - \color{blue}{\left(\left(z \cdot 4\right) \cdot t\right) \cdot a}\right) + b}{z \cdot c} \]
      2. lift-*.f64N/A

        \[\leadsto \frac{\left(\left(x \cdot 9\right) \cdot y - \left(\color{blue}{\left(z \cdot 4\right)} \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
      3. lift-*.f64N/A

        \[\leadsto \frac{\left(\left(x \cdot 9\right) \cdot y - \color{blue}{\left(\left(z \cdot 4\right) \cdot t\right)} \cdot a\right) + b}{z \cdot c} \]
      4. associate-*l*N/A

        \[\leadsto \frac{\left(\left(x \cdot 9\right) \cdot y - \color{blue}{\left(z \cdot 4\right) \cdot \left(t \cdot a\right)}\right) + b}{z \cdot c} \]
      5. *-commutativeN/A

        \[\leadsto \frac{\left(\left(x \cdot 9\right) \cdot y - \left(z \cdot 4\right) \cdot \color{blue}{\left(a \cdot t\right)}\right) + b}{z \cdot c} \]
      6. lower-*.f64N/A

        \[\leadsto \frac{\left(\left(x \cdot 9\right) \cdot y - \color{blue}{\left(z \cdot 4\right) \cdot \left(a \cdot t\right)}\right) + b}{z \cdot c} \]
      7. *-commutativeN/A

        \[\leadsto \frac{\left(\left(x \cdot 9\right) \cdot y - \color{blue}{\left(4 \cdot z\right)} \cdot \left(a \cdot t\right)\right) + b}{z \cdot c} \]
      8. lower-*.f64N/A

        \[\leadsto \frac{\left(\left(x \cdot 9\right) \cdot y - \color{blue}{\left(4 \cdot z\right)} \cdot \left(a \cdot t\right)\right) + b}{z \cdot c} \]
      9. lower-*.f6480.2

        \[\leadsto \frac{\left(\left(x \cdot 9\right) \cdot y - \left(4 \cdot z\right) \cdot \color{blue}{\left(a \cdot t\right)}\right) + b}{z \cdot c} \]
    3. Applied rewrites80.2%

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

        \[\leadsto \color{blue}{\frac{\left(\left(x \cdot 9\right) \cdot y - \left(4 \cdot z\right) \cdot \left(a \cdot t\right)\right) + b}{z \cdot c}} \]
      2. lift-*.f64N/A

        \[\leadsto \frac{\left(\left(x \cdot 9\right) \cdot y - \left(4 \cdot z\right) \cdot \left(a \cdot t\right)\right) + b}{\color{blue}{z \cdot c}} \]
      3. associate-/r*N/A

        \[\leadsto \color{blue}{\frac{\frac{\left(\left(x \cdot 9\right) \cdot y - \left(4 \cdot z\right) \cdot \left(a \cdot t\right)\right) + b}{z}}{c}} \]
    5. Applied rewrites78.6%

      \[\leadsto \color{blue}{\frac{\frac{\left(9 \cdot x\right) \cdot y - \left(\left(\left(4 \cdot z\right) \cdot a\right) \cdot t - b\right)}{z}}{c}} \]
    6. Taylor expanded in x around -inf

      \[\leadsto \frac{\color{blue}{-1 \cdot \left(x \cdot \left(-9 \cdot \frac{y}{z} + -1 \cdot \frac{\frac{b}{z} - 4 \cdot \left(a \cdot t\right)}{x}\right)\right)}}{c} \]
    7. Step-by-step derivation
      1. mul-1-negN/A

        \[\leadsto \frac{\mathsf{neg}\left(x \cdot \left(-9 \cdot \frac{y}{z} + -1 \cdot \frac{\frac{b}{z} - 4 \cdot \left(a \cdot t\right)}{x}\right)\right)}{c} \]
      2. associate-*r/N/A

        \[\leadsto \frac{\mathsf{neg}\left(x \cdot \left(-9 \cdot \frac{y}{z} + \frac{-1 \cdot \left(\frac{b}{z} - 4 \cdot \left(a \cdot t\right)\right)}{x}\right)\right)}{c} \]
      3. fp-cancel-sub-sign-invN/A

        \[\leadsto \frac{\mathsf{neg}\left(x \cdot \left(-9 \cdot \frac{y}{z} + \frac{-1 \cdot \left(\frac{b}{z} + \left(\mathsf{neg}\left(4\right)\right) \cdot \left(a \cdot t\right)\right)}{x}\right)\right)}{c} \]
      4. metadata-evalN/A

        \[\leadsto \frac{\mathsf{neg}\left(x \cdot \left(-9 \cdot \frac{y}{z} + \frac{-1 \cdot \left(\frac{b}{z} + -4 \cdot \left(a \cdot t\right)\right)}{x}\right)\right)}{c} \]
      5. +-commutativeN/A

        \[\leadsto \frac{\mathsf{neg}\left(x \cdot \left(-9 \cdot \frac{y}{z} + \frac{-1 \cdot \left(-4 \cdot \left(a \cdot t\right) + \frac{b}{z}\right)}{x}\right)\right)}{c} \]
      6. associate-*r/N/A

        \[\leadsto \frac{\mathsf{neg}\left(x \cdot \left(-9 \cdot \frac{y}{z} + -1 \cdot \frac{-4 \cdot \left(a \cdot t\right) + \frac{b}{z}}{x}\right)\right)}{c} \]
      7. lower-neg.f64N/A

        \[\leadsto \frac{-x \cdot \left(-9 \cdot \frac{y}{z} + -1 \cdot \frac{-4 \cdot \left(a \cdot t\right) + \frac{b}{z}}{x}\right)}{c} \]
      8. *-commutativeN/A

        \[\leadsto \frac{-\left(-9 \cdot \frac{y}{z} + -1 \cdot \frac{-4 \cdot \left(a \cdot t\right) + \frac{b}{z}}{x}\right) \cdot x}{c} \]
    8. Applied rewrites77.4%

      \[\leadsto \frac{\color{blue}{-\mathsf{fma}\left(-9, \frac{y}{z}, -\frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{x}\right) \cdot x}}{c} \]

    if -7.99999999999999968e217 < z < -1.8000000000000001e-15 or 2e52 < z

    1. Initial program 79.5%

      \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
    2. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) - 4 \cdot \frac{a \cdot t}{c}} \]
    3. Step-by-step derivation
      1. fp-cancel-sub-sign-invN/A

        \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + \color{blue}{\left(\mathsf{neg}\left(4\right)\right) \cdot \frac{a \cdot t}{c}} \]
      2. metadata-evalN/A

        \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + -4 \cdot \frac{\color{blue}{a \cdot t}}{c} \]
      3. +-commutativeN/A

        \[\leadsto -4 \cdot \frac{a \cdot t}{c} + \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right)} \]
      4. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \color{blue}{\frac{a \cdot t}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      5. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{\color{blue}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      6. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      7. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + 9 \cdot \frac{x \cdot y}{c \cdot z}\right) \]
      8. associate-*r/N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + \frac{9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      9. div-addN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      10. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      11. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{9 \cdot \left(x \cdot y\right) + b}{c \cdot z}\right) \]
      12. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\left(x \cdot y\right) \cdot 9 + b}{c \cdot z}\right) \]
      13. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{c \cdot z}\right) \]
      14. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      15. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      16. lower-*.f6484.1

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
    4. Applied rewrites84.1%

      \[\leadsto \color{blue}{\mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right)} \]
    5. Taylor expanded in c around 0

      \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{\color{blue}{c}} \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      2. *-commutativeN/A

        \[\leadsto \frac{\left(a \cdot t\right) \cdot -4 + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      3. lower-fma.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      4. lift-*.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      5. +-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + 9 \cdot \frac{x \cdot y}{z}\right)}{c} \]
      6. associate-*r/N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + \frac{9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      7. div-addN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      8. lower-/.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      9. +-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{9 \cdot \left(x \cdot y\right) + b}{z}\right)}{c} \]
      10. *-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\left(x \cdot y\right) \cdot 9 + b}{z}\right)}{c} \]
      11. lower-fma.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{z}\right)}{c} \]
      12. *-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
      13. lift-*.f6486.0

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
    7. Applied rewrites86.0%

      \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{\color{blue}{c}} \]

    if -1.8000000000000001e-15 < z < 2e52

    1. Initial program 79.5%

      \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
    2. Step-by-step derivation
      1. lift-*.f64N/A

        \[\leadsto \frac{\left(\color{blue}{\left(x \cdot 9\right)} \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
      2. lift-*.f64N/A

        \[\leadsto \frac{\left(\color{blue}{\left(x \cdot 9\right) \cdot y} - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
      3. associate-*l*N/A

        \[\leadsto \frac{\left(\color{blue}{x \cdot \left(9 \cdot y\right)} - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
      4. lower-*.f64N/A

        \[\leadsto \frac{\left(\color{blue}{x \cdot \left(9 \cdot y\right)} - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
      5. *-commutativeN/A

        \[\leadsto \frac{\left(x \cdot \color{blue}{\left(y \cdot 9\right)} - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
      6. lower-*.f6479.5

        \[\leadsto \frac{\left(x \cdot \color{blue}{\left(y \cdot 9\right)} - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
    3. Applied rewrites79.5%

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

Alternative 3: 91.7% accurate, 0.8× speedup?

\[\begin{array}{l} c\_m = \left|c\right| \\ c\_s = \mathsf{copysign}\left(1, c\right) \\ \begin{array}{l} t_1 := \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c\_m}\\ c\_s \cdot \begin{array}{l} \mathbf{if}\;z \leq -1.8 \cdot 10^{-15}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;z \leq 2 \cdot 10^{+52}:\\ \;\;\;\;\frac{\left(x \cdot \left(y \cdot 9\right) - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c\_m}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \end{array} \]
c\_m = (fabs.f64 c)
c\_s = (copysign.f64 #s(literal 1 binary64) c)
(FPCore (c_s x y z t a b c_m)
 :precision binary64
 (let* ((t_1 (/ (fma (* a t) -4.0 (/ (fma (* y x) 9.0 b) z)) c_m)))
   (*
    c_s
    (if (<= z -1.8e-15)
      t_1
      (if (<= z 2e+52)
        (/ (+ (- (* x (* y 9.0)) (* (* (* z 4.0) t) a)) b) (* z c_m))
        t_1)))))
c\_m = fabs(c);
c\_s = copysign(1.0, c);
double code(double c_s, double x, double y, double z, double t, double a, double b, double c_m) {
	double t_1 = fma((a * t), -4.0, (fma((y * x), 9.0, b) / z)) / c_m;
	double tmp;
	if (z <= -1.8e-15) {
		tmp = t_1;
	} else if (z <= 2e+52) {
		tmp = (((x * (y * 9.0)) - (((z * 4.0) * t) * a)) + b) / (z * c_m);
	} else {
		tmp = t_1;
	}
	return c_s * tmp;
}
c\_m = abs(c)
c\_s = copysign(1.0, c)
function code(c_s, x, y, z, t, a, b, c_m)
	t_1 = Float64(fma(Float64(a * t), -4.0, Float64(fma(Float64(y * x), 9.0, b) / z)) / c_m)
	tmp = 0.0
	if (z <= -1.8e-15)
		tmp = t_1;
	elseif (z <= 2e+52)
		tmp = Float64(Float64(Float64(Float64(x * Float64(y * 9.0)) - Float64(Float64(Float64(z * 4.0) * t) * a)) + b) / Float64(z * c_m));
	else
		tmp = t_1;
	end
	return Float64(c_s * tmp)
end
c\_m = N[Abs[c], $MachinePrecision]
c\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[c]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[c$95$s_, x_, y_, z_, t_, a_, b_, c$95$m_] := Block[{t$95$1 = N[(N[(N[(a * t), $MachinePrecision] * -4.0 + N[(N[(N[(y * x), $MachinePrecision] * 9.0 + b), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision] / c$95$m), $MachinePrecision]}, N[(c$95$s * If[LessEqual[z, -1.8e-15], t$95$1, If[LessEqual[z, 2e+52], N[(N[(N[(N[(x * N[(y * 9.0), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(z * 4.0), $MachinePrecision] * t), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision] / N[(z * c$95$m), $MachinePrecision]), $MachinePrecision], t$95$1]]), $MachinePrecision]]
\begin{array}{l}
c\_m = \left|c\right|
\\
c\_s = \mathsf{copysign}\left(1, c\right)

\\
\begin{array}{l}
t_1 := \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c\_m}\\
c\_s \cdot \begin{array}{l}
\mathbf{if}\;z \leq -1.8 \cdot 10^{-15}:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;z \leq 2 \cdot 10^{+52}:\\
\;\;\;\;\frac{\left(x \cdot \left(y \cdot 9\right) - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c\_m}\\

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


\end{array}
\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if z < -1.8000000000000001e-15 or 2e52 < z

    1. Initial program 79.5%

      \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
    2. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) - 4 \cdot \frac{a \cdot t}{c}} \]
    3. Step-by-step derivation
      1. fp-cancel-sub-sign-invN/A

        \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + \color{blue}{\left(\mathsf{neg}\left(4\right)\right) \cdot \frac{a \cdot t}{c}} \]
      2. metadata-evalN/A

        \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + -4 \cdot \frac{\color{blue}{a \cdot t}}{c} \]
      3. +-commutativeN/A

        \[\leadsto -4 \cdot \frac{a \cdot t}{c} + \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right)} \]
      4. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \color{blue}{\frac{a \cdot t}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      5. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{\color{blue}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      6. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      7. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + 9 \cdot \frac{x \cdot y}{c \cdot z}\right) \]
      8. associate-*r/N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + \frac{9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      9. div-addN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      10. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      11. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{9 \cdot \left(x \cdot y\right) + b}{c \cdot z}\right) \]
      12. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\left(x \cdot y\right) \cdot 9 + b}{c \cdot z}\right) \]
      13. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{c \cdot z}\right) \]
      14. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      15. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      16. lower-*.f6484.1

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
    4. Applied rewrites84.1%

      \[\leadsto \color{blue}{\mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right)} \]
    5. Taylor expanded in c around 0

      \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{\color{blue}{c}} \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      2. *-commutativeN/A

        \[\leadsto \frac{\left(a \cdot t\right) \cdot -4 + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      3. lower-fma.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      4. lift-*.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      5. +-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + 9 \cdot \frac{x \cdot y}{z}\right)}{c} \]
      6. associate-*r/N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + \frac{9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      7. div-addN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      8. lower-/.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      9. +-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{9 \cdot \left(x \cdot y\right) + b}{z}\right)}{c} \]
      10. *-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\left(x \cdot y\right) \cdot 9 + b}{z}\right)}{c} \]
      11. lower-fma.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{z}\right)}{c} \]
      12. *-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
      13. lift-*.f6486.0

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
    7. Applied rewrites86.0%

      \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{\color{blue}{c}} \]

    if -1.8000000000000001e-15 < z < 2e52

    1. Initial program 79.5%

      \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
    2. Step-by-step derivation
      1. lift-*.f64N/A

        \[\leadsto \frac{\left(\color{blue}{\left(x \cdot 9\right)} \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
      2. lift-*.f64N/A

        \[\leadsto \frac{\left(\color{blue}{\left(x \cdot 9\right) \cdot y} - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
      3. associate-*l*N/A

        \[\leadsto \frac{\left(\color{blue}{x \cdot \left(9 \cdot y\right)} - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
      4. lower-*.f64N/A

        \[\leadsto \frac{\left(\color{blue}{x \cdot \left(9 \cdot y\right)} - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
      5. *-commutativeN/A

        \[\leadsto \frac{\left(x \cdot \color{blue}{\left(y \cdot 9\right)} - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
      6. lower-*.f6479.5

        \[\leadsto \frac{\left(x \cdot \color{blue}{\left(y \cdot 9\right)} - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
    3. Applied rewrites79.5%

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

Alternative 4: 88.9% accurate, 0.8× speedup?

\[\begin{array}{l} c\_m = \left|c\right| \\ c\_s = \mathsf{copysign}\left(1, c\right) \\ \begin{array}{l} t_1 := \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c\_m}\\ c\_s \cdot \begin{array}{l} \mathbf{if}\;z \leq -1450000:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;z \leq 2 \cdot 10^{+52}:\\ \;\;\;\;\frac{\mathsf{fma}\left(9 \cdot x, y, -4 \cdot \left(\left(t \cdot z\right) \cdot a\right)\right) + b}{z \cdot c\_m}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \end{array} \]
c\_m = (fabs.f64 c)
c\_s = (copysign.f64 #s(literal 1 binary64) c)
(FPCore (c_s x y z t a b c_m)
 :precision binary64
 (let* ((t_1 (/ (fma (* a t) -4.0 (/ (fma (* y x) 9.0 b) z)) c_m)))
   (*
    c_s
    (if (<= z -1450000.0)
      t_1
      (if (<= z 2e+52)
        (/ (+ (fma (* 9.0 x) y (* -4.0 (* (* t z) a))) b) (* z c_m))
        t_1)))))
c\_m = fabs(c);
c\_s = copysign(1.0, c);
double code(double c_s, double x, double y, double z, double t, double a, double b, double c_m) {
	double t_1 = fma((a * t), -4.0, (fma((y * x), 9.0, b) / z)) / c_m;
	double tmp;
	if (z <= -1450000.0) {
		tmp = t_1;
	} else if (z <= 2e+52) {
		tmp = (fma((9.0 * x), y, (-4.0 * ((t * z) * a))) + b) / (z * c_m);
	} else {
		tmp = t_1;
	}
	return c_s * tmp;
}
c\_m = abs(c)
c\_s = copysign(1.0, c)
function code(c_s, x, y, z, t, a, b, c_m)
	t_1 = Float64(fma(Float64(a * t), -4.0, Float64(fma(Float64(y * x), 9.0, b) / z)) / c_m)
	tmp = 0.0
	if (z <= -1450000.0)
		tmp = t_1;
	elseif (z <= 2e+52)
		tmp = Float64(Float64(fma(Float64(9.0 * x), y, Float64(-4.0 * Float64(Float64(t * z) * a))) + b) / Float64(z * c_m));
	else
		tmp = t_1;
	end
	return Float64(c_s * tmp)
end
c\_m = N[Abs[c], $MachinePrecision]
c\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[c]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[c$95$s_, x_, y_, z_, t_, a_, b_, c$95$m_] := Block[{t$95$1 = N[(N[(N[(a * t), $MachinePrecision] * -4.0 + N[(N[(N[(y * x), $MachinePrecision] * 9.0 + b), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision] / c$95$m), $MachinePrecision]}, N[(c$95$s * If[LessEqual[z, -1450000.0], t$95$1, If[LessEqual[z, 2e+52], N[(N[(N[(N[(9.0 * x), $MachinePrecision] * y + N[(-4.0 * N[(N[(t * z), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision] / N[(z * c$95$m), $MachinePrecision]), $MachinePrecision], t$95$1]]), $MachinePrecision]]
\begin{array}{l}
c\_m = \left|c\right|
\\
c\_s = \mathsf{copysign}\left(1, c\right)

\\
\begin{array}{l}
t_1 := \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c\_m}\\
c\_s \cdot \begin{array}{l}
\mathbf{if}\;z \leq -1450000:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;z \leq 2 \cdot 10^{+52}:\\
\;\;\;\;\frac{\mathsf{fma}\left(9 \cdot x, y, -4 \cdot \left(\left(t \cdot z\right) \cdot a\right)\right) + b}{z \cdot c\_m}\\

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


\end{array}
\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if z < -1.45e6 or 2e52 < z

    1. Initial program 79.5%

      \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
    2. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) - 4 \cdot \frac{a \cdot t}{c}} \]
    3. Step-by-step derivation
      1. fp-cancel-sub-sign-invN/A

        \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + \color{blue}{\left(\mathsf{neg}\left(4\right)\right) \cdot \frac{a \cdot t}{c}} \]
      2. metadata-evalN/A

        \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + -4 \cdot \frac{\color{blue}{a \cdot t}}{c} \]
      3. +-commutativeN/A

        \[\leadsto -4 \cdot \frac{a \cdot t}{c} + \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right)} \]
      4. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \color{blue}{\frac{a \cdot t}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      5. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{\color{blue}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      6. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      7. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + 9 \cdot \frac{x \cdot y}{c \cdot z}\right) \]
      8. associate-*r/N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + \frac{9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      9. div-addN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      10. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      11. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{9 \cdot \left(x \cdot y\right) + b}{c \cdot z}\right) \]
      12. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\left(x \cdot y\right) \cdot 9 + b}{c \cdot z}\right) \]
      13. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{c \cdot z}\right) \]
      14. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      15. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      16. lower-*.f6484.1

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
    4. Applied rewrites84.1%

      \[\leadsto \color{blue}{\mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right)} \]
    5. Taylor expanded in c around 0

      \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{\color{blue}{c}} \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      2. *-commutativeN/A

        \[\leadsto \frac{\left(a \cdot t\right) \cdot -4 + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      3. lower-fma.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      4. lift-*.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      5. +-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + 9 \cdot \frac{x \cdot y}{z}\right)}{c} \]
      6. associate-*r/N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + \frac{9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      7. div-addN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      8. lower-/.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      9. +-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{9 \cdot \left(x \cdot y\right) + b}{z}\right)}{c} \]
      10. *-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\left(x \cdot y\right) \cdot 9 + b}{z}\right)}{c} \]
      11. lower-fma.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{z}\right)}{c} \]
      12. *-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
      13. lift-*.f6486.0

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
    7. Applied rewrites86.0%

      \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{\color{blue}{c}} \]

    if -1.45e6 < z < 2e52

    1. Initial program 79.5%

      \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
    2. Taylor expanded in x around 0

      \[\leadsto \frac{\color{blue}{\left(9 \cdot \left(x \cdot y\right) - 4 \cdot \left(a \cdot \left(t \cdot z\right)\right)\right)} + b}{z \cdot c} \]
    3. Step-by-step derivation
      1. fp-cancel-sub-sign-invN/A

        \[\leadsto \frac{\left(9 \cdot \left(x \cdot y\right) + \color{blue}{\left(\mathsf{neg}\left(4\right)\right) \cdot \left(a \cdot \left(t \cdot z\right)\right)}\right) + b}{z \cdot c} \]
      2. associate-*r*N/A

        \[\leadsto \frac{\left(\left(9 \cdot x\right) \cdot y + \color{blue}{\left(\mathsf{neg}\left(4\right)\right)} \cdot \left(a \cdot \left(t \cdot z\right)\right)\right) + b}{z \cdot c} \]
      3. metadata-evalN/A

        \[\leadsto \frac{\left(\left(9 \cdot x\right) \cdot y + -4 \cdot \left(\color{blue}{a} \cdot \left(t \cdot z\right)\right)\right) + b}{z \cdot c} \]
      4. lower-fma.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(9 \cdot x, \color{blue}{y}, -4 \cdot \left(a \cdot \left(t \cdot z\right)\right)\right) + b}{z \cdot c} \]
      5. lower-*.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(9 \cdot x, y, -4 \cdot \left(a \cdot \left(t \cdot z\right)\right)\right) + b}{z \cdot c} \]
      6. lower-*.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(9 \cdot x, y, -4 \cdot \left(a \cdot \left(t \cdot z\right)\right)\right) + b}{z \cdot c} \]
      7. *-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(9 \cdot x, y, -4 \cdot \left(\left(t \cdot z\right) \cdot a\right)\right) + b}{z \cdot c} \]
      8. lower-*.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(9 \cdot x, y, -4 \cdot \left(\left(t \cdot z\right) \cdot a\right)\right) + b}{z \cdot c} \]
      9. lower-*.f6480.0

        \[\leadsto \frac{\mathsf{fma}\left(9 \cdot x, y, -4 \cdot \left(\left(t \cdot z\right) \cdot a\right)\right) + b}{z \cdot c} \]
    4. Applied rewrites80.0%

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

Alternative 5: 87.9% accurate, 0.3× speedup?

\[\begin{array}{l} c\_m = \left|c\right| \\ c\_s = \mathsf{copysign}\left(1, c\right) \\ \begin{array}{l} t_1 := \mathsf{fma}\left(y \cdot x, 9, b\right)\\ t_2 := \frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c\_m}\\ t_3 := \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{t\_1}{z}\right)}{c\_m}\\ c\_s \cdot \begin{array}{l} \mathbf{if}\;t\_2 \leq -4 \cdot 10^{+281}:\\ \;\;\;\;t\_3\\ \mathbf{elif}\;t\_2 \leq -5 \cdot 10^{-141}:\\ \;\;\;\;\mathsf{fma}\left(-4, a \cdot \frac{t}{c\_m}, \frac{t\_1}{c\_m \cdot z}\right)\\ \mathbf{else}:\\ \;\;\;\;t\_3\\ \end{array} \end{array} \end{array} \]
c\_m = (fabs.f64 c)
c\_s = (copysign.f64 #s(literal 1 binary64) c)
(FPCore (c_s x y z t a b c_m)
 :precision binary64
 (let* ((t_1 (fma (* y x) 9.0 b))
        (t_2 (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) (* z c_m)))
        (t_3 (/ (fma (* a t) -4.0 (/ t_1 z)) c_m)))
   (*
    c_s
    (if (<= t_2 -4e+281)
      t_3
      (if (<= t_2 -5e-141)
        (fma -4.0 (* a (/ t c_m)) (/ t_1 (* c_m z)))
        t_3)))))
c\_m = fabs(c);
c\_s = copysign(1.0, c);
double code(double c_s, double x, double y, double z, double t, double a, double b, double c_m) {
	double t_1 = fma((y * x), 9.0, b);
	double t_2 = ((((x * 9.0) * y) - (((z * 4.0) * t) * a)) + b) / (z * c_m);
	double t_3 = fma((a * t), -4.0, (t_1 / z)) / c_m;
	double tmp;
	if (t_2 <= -4e+281) {
		tmp = t_3;
	} else if (t_2 <= -5e-141) {
		tmp = fma(-4.0, (a * (t / c_m)), (t_1 / (c_m * z)));
	} else {
		tmp = t_3;
	}
	return c_s * tmp;
}
c\_m = abs(c)
c\_s = copysign(1.0, c)
function code(c_s, x, y, z, t, a, b, c_m)
	t_1 = fma(Float64(y * x), 9.0, b)
	t_2 = Float64(Float64(Float64(Float64(Float64(x * 9.0) * y) - Float64(Float64(Float64(z * 4.0) * t) * a)) + b) / Float64(z * c_m))
	t_3 = Float64(fma(Float64(a * t), -4.0, Float64(t_1 / z)) / c_m)
	tmp = 0.0
	if (t_2 <= -4e+281)
		tmp = t_3;
	elseif (t_2 <= -5e-141)
		tmp = fma(-4.0, Float64(a * Float64(t / c_m)), Float64(t_1 / Float64(c_m * z)));
	else
		tmp = t_3;
	end
	return Float64(c_s * tmp)
end
c\_m = N[Abs[c], $MachinePrecision]
c\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[c]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[c$95$s_, x_, y_, z_, t_, a_, b_, c$95$m_] := Block[{t$95$1 = N[(N[(y * x), $MachinePrecision] * 9.0 + b), $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[(N[(N[(x * 9.0), $MachinePrecision] * y), $MachinePrecision] - N[(N[(N[(z * 4.0), $MachinePrecision] * t), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision] / N[(z * c$95$m), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(N[(a * t), $MachinePrecision] * -4.0 + N[(t$95$1 / z), $MachinePrecision]), $MachinePrecision] / c$95$m), $MachinePrecision]}, N[(c$95$s * If[LessEqual[t$95$2, -4e+281], t$95$3, If[LessEqual[t$95$2, -5e-141], N[(-4.0 * N[(a * N[(t / c$95$m), $MachinePrecision]), $MachinePrecision] + N[(t$95$1 / N[(c$95$m * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$3]]), $MachinePrecision]]]]
\begin{array}{l}
c\_m = \left|c\right|
\\
c\_s = \mathsf{copysign}\left(1, c\right)

\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(y \cdot x, 9, b\right)\\
t_2 := \frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c\_m}\\
t_3 := \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{t\_1}{z}\right)}{c\_m}\\
c\_s \cdot \begin{array}{l}
\mathbf{if}\;t\_2 \leq -4 \cdot 10^{+281}:\\
\;\;\;\;t\_3\\

\mathbf{elif}\;t\_2 \leq -5 \cdot 10^{-141}:\\
\;\;\;\;\mathsf{fma}\left(-4, a \cdot \frac{t}{c\_m}, \frac{t\_1}{c\_m \cdot z}\right)\\

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


\end{array}
\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (/.f64 (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 9 binary64)) y) (*.f64 (*.f64 (*.f64 z #s(literal 4 binary64)) t) a)) b) (*.f64 z c)) < -4.0000000000000001e281 or -4.9999999999999999e-141 < (/.f64 (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 9 binary64)) y) (*.f64 (*.f64 (*.f64 z #s(literal 4 binary64)) t) a)) b) (*.f64 z c))

    1. Initial program 79.5%

      \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
    2. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) - 4 \cdot \frac{a \cdot t}{c}} \]
    3. Step-by-step derivation
      1. fp-cancel-sub-sign-invN/A

        \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + \color{blue}{\left(\mathsf{neg}\left(4\right)\right) \cdot \frac{a \cdot t}{c}} \]
      2. metadata-evalN/A

        \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + -4 \cdot \frac{\color{blue}{a \cdot t}}{c} \]
      3. +-commutativeN/A

        \[\leadsto -4 \cdot \frac{a \cdot t}{c} + \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right)} \]
      4. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \color{blue}{\frac{a \cdot t}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      5. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{\color{blue}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      6. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      7. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + 9 \cdot \frac{x \cdot y}{c \cdot z}\right) \]
      8. associate-*r/N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + \frac{9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      9. div-addN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      10. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      11. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{9 \cdot \left(x \cdot y\right) + b}{c \cdot z}\right) \]
      12. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\left(x \cdot y\right) \cdot 9 + b}{c \cdot z}\right) \]
      13. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{c \cdot z}\right) \]
      14. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      15. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      16. lower-*.f6484.1

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
    4. Applied rewrites84.1%

      \[\leadsto \color{blue}{\mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right)} \]
    5. Taylor expanded in c around 0

      \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{\color{blue}{c}} \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      2. *-commutativeN/A

        \[\leadsto \frac{\left(a \cdot t\right) \cdot -4 + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      3. lower-fma.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      4. lift-*.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      5. +-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + 9 \cdot \frac{x \cdot y}{z}\right)}{c} \]
      6. associate-*r/N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + \frac{9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      7. div-addN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      8. lower-/.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      9. +-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{9 \cdot \left(x \cdot y\right) + b}{z}\right)}{c} \]
      10. *-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\left(x \cdot y\right) \cdot 9 + b}{z}\right)}{c} \]
      11. lower-fma.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{z}\right)}{c} \]
      12. *-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
      13. lift-*.f6486.0

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
    7. Applied rewrites86.0%

      \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{\color{blue}{c}} \]

    if -4.0000000000000001e281 < (/.f64 (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 9 binary64)) y) (*.f64 (*.f64 (*.f64 z #s(literal 4 binary64)) t) a)) b) (*.f64 z c)) < -4.9999999999999999e-141

    1. Initial program 79.5%

      \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
    2. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) - 4 \cdot \frac{a \cdot t}{c}} \]
    3. Step-by-step derivation
      1. fp-cancel-sub-sign-invN/A

        \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + \color{blue}{\left(\mathsf{neg}\left(4\right)\right) \cdot \frac{a \cdot t}{c}} \]
      2. metadata-evalN/A

        \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + -4 \cdot \frac{\color{blue}{a \cdot t}}{c} \]
      3. +-commutativeN/A

        \[\leadsto -4 \cdot \frac{a \cdot t}{c} + \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right)} \]
      4. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \color{blue}{\frac{a \cdot t}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      5. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{\color{blue}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      6. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      7. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + 9 \cdot \frac{x \cdot y}{c \cdot z}\right) \]
      8. associate-*r/N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + \frac{9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      9. div-addN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      10. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      11. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{9 \cdot \left(x \cdot y\right) + b}{c \cdot z}\right) \]
      12. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\left(x \cdot y\right) \cdot 9 + b}{c \cdot z}\right) \]
      13. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{c \cdot z}\right) \]
      14. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      15. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      16. lower-*.f6484.1

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
    4. Applied rewrites84.1%

      \[\leadsto \color{blue}{\mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right)} \]
    5. Step-by-step derivation
      1. lift-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      2. lift-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{\color{blue}{c}}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      3. associate-/l*N/A

        \[\leadsto \mathsf{fma}\left(-4, a \cdot \color{blue}{\frac{t}{c}}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      4. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, a \cdot \color{blue}{\frac{t}{c}}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      5. lower-/.f6483.8

        \[\leadsto \mathsf{fma}\left(-4, a \cdot \frac{t}{\color{blue}{c}}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
    6. Applied rewrites83.8%

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

Alternative 6: 87.5% accurate, 0.8× speedup?

\[\begin{array}{l} c\_m = \left|c\right| \\ c\_s = \mathsf{copysign}\left(1, c\right) \\ c\_s \cdot \begin{array}{l} \mathbf{if}\;\left(x \cdot 9\right) \cdot y \leq 10^{+305}:\\ \;\;\;\;\frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c\_m}\\ \mathbf{else}:\\ \;\;\;\;-\frac{\frac{y}{c\_m} \cdot -9 - \frac{b}{c\_m \cdot x}}{z} \cdot x\\ \end{array} \end{array} \]
c\_m = (fabs.f64 c)
c\_s = (copysign.f64 #s(literal 1 binary64) c)
(FPCore (c_s x y z t a b c_m)
 :precision binary64
 (*
  c_s
  (if (<= (* (* x 9.0) y) 1e+305)
    (/ (fma (* a t) -4.0 (/ (fma (* y x) 9.0 b) z)) c_m)
    (- (* (/ (- (* (/ y c_m) -9.0) (/ b (* c_m x))) z) x)))))
c\_m = fabs(c);
c\_s = copysign(1.0, c);
double code(double c_s, double x, double y, double z, double t, double a, double b, double c_m) {
	double tmp;
	if (((x * 9.0) * y) <= 1e+305) {
		tmp = fma((a * t), -4.0, (fma((y * x), 9.0, b) / z)) / c_m;
	} else {
		tmp = -(((((y / c_m) * -9.0) - (b / (c_m * x))) / z) * x);
	}
	return c_s * tmp;
}
c\_m = abs(c)
c\_s = copysign(1.0, c)
function code(c_s, x, y, z, t, a, b, c_m)
	tmp = 0.0
	if (Float64(Float64(x * 9.0) * y) <= 1e+305)
		tmp = Float64(fma(Float64(a * t), -4.0, Float64(fma(Float64(y * x), 9.0, b) / z)) / c_m);
	else
		tmp = Float64(-Float64(Float64(Float64(Float64(Float64(y / c_m) * -9.0) - Float64(b / Float64(c_m * x))) / z) * x));
	end
	return Float64(c_s * tmp)
end
c\_m = N[Abs[c], $MachinePrecision]
c\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[c]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[c$95$s_, x_, y_, z_, t_, a_, b_, c$95$m_] := N[(c$95$s * If[LessEqual[N[(N[(x * 9.0), $MachinePrecision] * y), $MachinePrecision], 1e+305], N[(N[(N[(a * t), $MachinePrecision] * -4.0 + N[(N[(N[(y * x), $MachinePrecision] * 9.0 + b), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision] / c$95$m), $MachinePrecision], (-N[(N[(N[(N[(N[(y / c$95$m), $MachinePrecision] * -9.0), $MachinePrecision] - N[(b / N[(c$95$m * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision] * x), $MachinePrecision])]), $MachinePrecision]
\begin{array}{l}
c\_m = \left|c\right|
\\
c\_s = \mathsf{copysign}\left(1, c\right)

\\
c\_s \cdot \begin{array}{l}
\mathbf{if}\;\left(x \cdot 9\right) \cdot y \leq 10^{+305}:\\
\;\;\;\;\frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c\_m}\\

\mathbf{else}:\\
\;\;\;\;-\frac{\frac{y}{c\_m} \cdot -9 - \frac{b}{c\_m \cdot x}}{z} \cdot x\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (*.f64 (*.f64 x #s(literal 9 binary64)) y) < 9.9999999999999994e304

    1. Initial program 79.5%

      \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
    2. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) - 4 \cdot \frac{a \cdot t}{c}} \]
    3. Step-by-step derivation
      1. fp-cancel-sub-sign-invN/A

        \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + \color{blue}{\left(\mathsf{neg}\left(4\right)\right) \cdot \frac{a \cdot t}{c}} \]
      2. metadata-evalN/A

        \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + -4 \cdot \frac{\color{blue}{a \cdot t}}{c} \]
      3. +-commutativeN/A

        \[\leadsto -4 \cdot \frac{a \cdot t}{c} + \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right)} \]
      4. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \color{blue}{\frac{a \cdot t}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      5. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{\color{blue}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      6. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      7. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + 9 \cdot \frac{x \cdot y}{c \cdot z}\right) \]
      8. associate-*r/N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + \frac{9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      9. div-addN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      10. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      11. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{9 \cdot \left(x \cdot y\right) + b}{c \cdot z}\right) \]
      12. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\left(x \cdot y\right) \cdot 9 + b}{c \cdot z}\right) \]
      13. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{c \cdot z}\right) \]
      14. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      15. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      16. lower-*.f6484.1

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
    4. Applied rewrites84.1%

      \[\leadsto \color{blue}{\mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right)} \]
    5. Taylor expanded in c around 0

      \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{\color{blue}{c}} \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      2. *-commutativeN/A

        \[\leadsto \frac{\left(a \cdot t\right) \cdot -4 + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      3. lower-fma.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      4. lift-*.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      5. +-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + 9 \cdot \frac{x \cdot y}{z}\right)}{c} \]
      6. associate-*r/N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + \frac{9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      7. div-addN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      8. lower-/.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      9. +-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{9 \cdot \left(x \cdot y\right) + b}{z}\right)}{c} \]
      10. *-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\left(x \cdot y\right) \cdot 9 + b}{z}\right)}{c} \]
      11. lower-fma.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{z}\right)}{c} \]
      12. *-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
      13. lift-*.f6486.0

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
    7. Applied rewrites86.0%

      \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{\color{blue}{c}} \]

    if 9.9999999999999994e304 < (*.f64 (*.f64 x #s(literal 9 binary64)) y)

    1. Initial program 79.5%

      \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
    2. Taylor expanded in x around -inf

      \[\leadsto \color{blue}{-1 \cdot \left(x \cdot \left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right)\right)} \]
    3. Step-by-step derivation
      1. mul-1-negN/A

        \[\leadsto \mathsf{neg}\left(x \cdot \left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right)\right) \]
      2. lower-neg.f64N/A

        \[\leadsto -x \cdot \left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right) \]
      3. *-commutativeN/A

        \[\leadsto -\left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right) \cdot x \]
      4. lower-*.f64N/A

        \[\leadsto -\left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right) \cdot x \]
    4. Applied rewrites72.2%

      \[\leadsto \color{blue}{-\mathsf{fma}\left(-9, \frac{y}{c \cdot z}, -\frac{\frac{b}{c \cdot z} - \frac{a \cdot t}{c} \cdot 4}{x}\right) \cdot x} \]
    5. Taylor expanded in z around 0

      \[\leadsto -\frac{-9 \cdot \frac{y}{c} - \frac{b}{c \cdot x}}{z} \cdot x \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto -\frac{-9 \cdot \frac{y}{c} - \frac{b}{c \cdot x}}{z} \cdot x \]
      2. lower--.f64N/A

        \[\leadsto -\frac{-9 \cdot \frac{y}{c} - \frac{b}{c \cdot x}}{z} \cdot x \]
      3. *-commutativeN/A

        \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
      4. lower-*.f64N/A

        \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
      5. lower-/.f64N/A

        \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
      6. lower-/.f64N/A

        \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
      7. lower-*.f6454.8

        \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
    7. Applied rewrites54.8%

      \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 7: 77.1% accurate, 0.6× speedup?

\[\begin{array}{l} c\_m = \left|c\right| \\ c\_s = \mathsf{copysign}\left(1, c\right) \\ \begin{array}{l} t_1 := -\frac{\frac{y}{c\_m} \cdot -9 - \frac{b}{c\_m \cdot x}}{z} \cdot x\\ t_2 := \left(x \cdot 9\right) \cdot y\\ c\_s \cdot \begin{array}{l} \mathbf{if}\;t\_2 \leq -2 \cdot 10^{+124}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;t\_2 \leq 5 \cdot 10^{+96}:\\ \;\;\;\;\frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{c\_m}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \end{array} \]
c\_m = (fabs.f64 c)
c\_s = (copysign.f64 #s(literal 1 binary64) c)
(FPCore (c_s x y z t a b c_m)
 :precision binary64
 (let* ((t_1 (- (* (/ (- (* (/ y c_m) -9.0) (/ b (* c_m x))) z) x)))
        (t_2 (* (* x 9.0) y)))
   (*
    c_s
    (if (<= t_2 -2e+124)
      t_1
      (if (<= t_2 5e+96) (/ (fma (* a t) -4.0 (/ b z)) c_m) t_1)))))
c\_m = fabs(c);
c\_s = copysign(1.0, c);
double code(double c_s, double x, double y, double z, double t, double a, double b, double c_m) {
	double t_1 = -(((((y / c_m) * -9.0) - (b / (c_m * x))) / z) * x);
	double t_2 = (x * 9.0) * y;
	double tmp;
	if (t_2 <= -2e+124) {
		tmp = t_1;
	} else if (t_2 <= 5e+96) {
		tmp = fma((a * t), -4.0, (b / z)) / c_m;
	} else {
		tmp = t_1;
	}
	return c_s * tmp;
}
c\_m = abs(c)
c\_s = copysign(1.0, c)
function code(c_s, x, y, z, t, a, b, c_m)
	t_1 = Float64(-Float64(Float64(Float64(Float64(Float64(y / c_m) * -9.0) - Float64(b / Float64(c_m * x))) / z) * x))
	t_2 = Float64(Float64(x * 9.0) * y)
	tmp = 0.0
	if (t_2 <= -2e+124)
		tmp = t_1;
	elseif (t_2 <= 5e+96)
		tmp = Float64(fma(Float64(a * t), -4.0, Float64(b / z)) / c_m);
	else
		tmp = t_1;
	end
	return Float64(c_s * tmp)
end
c\_m = N[Abs[c], $MachinePrecision]
c\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[c]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[c$95$s_, x_, y_, z_, t_, a_, b_, c$95$m_] := Block[{t$95$1 = (-N[(N[(N[(N[(N[(y / c$95$m), $MachinePrecision] * -9.0), $MachinePrecision] - N[(b / N[(c$95$m * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision] * x), $MachinePrecision])}, Block[{t$95$2 = N[(N[(x * 9.0), $MachinePrecision] * y), $MachinePrecision]}, N[(c$95$s * If[LessEqual[t$95$2, -2e+124], t$95$1, If[LessEqual[t$95$2, 5e+96], N[(N[(N[(a * t), $MachinePrecision] * -4.0 + N[(b / z), $MachinePrecision]), $MachinePrecision] / c$95$m), $MachinePrecision], t$95$1]]), $MachinePrecision]]]
\begin{array}{l}
c\_m = \left|c\right|
\\
c\_s = \mathsf{copysign}\left(1, c\right)

\\
\begin{array}{l}
t_1 := -\frac{\frac{y}{c\_m} \cdot -9 - \frac{b}{c\_m \cdot x}}{z} \cdot x\\
t_2 := \left(x \cdot 9\right) \cdot y\\
c\_s \cdot \begin{array}{l}
\mathbf{if}\;t\_2 \leq -2 \cdot 10^{+124}:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;t\_2 \leq 5 \cdot 10^{+96}:\\
\;\;\;\;\frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{c\_m}\\

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


\end{array}
\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (*.f64 (*.f64 x #s(literal 9 binary64)) y) < -1.9999999999999999e124 or 5.0000000000000004e96 < (*.f64 (*.f64 x #s(literal 9 binary64)) y)

    1. Initial program 79.5%

      \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
    2. Taylor expanded in x around -inf

      \[\leadsto \color{blue}{-1 \cdot \left(x \cdot \left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right)\right)} \]
    3. Step-by-step derivation
      1. mul-1-negN/A

        \[\leadsto \mathsf{neg}\left(x \cdot \left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right)\right) \]
      2. lower-neg.f64N/A

        \[\leadsto -x \cdot \left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right) \]
      3. *-commutativeN/A

        \[\leadsto -\left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right) \cdot x \]
      4. lower-*.f64N/A

        \[\leadsto -\left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right) \cdot x \]
    4. Applied rewrites72.2%

      \[\leadsto \color{blue}{-\mathsf{fma}\left(-9, \frac{y}{c \cdot z}, -\frac{\frac{b}{c \cdot z} - \frac{a \cdot t}{c} \cdot 4}{x}\right) \cdot x} \]
    5. Taylor expanded in z around 0

      \[\leadsto -\frac{-9 \cdot \frac{y}{c} - \frac{b}{c \cdot x}}{z} \cdot x \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto -\frac{-9 \cdot \frac{y}{c} - \frac{b}{c \cdot x}}{z} \cdot x \]
      2. lower--.f64N/A

        \[\leadsto -\frac{-9 \cdot \frac{y}{c} - \frac{b}{c \cdot x}}{z} \cdot x \]
      3. *-commutativeN/A

        \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
      4. lower-*.f64N/A

        \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
      5. lower-/.f64N/A

        \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
      6. lower-/.f64N/A

        \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
      7. lower-*.f6454.8

        \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
    7. Applied rewrites54.8%

      \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]

    if -1.9999999999999999e124 < (*.f64 (*.f64 x #s(literal 9 binary64)) y) < 5.0000000000000004e96

    1. Initial program 79.5%

      \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
    2. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) - 4 \cdot \frac{a \cdot t}{c}} \]
    3. Step-by-step derivation
      1. fp-cancel-sub-sign-invN/A

        \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + \color{blue}{\left(\mathsf{neg}\left(4\right)\right) \cdot \frac{a \cdot t}{c}} \]
      2. metadata-evalN/A

        \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + -4 \cdot \frac{\color{blue}{a \cdot t}}{c} \]
      3. +-commutativeN/A

        \[\leadsto -4 \cdot \frac{a \cdot t}{c} + \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right)} \]
      4. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \color{blue}{\frac{a \cdot t}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      5. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{\color{blue}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      6. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
      7. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + 9 \cdot \frac{x \cdot y}{c \cdot z}\right) \]
      8. associate-*r/N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + \frac{9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      9. div-addN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      10. lower-/.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
      11. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{9 \cdot \left(x \cdot y\right) + b}{c \cdot z}\right) \]
      12. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\left(x \cdot y\right) \cdot 9 + b}{c \cdot z}\right) \]
      13. lower-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{c \cdot z}\right) \]
      14. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      15. lower-*.f64N/A

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      16. lower-*.f6484.1

        \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
    4. Applied rewrites84.1%

      \[\leadsto \color{blue}{\mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right)} \]
    5. Taylor expanded in c around 0

      \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{\color{blue}{c}} \]
    6. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      2. *-commutativeN/A

        \[\leadsto \frac{\left(a \cdot t\right) \cdot -4 + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      3. lower-fma.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      4. lift-*.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
      5. +-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + 9 \cdot \frac{x \cdot y}{z}\right)}{c} \]
      6. associate-*r/N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + \frac{9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      7. div-addN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      8. lower-/.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
      9. +-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{9 \cdot \left(x \cdot y\right) + b}{z}\right)}{c} \]
      10. *-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\left(x \cdot y\right) \cdot 9 + b}{z}\right)}{c} \]
      11. lower-fma.f64N/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{z}\right)}{c} \]
      12. *-commutativeN/A

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
      13. lift-*.f6486.0

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
    7. Applied rewrites86.0%

      \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{\color{blue}{c}} \]
    8. Taylor expanded in x around 0

      \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{c} \]
    9. Step-by-step derivation
      1. Applied rewrites63.2%

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{c} \]
    10. Recombined 2 regimes into one program.
    11. Add Preprocessing

    Alternative 8: 76.7% accurate, 0.6× speedup?

    \[\begin{array}{l} c\_m = \left|c\right| \\ c\_s = \mathsf{copysign}\left(1, c\right) \\ \begin{array}{l} t_1 := \left(x \cdot 9\right) \cdot y\\ c\_s \cdot \begin{array}{l} \mathbf{if}\;t\_1 \leq -2 \cdot 10^{+124}:\\ \;\;\;\;\frac{\mathsf{fma}\left(-4 \cdot a, t, \frac{y \cdot x}{z} \cdot 9\right)}{c\_m}\\ \mathbf{elif}\;t\_1 \leq 5 \cdot 10^{+96}:\\ \;\;\;\;\frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{c\_m}\\ \mathbf{else}:\\ \;\;\;\;-\frac{\left(\frac{y}{c\_m} \cdot -9 - \frac{b}{c\_m \cdot x}\right) \cdot x}{z}\\ \end{array} \end{array} \end{array} \]
    c\_m = (fabs.f64 c)
    c\_s = (copysign.f64 #s(literal 1 binary64) c)
    (FPCore (c_s x y z t a b c_m)
     :precision binary64
     (let* ((t_1 (* (* x 9.0) y)))
       (*
        c_s
        (if (<= t_1 -2e+124)
          (/ (fma (* -4.0 a) t (* (/ (* y x) z) 9.0)) c_m)
          (if (<= t_1 5e+96)
            (/ (fma (* a t) -4.0 (/ b z)) c_m)
            (- (/ (* (- (* (/ y c_m) -9.0) (/ b (* c_m x))) x) z)))))))
    c\_m = fabs(c);
    c\_s = copysign(1.0, c);
    double code(double c_s, double x, double y, double z, double t, double a, double b, double c_m) {
    	double t_1 = (x * 9.0) * y;
    	double tmp;
    	if (t_1 <= -2e+124) {
    		tmp = fma((-4.0 * a), t, (((y * x) / z) * 9.0)) / c_m;
    	} else if (t_1 <= 5e+96) {
    		tmp = fma((a * t), -4.0, (b / z)) / c_m;
    	} else {
    		tmp = -(((((y / c_m) * -9.0) - (b / (c_m * x))) * x) / z);
    	}
    	return c_s * tmp;
    }
    
    c\_m = abs(c)
    c\_s = copysign(1.0, c)
    function code(c_s, x, y, z, t, a, b, c_m)
    	t_1 = Float64(Float64(x * 9.0) * y)
    	tmp = 0.0
    	if (t_1 <= -2e+124)
    		tmp = Float64(fma(Float64(-4.0 * a), t, Float64(Float64(Float64(y * x) / z) * 9.0)) / c_m);
    	elseif (t_1 <= 5e+96)
    		tmp = Float64(fma(Float64(a * t), -4.0, Float64(b / z)) / c_m);
    	else
    		tmp = Float64(-Float64(Float64(Float64(Float64(Float64(y / c_m) * -9.0) - Float64(b / Float64(c_m * x))) * x) / z));
    	end
    	return Float64(c_s * tmp)
    end
    
    c\_m = N[Abs[c], $MachinePrecision]
    c\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[c]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
    code[c$95$s_, x_, y_, z_, t_, a_, b_, c$95$m_] := Block[{t$95$1 = N[(N[(x * 9.0), $MachinePrecision] * y), $MachinePrecision]}, N[(c$95$s * If[LessEqual[t$95$1, -2e+124], N[(N[(N[(-4.0 * a), $MachinePrecision] * t + N[(N[(N[(y * x), $MachinePrecision] / z), $MachinePrecision] * 9.0), $MachinePrecision]), $MachinePrecision] / c$95$m), $MachinePrecision], If[LessEqual[t$95$1, 5e+96], N[(N[(N[(a * t), $MachinePrecision] * -4.0 + N[(b / z), $MachinePrecision]), $MachinePrecision] / c$95$m), $MachinePrecision], (-N[(N[(N[(N[(N[(y / c$95$m), $MachinePrecision] * -9.0), $MachinePrecision] - N[(b / N[(c$95$m * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision] / z), $MachinePrecision])]]), $MachinePrecision]]
    
    \begin{array}{l}
    c\_m = \left|c\right|
    \\
    c\_s = \mathsf{copysign}\left(1, c\right)
    
    \\
    \begin{array}{l}
    t_1 := \left(x \cdot 9\right) \cdot y\\
    c\_s \cdot \begin{array}{l}
    \mathbf{if}\;t\_1 \leq -2 \cdot 10^{+124}:\\
    \;\;\;\;\frac{\mathsf{fma}\left(-4 \cdot a, t, \frac{y \cdot x}{z} \cdot 9\right)}{c\_m}\\
    
    \mathbf{elif}\;t\_1 \leq 5 \cdot 10^{+96}:\\
    \;\;\;\;\frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{c\_m}\\
    
    \mathbf{else}:\\
    \;\;\;\;-\frac{\left(\frac{y}{c\_m} \cdot -9 - \frac{b}{c\_m \cdot x}\right) \cdot x}{z}\\
    
    
    \end{array}
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 3 regimes
    2. if (*.f64 (*.f64 x #s(literal 9 binary64)) y) < -1.9999999999999999e124

      1. Initial program 79.5%

        \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
      2. Taylor expanded in x around 0

        \[\leadsto \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) - 4 \cdot \frac{a \cdot t}{c}} \]
      3. Step-by-step derivation
        1. fp-cancel-sub-sign-invN/A

          \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + \color{blue}{\left(\mathsf{neg}\left(4\right)\right) \cdot \frac{a \cdot t}{c}} \]
        2. metadata-evalN/A

          \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + -4 \cdot \frac{\color{blue}{a \cdot t}}{c} \]
        3. +-commutativeN/A

          \[\leadsto -4 \cdot \frac{a \cdot t}{c} + \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right)} \]
        4. lower-fma.f64N/A

          \[\leadsto \mathsf{fma}\left(-4, \color{blue}{\frac{a \cdot t}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
        5. lower-/.f64N/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{\color{blue}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
        6. lower-*.f64N/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
        7. +-commutativeN/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + 9 \cdot \frac{x \cdot y}{c \cdot z}\right) \]
        8. associate-*r/N/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + \frac{9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
        9. div-addN/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
        10. lower-/.f64N/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
        11. +-commutativeN/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{9 \cdot \left(x \cdot y\right) + b}{c \cdot z}\right) \]
        12. *-commutativeN/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\left(x \cdot y\right) \cdot 9 + b}{c \cdot z}\right) \]
        13. lower-fma.f64N/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{c \cdot z}\right) \]
        14. *-commutativeN/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
        15. lower-*.f64N/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
        16. lower-*.f6484.1

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      4. Applied rewrites84.1%

        \[\leadsto \color{blue}{\mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right)} \]
      5. Taylor expanded in c around 0

        \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{\color{blue}{c}} \]
      6. Step-by-step derivation
        1. lower-/.f64N/A

          \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
        2. *-commutativeN/A

          \[\leadsto \frac{\left(a \cdot t\right) \cdot -4 + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
        3. lower-fma.f64N/A

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
        4. lift-*.f64N/A

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
        5. +-commutativeN/A

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + 9 \cdot \frac{x \cdot y}{z}\right)}{c} \]
        6. associate-*r/N/A

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + \frac{9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
        7. div-addN/A

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
        8. lower-/.f64N/A

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
        9. +-commutativeN/A

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{9 \cdot \left(x \cdot y\right) + b}{z}\right)}{c} \]
        10. *-commutativeN/A

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\left(x \cdot y\right) \cdot 9 + b}{z}\right)}{c} \]
        11. lower-fma.f64N/A

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{z}\right)}{c} \]
        12. *-commutativeN/A

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
        13. lift-*.f6486.0

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
      7. Applied rewrites86.0%

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{\color{blue}{c}} \]
      8. Taylor expanded in b around 0

        \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + 9 \cdot \frac{x \cdot y}{z}}{c} \]
      9. Step-by-step derivation
        1. associate-*r*N/A

          \[\leadsto \frac{\left(-4 \cdot a\right) \cdot t + 9 \cdot \frac{x \cdot y}{z}}{c} \]
        2. lower-fma.f64N/A

          \[\leadsto \frac{\mathsf{fma}\left(-4 \cdot a, t, 9 \cdot \frac{x \cdot y}{z}\right)}{c} \]
        3. lower-*.f64N/A

          \[\leadsto \frac{\mathsf{fma}\left(-4 \cdot a, t, 9 \cdot \frac{x \cdot y}{z}\right)}{c} \]
        4. *-commutativeN/A

          \[\leadsto \frac{\mathsf{fma}\left(-4 \cdot a, t, \frac{x \cdot y}{z} \cdot 9\right)}{c} \]
        5. lower-*.f64N/A

          \[\leadsto \frac{\mathsf{fma}\left(-4 \cdot a, t, \frac{x \cdot y}{z} \cdot 9\right)}{c} \]
        6. lower-/.f64N/A

          \[\leadsto \frac{\mathsf{fma}\left(-4 \cdot a, t, \frac{x \cdot y}{z} \cdot 9\right)}{c} \]
        7. *-commutativeN/A

          \[\leadsto \frac{\mathsf{fma}\left(-4 \cdot a, t, \frac{y \cdot x}{z} \cdot 9\right)}{c} \]
        8. lift-*.f6464.4

          \[\leadsto \frac{\mathsf{fma}\left(-4 \cdot a, t, \frac{y \cdot x}{z} \cdot 9\right)}{c} \]
      10. Applied rewrites64.4%

        \[\leadsto \frac{\mathsf{fma}\left(-4 \cdot a, t, \frac{y \cdot x}{z} \cdot 9\right)}{c} \]

      if -1.9999999999999999e124 < (*.f64 (*.f64 x #s(literal 9 binary64)) y) < 5.0000000000000004e96

      1. Initial program 79.5%

        \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
      2. Taylor expanded in x around 0

        \[\leadsto \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) - 4 \cdot \frac{a \cdot t}{c}} \]
      3. Step-by-step derivation
        1. fp-cancel-sub-sign-invN/A

          \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + \color{blue}{\left(\mathsf{neg}\left(4\right)\right) \cdot \frac{a \cdot t}{c}} \]
        2. metadata-evalN/A

          \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + -4 \cdot \frac{\color{blue}{a \cdot t}}{c} \]
        3. +-commutativeN/A

          \[\leadsto -4 \cdot \frac{a \cdot t}{c} + \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right)} \]
        4. lower-fma.f64N/A

          \[\leadsto \mathsf{fma}\left(-4, \color{blue}{\frac{a \cdot t}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
        5. lower-/.f64N/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{\color{blue}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
        6. lower-*.f64N/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
        7. +-commutativeN/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + 9 \cdot \frac{x \cdot y}{c \cdot z}\right) \]
        8. associate-*r/N/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + \frac{9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
        9. div-addN/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
        10. lower-/.f64N/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
        11. +-commutativeN/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{9 \cdot \left(x \cdot y\right) + b}{c \cdot z}\right) \]
        12. *-commutativeN/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\left(x \cdot y\right) \cdot 9 + b}{c \cdot z}\right) \]
        13. lower-fma.f64N/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{c \cdot z}\right) \]
        14. *-commutativeN/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
        15. lower-*.f64N/A

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
        16. lower-*.f6484.1

          \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
      4. Applied rewrites84.1%

        \[\leadsto \color{blue}{\mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right)} \]
      5. Taylor expanded in c around 0

        \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{\color{blue}{c}} \]
      6. Step-by-step derivation
        1. lower-/.f64N/A

          \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
        2. *-commutativeN/A

          \[\leadsto \frac{\left(a \cdot t\right) \cdot -4 + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
        3. lower-fma.f64N/A

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
        4. lift-*.f64N/A

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
        5. +-commutativeN/A

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + 9 \cdot \frac{x \cdot y}{z}\right)}{c} \]
        6. associate-*r/N/A

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + \frac{9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
        7. div-addN/A

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
        8. lower-/.f64N/A

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
        9. +-commutativeN/A

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{9 \cdot \left(x \cdot y\right) + b}{z}\right)}{c} \]
        10. *-commutativeN/A

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\left(x \cdot y\right) \cdot 9 + b}{z}\right)}{c} \]
        11. lower-fma.f64N/A

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{z}\right)}{c} \]
        12. *-commutativeN/A

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
        13. lift-*.f6486.0

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
      7. Applied rewrites86.0%

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{\color{blue}{c}} \]
      8. Taylor expanded in x around 0

        \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{c} \]
      9. Step-by-step derivation
        1. Applied rewrites63.2%

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{c} \]

        if 5.0000000000000004e96 < (*.f64 (*.f64 x #s(literal 9 binary64)) y)

        1. Initial program 79.5%

          \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
        2. Taylor expanded in x around -inf

          \[\leadsto \color{blue}{-1 \cdot \left(x \cdot \left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right)\right)} \]
        3. Step-by-step derivation
          1. mul-1-negN/A

            \[\leadsto \mathsf{neg}\left(x \cdot \left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right)\right) \]
          2. lower-neg.f64N/A

            \[\leadsto -x \cdot \left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right) \]
          3. *-commutativeN/A

            \[\leadsto -\left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right) \cdot x \]
          4. lower-*.f64N/A

            \[\leadsto -\left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right) \cdot x \]
        4. Applied rewrites72.2%

          \[\leadsto \color{blue}{-\mathsf{fma}\left(-9, \frac{y}{c \cdot z}, -\frac{\frac{b}{c \cdot z} - \frac{a \cdot t}{c} \cdot 4}{x}\right) \cdot x} \]
        5. Taylor expanded in z around 0

          \[\leadsto -\frac{x \cdot \left(-9 \cdot \frac{y}{c} - \frac{b}{c \cdot x}\right)}{z} \]
        6. Step-by-step derivation
          1. lower-/.f64N/A

            \[\leadsto -\frac{x \cdot \left(-9 \cdot \frac{y}{c} - \frac{b}{c \cdot x}\right)}{z} \]
          2. *-commutativeN/A

            \[\leadsto -\frac{\left(-9 \cdot \frac{y}{c} - \frac{b}{c \cdot x}\right) \cdot x}{z} \]
          3. lower-*.f64N/A

            \[\leadsto -\frac{\left(-9 \cdot \frac{y}{c} - \frac{b}{c \cdot x}\right) \cdot x}{z} \]
          4. lower--.f64N/A

            \[\leadsto -\frac{\left(-9 \cdot \frac{y}{c} - \frac{b}{c \cdot x}\right) \cdot x}{z} \]
          5. *-commutativeN/A

            \[\leadsto -\frac{\left(\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}\right) \cdot x}{z} \]
          6. lower-*.f64N/A

            \[\leadsto -\frac{\left(\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}\right) \cdot x}{z} \]
          7. lower-/.f64N/A

            \[\leadsto -\frac{\left(\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}\right) \cdot x}{z} \]
          8. lower-/.f64N/A

            \[\leadsto -\frac{\left(\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}\right) \cdot x}{z} \]
          9. lower-*.f6456.0

            \[\leadsto -\frac{\left(\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}\right) \cdot x}{z} \]
        7. Applied rewrites56.0%

          \[\leadsto -\frac{\left(\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}\right) \cdot x}{z} \]
      10. Recombined 3 regimes into one program.
      11. Add Preprocessing

      Alternative 9: 74.1% accurate, 1.0× speedup?

      \[\begin{array}{l} c\_m = \left|c\right| \\ c\_s = \mathsf{copysign}\left(1, c\right) \\ \begin{array}{l} t_1 := \frac{\mathsf{fma}\left(x \cdot \frac{y}{c\_m}, 9, \frac{b}{c\_m}\right)}{z}\\ c\_s \cdot \begin{array}{l} \mathbf{if}\;y \leq -1.05 \cdot 10^{-21}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;y \leq 8.8 \cdot 10^{+158}:\\ \;\;\;\;\frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{c\_m}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \end{array} \]
      c\_m = (fabs.f64 c)
      c\_s = (copysign.f64 #s(literal 1 binary64) c)
      (FPCore (c_s x y z t a b c_m)
       :precision binary64
       (let* ((t_1 (/ (fma (* x (/ y c_m)) 9.0 (/ b c_m)) z)))
         (*
          c_s
          (if (<= y -1.05e-21)
            t_1
            (if (<= y 8.8e+158) (/ (fma (* a t) -4.0 (/ b z)) c_m) t_1)))))
      c\_m = fabs(c);
      c\_s = copysign(1.0, c);
      double code(double c_s, double x, double y, double z, double t, double a, double b, double c_m) {
      	double t_1 = fma((x * (y / c_m)), 9.0, (b / c_m)) / z;
      	double tmp;
      	if (y <= -1.05e-21) {
      		tmp = t_1;
      	} else if (y <= 8.8e+158) {
      		tmp = fma((a * t), -4.0, (b / z)) / c_m;
      	} else {
      		tmp = t_1;
      	}
      	return c_s * tmp;
      }
      
      c\_m = abs(c)
      c\_s = copysign(1.0, c)
      function code(c_s, x, y, z, t, a, b, c_m)
      	t_1 = Float64(fma(Float64(x * Float64(y / c_m)), 9.0, Float64(b / c_m)) / z)
      	tmp = 0.0
      	if (y <= -1.05e-21)
      		tmp = t_1;
      	elseif (y <= 8.8e+158)
      		tmp = Float64(fma(Float64(a * t), -4.0, Float64(b / z)) / c_m);
      	else
      		tmp = t_1;
      	end
      	return Float64(c_s * tmp)
      end
      
      c\_m = N[Abs[c], $MachinePrecision]
      c\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[c]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
      code[c$95$s_, x_, y_, z_, t_, a_, b_, c$95$m_] := Block[{t$95$1 = N[(N[(N[(x * N[(y / c$95$m), $MachinePrecision]), $MachinePrecision] * 9.0 + N[(b / c$95$m), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]}, N[(c$95$s * If[LessEqual[y, -1.05e-21], t$95$1, If[LessEqual[y, 8.8e+158], N[(N[(N[(a * t), $MachinePrecision] * -4.0 + N[(b / z), $MachinePrecision]), $MachinePrecision] / c$95$m), $MachinePrecision], t$95$1]]), $MachinePrecision]]
      
      \begin{array}{l}
      c\_m = \left|c\right|
      \\
      c\_s = \mathsf{copysign}\left(1, c\right)
      
      \\
      \begin{array}{l}
      t_1 := \frac{\mathsf{fma}\left(x \cdot \frac{y}{c\_m}, 9, \frac{b}{c\_m}\right)}{z}\\
      c\_s \cdot \begin{array}{l}
      \mathbf{if}\;y \leq -1.05 \cdot 10^{-21}:\\
      \;\;\;\;t\_1\\
      
      \mathbf{elif}\;y \leq 8.8 \cdot 10^{+158}:\\
      \;\;\;\;\frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{c\_m}\\
      
      \mathbf{else}:\\
      \;\;\;\;t\_1\\
      
      
      \end{array}
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 2 regimes
      2. if y < -1.05000000000000006e-21 or 8.8000000000000005e158 < y

        1. Initial program 79.5%

          \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
        2. Taylor expanded in x around 0

          \[\leadsto \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) - 4 \cdot \frac{a \cdot t}{c}} \]
        3. Step-by-step derivation
          1. fp-cancel-sub-sign-invN/A

            \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + \color{blue}{\left(\mathsf{neg}\left(4\right)\right) \cdot \frac{a \cdot t}{c}} \]
          2. metadata-evalN/A

            \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + -4 \cdot \frac{\color{blue}{a \cdot t}}{c} \]
          3. +-commutativeN/A

            \[\leadsto -4 \cdot \frac{a \cdot t}{c} + \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right)} \]
          4. lower-fma.f64N/A

            \[\leadsto \mathsf{fma}\left(-4, \color{blue}{\frac{a \cdot t}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
          5. lower-/.f64N/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{\color{blue}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
          6. lower-*.f64N/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
          7. +-commutativeN/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + 9 \cdot \frac{x \cdot y}{c \cdot z}\right) \]
          8. associate-*r/N/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + \frac{9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
          9. div-addN/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
          10. lower-/.f64N/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
          11. +-commutativeN/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{9 \cdot \left(x \cdot y\right) + b}{c \cdot z}\right) \]
          12. *-commutativeN/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\left(x \cdot y\right) \cdot 9 + b}{c \cdot z}\right) \]
          13. lower-fma.f64N/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{c \cdot z}\right) \]
          14. *-commutativeN/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
          15. lower-*.f64N/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
          16. lower-*.f6484.1

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
        4. Applied rewrites84.1%

          \[\leadsto \color{blue}{\mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right)} \]
        5. Step-by-step derivation
          1. lift-*.f64N/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
          2. lift-/.f64N/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{\color{blue}{c}}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
          3. associate-/l*N/A

            \[\leadsto \mathsf{fma}\left(-4, a \cdot \color{blue}{\frac{t}{c}}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
          4. lower-*.f64N/A

            \[\leadsto \mathsf{fma}\left(-4, a \cdot \color{blue}{\frac{t}{c}}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
          5. lower-/.f6483.8

            \[\leadsto \mathsf{fma}\left(-4, a \cdot \frac{t}{\color{blue}{c}}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
        6. Applied rewrites83.8%

          \[\leadsto \mathsf{fma}\left(-4, a \cdot \color{blue}{\frac{t}{c}}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
        7. Taylor expanded in z around 0

          \[\leadsto \frac{9 \cdot \frac{x \cdot y}{c} + \frac{b}{c}}{\color{blue}{z}} \]
        8. Step-by-step derivation
          1. lower-/.f64N/A

            \[\leadsto \frac{9 \cdot \frac{x \cdot y}{c} + \frac{b}{c}}{z} \]
          2. *-commutativeN/A

            \[\leadsto \frac{\frac{x \cdot y}{c} \cdot 9 + \frac{b}{c}}{z} \]
          3. lower-fma.f64N/A

            \[\leadsto \frac{\mathsf{fma}\left(\frac{x \cdot y}{c}, 9, \frac{b}{c}\right)}{z} \]
          4. associate-/l*N/A

            \[\leadsto \frac{\mathsf{fma}\left(x \cdot \frac{y}{c}, 9, \frac{b}{c}\right)}{z} \]
          5. lower-*.f64N/A

            \[\leadsto \frac{\mathsf{fma}\left(x \cdot \frac{y}{c}, 9, \frac{b}{c}\right)}{z} \]
          6. lift-/.f64N/A

            \[\leadsto \frac{\mathsf{fma}\left(x \cdot \frac{y}{c}, 9, \frac{b}{c}\right)}{z} \]
          7. lower-/.f6459.1

            \[\leadsto \frac{\mathsf{fma}\left(x \cdot \frac{y}{c}, 9, \frac{b}{c}\right)}{z} \]
        9. Applied rewrites59.1%

          \[\leadsto \frac{\mathsf{fma}\left(x \cdot \frac{y}{c}, 9, \frac{b}{c}\right)}{\color{blue}{z}} \]

        if -1.05000000000000006e-21 < y < 8.8000000000000005e158

        1. Initial program 79.5%

          \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
        2. Taylor expanded in x around 0

          \[\leadsto \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) - 4 \cdot \frac{a \cdot t}{c}} \]
        3. Step-by-step derivation
          1. fp-cancel-sub-sign-invN/A

            \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + \color{blue}{\left(\mathsf{neg}\left(4\right)\right) \cdot \frac{a \cdot t}{c}} \]
          2. metadata-evalN/A

            \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + -4 \cdot \frac{\color{blue}{a \cdot t}}{c} \]
          3. +-commutativeN/A

            \[\leadsto -4 \cdot \frac{a \cdot t}{c} + \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right)} \]
          4. lower-fma.f64N/A

            \[\leadsto \mathsf{fma}\left(-4, \color{blue}{\frac{a \cdot t}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
          5. lower-/.f64N/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{\color{blue}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
          6. lower-*.f64N/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
          7. +-commutativeN/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + 9 \cdot \frac{x \cdot y}{c \cdot z}\right) \]
          8. associate-*r/N/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + \frac{9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
          9. div-addN/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
          10. lower-/.f64N/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
          11. +-commutativeN/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{9 \cdot \left(x \cdot y\right) + b}{c \cdot z}\right) \]
          12. *-commutativeN/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\left(x \cdot y\right) \cdot 9 + b}{c \cdot z}\right) \]
          13. lower-fma.f64N/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{c \cdot z}\right) \]
          14. *-commutativeN/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
          15. lower-*.f64N/A

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
          16. lower-*.f6484.1

            \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
        4. Applied rewrites84.1%

          \[\leadsto \color{blue}{\mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right)} \]
        5. Taylor expanded in c around 0

          \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{\color{blue}{c}} \]
        6. Step-by-step derivation
          1. lower-/.f64N/A

            \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
          2. *-commutativeN/A

            \[\leadsto \frac{\left(a \cdot t\right) \cdot -4 + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
          3. lower-fma.f64N/A

            \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
          4. lift-*.f64N/A

            \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
          5. +-commutativeN/A

            \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + 9 \cdot \frac{x \cdot y}{z}\right)}{c} \]
          6. associate-*r/N/A

            \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + \frac{9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
          7. div-addN/A

            \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
          8. lower-/.f64N/A

            \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
          9. +-commutativeN/A

            \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{9 \cdot \left(x \cdot y\right) + b}{z}\right)}{c} \]
          10. *-commutativeN/A

            \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\left(x \cdot y\right) \cdot 9 + b}{z}\right)}{c} \]
          11. lower-fma.f64N/A

            \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{z}\right)}{c} \]
          12. *-commutativeN/A

            \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
          13. lift-*.f6486.0

            \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
        7. Applied rewrites86.0%

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{\color{blue}{c}} \]
        8. Taylor expanded in x around 0

          \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{c} \]
        9. Step-by-step derivation
          1. Applied rewrites63.2%

            \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{c} \]
        10. Recombined 2 regimes into one program.
        11. Add Preprocessing

        Alternative 10: 73.2% accurate, 0.8× speedup?

        \[\begin{array}{l} c\_m = \left|c\right| \\ c\_s = \mathsf{copysign}\left(1, c\right) \\ \begin{array}{l} t_1 := \left(x \cdot 9\right) \cdot y\\ c\_s \cdot \begin{array}{l} \mathbf{if}\;t\_1 \leq -5 \cdot 10^{+299}:\\ \;\;\;\;-\frac{\frac{y}{c\_m} \cdot -9}{z} \cdot x\\ \mathbf{elif}\;t\_1 \leq 5 \cdot 10^{+96}:\\ \;\;\;\;\frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{c\_m}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}}{c\_m}\\ \end{array} \end{array} \end{array} \]
        c\_m = (fabs.f64 c)
        c\_s = (copysign.f64 #s(literal 1 binary64) c)
        (FPCore (c_s x y z t a b c_m)
         :precision binary64
         (let* ((t_1 (* (* x 9.0) y)))
           (*
            c_s
            (if (<= t_1 -5e+299)
              (- (* (/ (* (/ y c_m) -9.0) z) x))
              (if (<= t_1 5e+96)
                (/ (fma (* a t) -4.0 (/ b z)) c_m)
                (/ (/ (fma (* y x) 9.0 b) z) c_m))))))
        c\_m = fabs(c);
        c\_s = copysign(1.0, c);
        double code(double c_s, double x, double y, double z, double t, double a, double b, double c_m) {
        	double t_1 = (x * 9.0) * y;
        	double tmp;
        	if (t_1 <= -5e+299) {
        		tmp = -((((y / c_m) * -9.0) / z) * x);
        	} else if (t_1 <= 5e+96) {
        		tmp = fma((a * t), -4.0, (b / z)) / c_m;
        	} else {
        		tmp = (fma((y * x), 9.0, b) / z) / c_m;
        	}
        	return c_s * tmp;
        }
        
        c\_m = abs(c)
        c\_s = copysign(1.0, c)
        function code(c_s, x, y, z, t, a, b, c_m)
        	t_1 = Float64(Float64(x * 9.0) * y)
        	tmp = 0.0
        	if (t_1 <= -5e+299)
        		tmp = Float64(-Float64(Float64(Float64(Float64(y / c_m) * -9.0) / z) * x));
        	elseif (t_1 <= 5e+96)
        		tmp = Float64(fma(Float64(a * t), -4.0, Float64(b / z)) / c_m);
        	else
        		tmp = Float64(Float64(fma(Float64(y * x), 9.0, b) / z) / c_m);
        	end
        	return Float64(c_s * tmp)
        end
        
        c\_m = N[Abs[c], $MachinePrecision]
        c\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[c]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
        code[c$95$s_, x_, y_, z_, t_, a_, b_, c$95$m_] := Block[{t$95$1 = N[(N[(x * 9.0), $MachinePrecision] * y), $MachinePrecision]}, N[(c$95$s * If[LessEqual[t$95$1, -5e+299], (-N[(N[(N[(N[(y / c$95$m), $MachinePrecision] * -9.0), $MachinePrecision] / z), $MachinePrecision] * x), $MachinePrecision]), If[LessEqual[t$95$1, 5e+96], N[(N[(N[(a * t), $MachinePrecision] * -4.0 + N[(b / z), $MachinePrecision]), $MachinePrecision] / c$95$m), $MachinePrecision], N[(N[(N[(N[(y * x), $MachinePrecision] * 9.0 + b), $MachinePrecision] / z), $MachinePrecision] / c$95$m), $MachinePrecision]]]), $MachinePrecision]]
        
        \begin{array}{l}
        c\_m = \left|c\right|
        \\
        c\_s = \mathsf{copysign}\left(1, c\right)
        
        \\
        \begin{array}{l}
        t_1 := \left(x \cdot 9\right) \cdot y\\
        c\_s \cdot \begin{array}{l}
        \mathbf{if}\;t\_1 \leq -5 \cdot 10^{+299}:\\
        \;\;\;\;-\frac{\frac{y}{c\_m} \cdot -9}{z} \cdot x\\
        
        \mathbf{elif}\;t\_1 \leq 5 \cdot 10^{+96}:\\
        \;\;\;\;\frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{c\_m}\\
        
        \mathbf{else}:\\
        \;\;\;\;\frac{\frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}}{c\_m}\\
        
        
        \end{array}
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 3 regimes
        2. if (*.f64 (*.f64 x #s(literal 9 binary64)) y) < -5.0000000000000003e299

          1. Initial program 79.5%

            \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
          2. Taylor expanded in x around -inf

            \[\leadsto \color{blue}{-1 \cdot \left(x \cdot \left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right)\right)} \]
          3. Step-by-step derivation
            1. mul-1-negN/A

              \[\leadsto \mathsf{neg}\left(x \cdot \left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right)\right) \]
            2. lower-neg.f64N/A

              \[\leadsto -x \cdot \left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right) \]
            3. *-commutativeN/A

              \[\leadsto -\left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right) \cdot x \]
            4. lower-*.f64N/A

              \[\leadsto -\left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right) \cdot x \]
          4. Applied rewrites72.2%

            \[\leadsto \color{blue}{-\mathsf{fma}\left(-9, \frac{y}{c \cdot z}, -\frac{\frac{b}{c \cdot z} - \frac{a \cdot t}{c} \cdot 4}{x}\right) \cdot x} \]
          5. Taylor expanded in z around 0

            \[\leadsto -\frac{-9 \cdot \frac{y}{c} - \frac{b}{c \cdot x}}{z} \cdot x \]
          6. Step-by-step derivation
            1. lower-/.f64N/A

              \[\leadsto -\frac{-9 \cdot \frac{y}{c} - \frac{b}{c \cdot x}}{z} \cdot x \]
            2. lower--.f64N/A

              \[\leadsto -\frac{-9 \cdot \frac{y}{c} - \frac{b}{c \cdot x}}{z} \cdot x \]
            3. *-commutativeN/A

              \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
            4. lower-*.f64N/A

              \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
            5. lower-/.f64N/A

              \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
            6. lower-/.f64N/A

              \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
            7. lower-*.f6454.8

              \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
          7. Applied rewrites54.8%

            \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
          8. Taylor expanded in x around inf

            \[\leadsto -\frac{-9 \cdot \frac{y}{c}}{z} \cdot x \]
          9. Step-by-step derivation
            1. *-commutativeN/A

              \[\leadsto -\frac{\frac{y}{c} \cdot -9}{z} \cdot x \]
            2. lift-/.f64N/A

              \[\leadsto -\frac{\frac{y}{c} \cdot -9}{z} \cdot x \]
            3. lift-*.f6438.0

              \[\leadsto -\frac{\frac{y}{c} \cdot -9}{z} \cdot x \]
          10. Applied rewrites38.0%

            \[\leadsto -\frac{\frac{y}{c} \cdot -9}{z} \cdot x \]

          if -5.0000000000000003e299 < (*.f64 (*.f64 x #s(literal 9 binary64)) y) < 5.0000000000000004e96

          1. Initial program 79.5%

            \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
          2. Taylor expanded in x around 0

            \[\leadsto \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) - 4 \cdot \frac{a \cdot t}{c}} \]
          3. Step-by-step derivation
            1. fp-cancel-sub-sign-invN/A

              \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + \color{blue}{\left(\mathsf{neg}\left(4\right)\right) \cdot \frac{a \cdot t}{c}} \]
            2. metadata-evalN/A

              \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + -4 \cdot \frac{\color{blue}{a \cdot t}}{c} \]
            3. +-commutativeN/A

              \[\leadsto -4 \cdot \frac{a \cdot t}{c} + \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right)} \]
            4. lower-fma.f64N/A

              \[\leadsto \mathsf{fma}\left(-4, \color{blue}{\frac{a \cdot t}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
            5. lower-/.f64N/A

              \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{\color{blue}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
            6. lower-*.f64N/A

              \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
            7. +-commutativeN/A

              \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + 9 \cdot \frac{x \cdot y}{c \cdot z}\right) \]
            8. associate-*r/N/A

              \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + \frac{9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
            9. div-addN/A

              \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
            10. lower-/.f64N/A

              \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
            11. +-commutativeN/A

              \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{9 \cdot \left(x \cdot y\right) + b}{c \cdot z}\right) \]
            12. *-commutativeN/A

              \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\left(x \cdot y\right) \cdot 9 + b}{c \cdot z}\right) \]
            13. lower-fma.f64N/A

              \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{c \cdot z}\right) \]
            14. *-commutativeN/A

              \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
            15. lower-*.f64N/A

              \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
            16. lower-*.f6484.1

              \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
          4. Applied rewrites84.1%

            \[\leadsto \color{blue}{\mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right)} \]
          5. Taylor expanded in c around 0

            \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{\color{blue}{c}} \]
          6. Step-by-step derivation
            1. lower-/.f64N/A

              \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
            2. *-commutativeN/A

              \[\leadsto \frac{\left(a \cdot t\right) \cdot -4 + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
            3. lower-fma.f64N/A

              \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
            4. lift-*.f64N/A

              \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
            5. +-commutativeN/A

              \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + 9 \cdot \frac{x \cdot y}{z}\right)}{c} \]
            6. associate-*r/N/A

              \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + \frac{9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
            7. div-addN/A

              \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
            8. lower-/.f64N/A

              \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
            9. +-commutativeN/A

              \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{9 \cdot \left(x \cdot y\right) + b}{z}\right)}{c} \]
            10. *-commutativeN/A

              \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\left(x \cdot y\right) \cdot 9 + b}{z}\right)}{c} \]
            11. lower-fma.f64N/A

              \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{z}\right)}{c} \]
            12. *-commutativeN/A

              \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
            13. lift-*.f6486.0

              \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
          7. Applied rewrites86.0%

            \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{\color{blue}{c}} \]
          8. Taylor expanded in x around 0

            \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{c} \]
          9. Step-by-step derivation
            1. Applied rewrites63.2%

              \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{c} \]

            if 5.0000000000000004e96 < (*.f64 (*.f64 x #s(literal 9 binary64)) y)

            1. Initial program 79.5%

              \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
            2. Taylor expanded in z around 0

              \[\leadsto \frac{\color{blue}{b + 9 \cdot \left(x \cdot y\right)}}{z \cdot c} \]
            3. Step-by-step derivation
              1. +-commutativeN/A

                \[\leadsto \frac{9 \cdot \left(x \cdot y\right) + \color{blue}{b}}{z \cdot c} \]
              2. *-commutativeN/A

                \[\leadsto \frac{\left(x \cdot y\right) \cdot 9 + b}{z \cdot c} \]
              3. lower-fma.f64N/A

                \[\leadsto \frac{\mathsf{fma}\left(x \cdot y, \color{blue}{9}, b\right)}{z \cdot c} \]
              4. *-commutativeN/A

                \[\leadsto \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z \cdot c} \]
              5. lower-*.f6459.5

                \[\leadsto \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z \cdot c} \]
            4. Applied rewrites59.5%

              \[\leadsto \frac{\color{blue}{\mathsf{fma}\left(y \cdot x, 9, b\right)}}{z \cdot c} \]
            5. Step-by-step derivation
              1. lift-/.f64N/A

                \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z \cdot c}} \]
              2. lift-*.f64N/A

                \[\leadsto \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{\color{blue}{z \cdot c}} \]
              3. associate-/r*N/A

                \[\leadsto \color{blue}{\frac{\frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}}{c}} \]
              4. lower-/.f64N/A

                \[\leadsto \color{blue}{\frac{\frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}}{c}} \]
              5. lower-/.f6457.9

                \[\leadsto \frac{\color{blue}{\frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}}}{c} \]
            6. Applied rewrites57.9%

              \[\leadsto \color{blue}{\frac{\frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}}{c}} \]
          10. Recombined 3 regimes into one program.
          11. Add Preprocessing

          Alternative 11: 69.9% accurate, 0.8× speedup?

          \[\begin{array}{l} c\_m = \left|c\right| \\ c\_s = \mathsf{copysign}\left(1, c\right) \\ \begin{array}{l} t_1 := -\frac{\frac{y}{c\_m} \cdot -9}{z} \cdot x\\ t_2 := \left(x \cdot 9\right) \cdot y\\ c\_s \cdot \begin{array}{l} \mathbf{if}\;t\_2 \leq -5 \cdot 10^{+299}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;t\_2 \leq 5 \cdot 10^{+96}:\\ \;\;\;\;\frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{c\_m}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \end{array} \]
          c\_m = (fabs.f64 c)
          c\_s = (copysign.f64 #s(literal 1 binary64) c)
          (FPCore (c_s x y z t a b c_m)
           :precision binary64
           (let* ((t_1 (- (* (/ (* (/ y c_m) -9.0) z) x))) (t_2 (* (* x 9.0) y)))
             (*
              c_s
              (if (<= t_2 -5e+299)
                t_1
                (if (<= t_2 5e+96) (/ (fma (* a t) -4.0 (/ b z)) c_m) t_1)))))
          c\_m = fabs(c);
          c\_s = copysign(1.0, c);
          double code(double c_s, double x, double y, double z, double t, double a, double b, double c_m) {
          	double t_1 = -((((y / c_m) * -9.0) / z) * x);
          	double t_2 = (x * 9.0) * y;
          	double tmp;
          	if (t_2 <= -5e+299) {
          		tmp = t_1;
          	} else if (t_2 <= 5e+96) {
          		tmp = fma((a * t), -4.0, (b / z)) / c_m;
          	} else {
          		tmp = t_1;
          	}
          	return c_s * tmp;
          }
          
          c\_m = abs(c)
          c\_s = copysign(1.0, c)
          function code(c_s, x, y, z, t, a, b, c_m)
          	t_1 = Float64(-Float64(Float64(Float64(Float64(y / c_m) * -9.0) / z) * x))
          	t_2 = Float64(Float64(x * 9.0) * y)
          	tmp = 0.0
          	if (t_2 <= -5e+299)
          		tmp = t_1;
          	elseif (t_2 <= 5e+96)
          		tmp = Float64(fma(Float64(a * t), -4.0, Float64(b / z)) / c_m);
          	else
          		tmp = t_1;
          	end
          	return Float64(c_s * tmp)
          end
          
          c\_m = N[Abs[c], $MachinePrecision]
          c\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[c]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
          code[c$95$s_, x_, y_, z_, t_, a_, b_, c$95$m_] := Block[{t$95$1 = (-N[(N[(N[(N[(y / c$95$m), $MachinePrecision] * -9.0), $MachinePrecision] / z), $MachinePrecision] * x), $MachinePrecision])}, Block[{t$95$2 = N[(N[(x * 9.0), $MachinePrecision] * y), $MachinePrecision]}, N[(c$95$s * If[LessEqual[t$95$2, -5e+299], t$95$1, If[LessEqual[t$95$2, 5e+96], N[(N[(N[(a * t), $MachinePrecision] * -4.0 + N[(b / z), $MachinePrecision]), $MachinePrecision] / c$95$m), $MachinePrecision], t$95$1]]), $MachinePrecision]]]
          
          \begin{array}{l}
          c\_m = \left|c\right|
          \\
          c\_s = \mathsf{copysign}\left(1, c\right)
          
          \\
          \begin{array}{l}
          t_1 := -\frac{\frac{y}{c\_m} \cdot -9}{z} \cdot x\\
          t_2 := \left(x \cdot 9\right) \cdot y\\
          c\_s \cdot \begin{array}{l}
          \mathbf{if}\;t\_2 \leq -5 \cdot 10^{+299}:\\
          \;\;\;\;t\_1\\
          
          \mathbf{elif}\;t\_2 \leq 5 \cdot 10^{+96}:\\
          \;\;\;\;\frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{c\_m}\\
          
          \mathbf{else}:\\
          \;\;\;\;t\_1\\
          
          
          \end{array}
          \end{array}
          \end{array}
          
          Derivation
          1. Split input into 2 regimes
          2. if (*.f64 (*.f64 x #s(literal 9 binary64)) y) < -5.0000000000000003e299 or 5.0000000000000004e96 < (*.f64 (*.f64 x #s(literal 9 binary64)) y)

            1. Initial program 79.5%

              \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
            2. Taylor expanded in x around -inf

              \[\leadsto \color{blue}{-1 \cdot \left(x \cdot \left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right)\right)} \]
            3. Step-by-step derivation
              1. mul-1-negN/A

                \[\leadsto \mathsf{neg}\left(x \cdot \left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right)\right) \]
              2. lower-neg.f64N/A

                \[\leadsto -x \cdot \left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right) \]
              3. *-commutativeN/A

                \[\leadsto -\left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right) \cdot x \]
              4. lower-*.f64N/A

                \[\leadsto -\left(-9 \cdot \frac{y}{c \cdot z} + -1 \cdot \frac{\frac{b}{c \cdot z} - 4 \cdot \frac{a \cdot t}{c}}{x}\right) \cdot x \]
            4. Applied rewrites72.2%

              \[\leadsto \color{blue}{-\mathsf{fma}\left(-9, \frac{y}{c \cdot z}, -\frac{\frac{b}{c \cdot z} - \frac{a \cdot t}{c} \cdot 4}{x}\right) \cdot x} \]
            5. Taylor expanded in z around 0

              \[\leadsto -\frac{-9 \cdot \frac{y}{c} - \frac{b}{c \cdot x}}{z} \cdot x \]
            6. Step-by-step derivation
              1. lower-/.f64N/A

                \[\leadsto -\frac{-9 \cdot \frac{y}{c} - \frac{b}{c \cdot x}}{z} \cdot x \]
              2. lower--.f64N/A

                \[\leadsto -\frac{-9 \cdot \frac{y}{c} - \frac{b}{c \cdot x}}{z} \cdot x \]
              3. *-commutativeN/A

                \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
              4. lower-*.f64N/A

                \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
              5. lower-/.f64N/A

                \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
              6. lower-/.f64N/A

                \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
              7. lower-*.f6454.8

                \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
            7. Applied rewrites54.8%

              \[\leadsto -\frac{\frac{y}{c} \cdot -9 - \frac{b}{c \cdot x}}{z} \cdot x \]
            8. Taylor expanded in x around inf

              \[\leadsto -\frac{-9 \cdot \frac{y}{c}}{z} \cdot x \]
            9. Step-by-step derivation
              1. *-commutativeN/A

                \[\leadsto -\frac{\frac{y}{c} \cdot -9}{z} \cdot x \]
              2. lift-/.f64N/A

                \[\leadsto -\frac{\frac{y}{c} \cdot -9}{z} \cdot x \]
              3. lift-*.f6438.0

                \[\leadsto -\frac{\frac{y}{c} \cdot -9}{z} \cdot x \]
            10. Applied rewrites38.0%

              \[\leadsto -\frac{\frac{y}{c} \cdot -9}{z} \cdot x \]

            if -5.0000000000000003e299 < (*.f64 (*.f64 x #s(literal 9 binary64)) y) < 5.0000000000000004e96

            1. Initial program 79.5%

              \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
            2. Taylor expanded in x around 0

              \[\leadsto \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) - 4 \cdot \frac{a \cdot t}{c}} \]
            3. Step-by-step derivation
              1. fp-cancel-sub-sign-invN/A

                \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + \color{blue}{\left(\mathsf{neg}\left(4\right)\right) \cdot \frac{a \cdot t}{c}} \]
              2. metadata-evalN/A

                \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + -4 \cdot \frac{\color{blue}{a \cdot t}}{c} \]
              3. +-commutativeN/A

                \[\leadsto -4 \cdot \frac{a \cdot t}{c} + \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right)} \]
              4. lower-fma.f64N/A

                \[\leadsto \mathsf{fma}\left(-4, \color{blue}{\frac{a \cdot t}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
              5. lower-/.f64N/A

                \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{\color{blue}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
              6. lower-*.f64N/A

                \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
              7. +-commutativeN/A

                \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + 9 \cdot \frac{x \cdot y}{c \cdot z}\right) \]
              8. associate-*r/N/A

                \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + \frac{9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
              9. div-addN/A

                \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
              10. lower-/.f64N/A

                \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
              11. +-commutativeN/A

                \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{9 \cdot \left(x \cdot y\right) + b}{c \cdot z}\right) \]
              12. *-commutativeN/A

                \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\left(x \cdot y\right) \cdot 9 + b}{c \cdot z}\right) \]
              13. lower-fma.f64N/A

                \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{c \cdot z}\right) \]
              14. *-commutativeN/A

                \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
              15. lower-*.f64N/A

                \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
              16. lower-*.f6484.1

                \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
            4. Applied rewrites84.1%

              \[\leadsto \color{blue}{\mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right)} \]
            5. Taylor expanded in c around 0

              \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{\color{blue}{c}} \]
            6. Step-by-step derivation
              1. lower-/.f64N/A

                \[\leadsto \frac{-4 \cdot \left(a \cdot t\right) + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
              2. *-commutativeN/A

                \[\leadsto \frac{\left(a \cdot t\right) \cdot -4 + \left(9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
              3. lower-fma.f64N/A

                \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
              4. lift-*.f64N/A

                \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, 9 \cdot \frac{x \cdot y}{z} + \frac{b}{z}\right)}{c} \]
              5. +-commutativeN/A

                \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + 9 \cdot \frac{x \cdot y}{z}\right)}{c} \]
              6. associate-*r/N/A

                \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z} + \frac{9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
              7. div-addN/A

                \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
              8. lower-/.f64N/A

                \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b + 9 \cdot \left(x \cdot y\right)}{z}\right)}{c} \]
              9. +-commutativeN/A

                \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{9 \cdot \left(x \cdot y\right) + b}{z}\right)}{c} \]
              10. *-commutativeN/A

                \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\left(x \cdot y\right) \cdot 9 + b}{z}\right)}{c} \]
              11. lower-fma.f64N/A

                \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{z}\right)}{c} \]
              12. *-commutativeN/A

                \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
              13. lift-*.f6486.0

                \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{c} \]
            7. Applied rewrites86.0%

              \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z}\right)}{\color{blue}{c}} \]
            8. Taylor expanded in x around 0

              \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{c} \]
            9. Step-by-step derivation
              1. Applied rewrites63.2%

                \[\leadsto \frac{\mathsf{fma}\left(a \cdot t, -4, \frac{b}{z}\right)}{c} \]
            10. Recombined 2 regimes into one program.
            11. Add Preprocessing

            Alternative 12: 64.9% accurate, 1.2× speedup?

            \[\begin{array}{l} c\_m = \left|c\right| \\ c\_s = \mathsf{copysign}\left(1, c\right) \\ \begin{array}{l} t_1 := \left(-4 \cdot a\right) \cdot \frac{t}{c\_m}\\ c\_s \cdot \begin{array}{l} \mathbf{if}\;a \leq -9.5 \cdot 10^{-5}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;a \leq 3.9 \cdot 10^{+91}:\\ \;\;\;\;\frac{\mathsf{fma}\left(x, y \cdot 9, b\right)}{z \cdot c\_m}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \end{array} \]
            c\_m = (fabs.f64 c)
            c\_s = (copysign.f64 #s(literal 1 binary64) c)
            (FPCore (c_s x y z t a b c_m)
             :precision binary64
             (let* ((t_1 (* (* -4.0 a) (/ t c_m))))
               (*
                c_s
                (if (<= a -9.5e-5)
                  t_1
                  (if (<= a 3.9e+91) (/ (fma x (* y 9.0) b) (* z c_m)) t_1)))))
            c\_m = fabs(c);
            c\_s = copysign(1.0, c);
            double code(double c_s, double x, double y, double z, double t, double a, double b, double c_m) {
            	double t_1 = (-4.0 * a) * (t / c_m);
            	double tmp;
            	if (a <= -9.5e-5) {
            		tmp = t_1;
            	} else if (a <= 3.9e+91) {
            		tmp = fma(x, (y * 9.0), b) / (z * c_m);
            	} else {
            		tmp = t_1;
            	}
            	return c_s * tmp;
            }
            
            c\_m = abs(c)
            c\_s = copysign(1.0, c)
            function code(c_s, x, y, z, t, a, b, c_m)
            	t_1 = Float64(Float64(-4.0 * a) * Float64(t / c_m))
            	tmp = 0.0
            	if (a <= -9.5e-5)
            		tmp = t_1;
            	elseif (a <= 3.9e+91)
            		tmp = Float64(fma(x, Float64(y * 9.0), b) / Float64(z * c_m));
            	else
            		tmp = t_1;
            	end
            	return Float64(c_s * tmp)
            end
            
            c\_m = N[Abs[c], $MachinePrecision]
            c\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[c]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
            code[c$95$s_, x_, y_, z_, t_, a_, b_, c$95$m_] := Block[{t$95$1 = N[(N[(-4.0 * a), $MachinePrecision] * N[(t / c$95$m), $MachinePrecision]), $MachinePrecision]}, N[(c$95$s * If[LessEqual[a, -9.5e-5], t$95$1, If[LessEqual[a, 3.9e+91], N[(N[(x * N[(y * 9.0), $MachinePrecision] + b), $MachinePrecision] / N[(z * c$95$m), $MachinePrecision]), $MachinePrecision], t$95$1]]), $MachinePrecision]]
            
            \begin{array}{l}
            c\_m = \left|c\right|
            \\
            c\_s = \mathsf{copysign}\left(1, c\right)
            
            \\
            \begin{array}{l}
            t_1 := \left(-4 \cdot a\right) \cdot \frac{t}{c\_m}\\
            c\_s \cdot \begin{array}{l}
            \mathbf{if}\;a \leq -9.5 \cdot 10^{-5}:\\
            \;\;\;\;t\_1\\
            
            \mathbf{elif}\;a \leq 3.9 \cdot 10^{+91}:\\
            \;\;\;\;\frac{\mathsf{fma}\left(x, y \cdot 9, b\right)}{z \cdot c\_m}\\
            
            \mathbf{else}:\\
            \;\;\;\;t\_1\\
            
            
            \end{array}
            \end{array}
            \end{array}
            
            Derivation
            1. Split input into 2 regimes
            2. if a < -9.5000000000000005e-5 or 3.89999999999999968e91 < a

              1. Initial program 79.5%

                \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
              2. Taylor expanded in x around 0

                \[\leadsto \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) - 4 \cdot \frac{a \cdot t}{c}} \]
              3. Step-by-step derivation
                1. fp-cancel-sub-sign-invN/A

                  \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + \color{blue}{\left(\mathsf{neg}\left(4\right)\right) \cdot \frac{a \cdot t}{c}} \]
                2. metadata-evalN/A

                  \[\leadsto \left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) + -4 \cdot \frac{\color{blue}{a \cdot t}}{c} \]
                3. +-commutativeN/A

                  \[\leadsto -4 \cdot \frac{a \cdot t}{c} + \color{blue}{\left(9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right)} \]
                4. lower-fma.f64N/A

                  \[\leadsto \mathsf{fma}\left(-4, \color{blue}{\frac{a \cdot t}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
                5. lower-/.f64N/A

                  \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{\color{blue}{c}}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
                6. lower-*.f64N/A

                  \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, 9 \cdot \frac{x \cdot y}{c \cdot z} + \frac{b}{c \cdot z}\right) \]
                7. +-commutativeN/A

                  \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + 9 \cdot \frac{x \cdot y}{c \cdot z}\right) \]
                8. associate-*r/N/A

                  \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b}{c \cdot z} + \frac{9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
                9. div-addN/A

                  \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
                10. lower-/.f64N/A

                  \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{b + 9 \cdot \left(x \cdot y\right)}{c \cdot z}\right) \]
                11. +-commutativeN/A

                  \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{9 \cdot \left(x \cdot y\right) + b}{c \cdot z}\right) \]
                12. *-commutativeN/A

                  \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\left(x \cdot y\right) \cdot 9 + b}{c \cdot z}\right) \]
                13. lower-fma.f64N/A

                  \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(x \cdot y, 9, b\right)}{c \cdot z}\right) \]
                14. *-commutativeN/A

                  \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
                15. lower-*.f64N/A

                  \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
                16. lower-*.f6484.1

                  \[\leadsto \mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right) \]
              4. Applied rewrites84.1%

                \[\leadsto \color{blue}{\mathsf{fma}\left(-4, \frac{a \cdot t}{c}, \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{c \cdot z}\right)} \]
              5. Taylor expanded in z around inf

                \[\leadsto \color{blue}{-4 \cdot \frac{a \cdot t}{c}} \]
              6. Step-by-step derivation
                1. *-commutativeN/A

                  \[\leadsto \frac{a \cdot t}{c} \cdot \color{blue}{-4} \]
                2. lower-*.f64N/A

                  \[\leadsto \frac{a \cdot t}{c} \cdot \color{blue}{-4} \]
                3. lift-/.f64N/A

                  \[\leadsto \frac{a \cdot t}{c} \cdot -4 \]
                4. lift-*.f6439.0

                  \[\leadsto \frac{a \cdot t}{c} \cdot -4 \]
              7. Applied rewrites39.0%

                \[\leadsto \color{blue}{\frac{a \cdot t}{c} \cdot -4} \]
              8. Step-by-step derivation
                1. lift-*.f64N/A

                  \[\leadsto \frac{a \cdot t}{c} \cdot \color{blue}{-4} \]
                2. lift-*.f64N/A

                  \[\leadsto \frac{a \cdot t}{c} \cdot -4 \]
                3. lift-/.f64N/A

                  \[\leadsto \frac{a \cdot t}{c} \cdot -4 \]
                4. *-commutativeN/A

                  \[\leadsto -4 \cdot \color{blue}{\frac{a \cdot t}{c}} \]
                5. associate-/l*N/A

                  \[\leadsto -4 \cdot \left(a \cdot \color{blue}{\frac{t}{c}}\right) \]
                6. associate-*r*N/A

                  \[\leadsto \left(-4 \cdot a\right) \cdot \color{blue}{\frac{t}{c}} \]
                7. lower-*.f64N/A

                  \[\leadsto \left(-4 \cdot a\right) \cdot \color{blue}{\frac{t}{c}} \]
                8. lower-*.f64N/A

                  \[\leadsto \left(-4 \cdot a\right) \cdot \frac{\color{blue}{t}}{c} \]
                9. lift-/.f6440.8

                  \[\leadsto \left(-4 \cdot a\right) \cdot \frac{t}{\color{blue}{c}} \]
              9. Applied rewrites40.8%

                \[\leadsto \left(-4 \cdot a\right) \cdot \color{blue}{\frac{t}{c}} \]

              if -9.5000000000000005e-5 < a < 3.89999999999999968e91

              1. Initial program 79.5%

                \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
              2. Taylor expanded in z around 0

                \[\leadsto \frac{\color{blue}{b + 9 \cdot \left(x \cdot y\right)}}{z \cdot c} \]
              3. Step-by-step derivation
                1. +-commutativeN/A

                  \[\leadsto \frac{9 \cdot \left(x \cdot y\right) + \color{blue}{b}}{z \cdot c} \]
                2. *-commutativeN/A

                  \[\leadsto \frac{\left(x \cdot y\right) \cdot 9 + b}{z \cdot c} \]
                3. lower-fma.f64N/A

                  \[\leadsto \frac{\mathsf{fma}\left(x \cdot y, \color{blue}{9}, b\right)}{z \cdot c} \]
                4. *-commutativeN/A

                  \[\leadsto \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z \cdot c} \]
                5. lower-*.f6459.5

                  \[\leadsto \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z \cdot c} \]
              4. Applied rewrites59.5%

                \[\leadsto \frac{\color{blue}{\mathsf{fma}\left(y \cdot x, 9, b\right)}}{z \cdot c} \]
              5. Step-by-step derivation
                1. lift-*.f64N/A

                  \[\leadsto \frac{\mathsf{fma}\left(y \cdot x, 9, b\right)}{z \cdot c} \]
                2. lift-fma.f64N/A

                  \[\leadsto \frac{\left(y \cdot x\right) \cdot 9 + \color{blue}{b}}{z \cdot c} \]
                3. associate-*l*N/A

                  \[\leadsto \frac{y \cdot \left(x \cdot 9\right) + b}{z \cdot c} \]
                4. *-commutativeN/A

                  \[\leadsto \frac{y \cdot \left(9 \cdot x\right) + b}{z \cdot c} \]
                5. *-commutativeN/A

                  \[\leadsto \frac{\left(9 \cdot x\right) \cdot y + b}{z \cdot c} \]
                6. *-commutativeN/A

                  \[\leadsto \frac{\left(x \cdot 9\right) \cdot y + b}{z \cdot c} \]
                7. associate-*l*N/A

                  \[\leadsto \frac{x \cdot \left(9 \cdot y\right) + b}{z \cdot c} \]
                8. lower-fma.f64N/A

                  \[\leadsto \frac{\mathsf{fma}\left(x, \color{blue}{9 \cdot y}, b\right)}{z \cdot c} \]
                9. *-commutativeN/A

                  \[\leadsto \frac{\mathsf{fma}\left(x, y \cdot \color{blue}{9}, b\right)}{z \cdot c} \]
                10. lower-*.f6459.5

                  \[\leadsto \frac{\mathsf{fma}\left(x, y \cdot \color{blue}{9}, b\right)}{z \cdot c} \]
              6. Applied rewrites59.5%

                \[\leadsto \frac{\mathsf{fma}\left(x, \color{blue}{y \cdot 9}, b\right)}{z \cdot c} \]
            3. Recombined 2 regimes into one program.
            4. Add Preprocessing

            Alternative 13: 49.5% accurate, 1.5× speedup?

            \[\begin{array}{l} c\_m = \left|c\right| \\ c\_s = \mathsf{copysign}\left(1, c\right) \\ \begin{array}{l} t_1 := -4 \cdot \frac{a \cdot t}{c\_m}\\ c\_s \cdot \begin{array}{l} \mathbf{if}\;z \leq -1.6 \cdot 10^{+57}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;z \leq 2.3 \cdot 10^{-48}:\\ \;\;\;\;\frac{b}{c\_m \cdot z}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \end{array} \]
            c\_m = (fabs.f64 c)
            c\_s = (copysign.f64 #s(literal 1 binary64) c)
            (FPCore (c_s x y z t a b c_m)
             :precision binary64
             (let* ((t_1 (* -4.0 (/ (* a t) c_m))))
               (* c_s (if (<= z -1.6e+57) t_1 (if (<= z 2.3e-48) (/ b (* c_m z)) t_1)))))
            c\_m = fabs(c);
            c\_s = copysign(1.0, c);
            double code(double c_s, double x, double y, double z, double t, double a, double b, double c_m) {
            	double t_1 = -4.0 * ((a * t) / c_m);
            	double tmp;
            	if (z <= -1.6e+57) {
            		tmp = t_1;
            	} else if (z <= 2.3e-48) {
            		tmp = b / (c_m * z);
            	} else {
            		tmp = t_1;
            	}
            	return c_s * tmp;
            }
            
            c\_m =     private
            c\_s =     private
            module fmin_fmax_functions
                implicit none
                private
                public fmax
                public fmin
            
                interface fmax
                    module procedure fmax88
                    module procedure fmax44
                    module procedure fmax84
                    module procedure fmax48
                end interface
                interface fmin
                    module procedure fmin88
                    module procedure fmin44
                    module procedure fmin84
                    module procedure fmin48
                end interface
            contains
                real(8) function fmax88(x, y) result (res)
                    real(8), intent (in) :: x
                    real(8), intent (in) :: y
                    res = merge(y, merge(x, max(x, y), y /= y), x /= x)
                end function
                real(4) function fmax44(x, y) result (res)
                    real(4), intent (in) :: x
                    real(4), intent (in) :: y
                    res = merge(y, merge(x, max(x, y), y /= y), x /= x)
                end function
                real(8) function fmax84(x, y) result(res)
                    real(8), intent (in) :: x
                    real(4), intent (in) :: y
                    res = merge(dble(y), merge(x, max(x, dble(y)), y /= y), x /= x)
                end function
                real(8) function fmax48(x, y) result(res)
                    real(4), intent (in) :: x
                    real(8), intent (in) :: y
                    res = merge(y, merge(dble(x), max(dble(x), y), y /= y), x /= x)
                end function
                real(8) function fmin88(x, y) result (res)
                    real(8), intent (in) :: x
                    real(8), intent (in) :: y
                    res = merge(y, merge(x, min(x, y), y /= y), x /= x)
                end function
                real(4) function fmin44(x, y) result (res)
                    real(4), intent (in) :: x
                    real(4), intent (in) :: y
                    res = merge(y, merge(x, min(x, y), y /= y), x /= x)
                end function
                real(8) function fmin84(x, y) result(res)
                    real(8), intent (in) :: x
                    real(4), intent (in) :: y
                    res = merge(dble(y), merge(x, min(x, dble(y)), y /= y), x /= x)
                end function
                real(8) function fmin48(x, y) result(res)
                    real(4), intent (in) :: x
                    real(8), intent (in) :: y
                    res = merge(y, merge(dble(x), min(dble(x), y), y /= y), x /= x)
                end function
            end module
            
            real(8) function code(c_s, x, y, z, t, a, b, c_m)
            use fmin_fmax_functions
                real(8), intent (in) :: c_s
                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_m
                real(8) :: t_1
                real(8) :: tmp
                t_1 = (-4.0d0) * ((a * t) / c_m)
                if (z <= (-1.6d+57)) then
                    tmp = t_1
                else if (z <= 2.3d-48) then
                    tmp = b / (c_m * z)
                else
                    tmp = t_1
                end if
                code = c_s * tmp
            end function
            
            c\_m = Math.abs(c);
            c\_s = Math.copySign(1.0, c);
            public static double code(double c_s, double x, double y, double z, double t, double a, double b, double c_m) {
            	double t_1 = -4.0 * ((a * t) / c_m);
            	double tmp;
            	if (z <= -1.6e+57) {
            		tmp = t_1;
            	} else if (z <= 2.3e-48) {
            		tmp = b / (c_m * z);
            	} else {
            		tmp = t_1;
            	}
            	return c_s * tmp;
            }
            
            c\_m = math.fabs(c)
            c\_s = math.copysign(1.0, c)
            def code(c_s, x, y, z, t, a, b, c_m):
            	t_1 = -4.0 * ((a * t) / c_m)
            	tmp = 0
            	if z <= -1.6e+57:
            		tmp = t_1
            	elif z <= 2.3e-48:
            		tmp = b / (c_m * z)
            	else:
            		tmp = t_1
            	return c_s * tmp
            
            c\_m = abs(c)
            c\_s = copysign(1.0, c)
            function code(c_s, x, y, z, t, a, b, c_m)
            	t_1 = Float64(-4.0 * Float64(Float64(a * t) / c_m))
            	tmp = 0.0
            	if (z <= -1.6e+57)
            		tmp = t_1;
            	elseif (z <= 2.3e-48)
            		tmp = Float64(b / Float64(c_m * z));
            	else
            		tmp = t_1;
            	end
            	return Float64(c_s * tmp)
            end
            
            c\_m = abs(c);
            c\_s = sign(c) * abs(1.0);
            function tmp_2 = code(c_s, x, y, z, t, a, b, c_m)
            	t_1 = -4.0 * ((a * t) / c_m);
            	tmp = 0.0;
            	if (z <= -1.6e+57)
            		tmp = t_1;
            	elseif (z <= 2.3e-48)
            		tmp = b / (c_m * z);
            	else
            		tmp = t_1;
            	end
            	tmp_2 = c_s * tmp;
            end
            
            c\_m = N[Abs[c], $MachinePrecision]
            c\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[c]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
            code[c$95$s_, x_, y_, z_, t_, a_, b_, c$95$m_] := Block[{t$95$1 = N[(-4.0 * N[(N[(a * t), $MachinePrecision] / c$95$m), $MachinePrecision]), $MachinePrecision]}, N[(c$95$s * If[LessEqual[z, -1.6e+57], t$95$1, If[LessEqual[z, 2.3e-48], N[(b / N[(c$95$m * z), $MachinePrecision]), $MachinePrecision], t$95$1]]), $MachinePrecision]]
            
            \begin{array}{l}
            c\_m = \left|c\right|
            \\
            c\_s = \mathsf{copysign}\left(1, c\right)
            
            \\
            \begin{array}{l}
            t_1 := -4 \cdot \frac{a \cdot t}{c\_m}\\
            c\_s \cdot \begin{array}{l}
            \mathbf{if}\;z \leq -1.6 \cdot 10^{+57}:\\
            \;\;\;\;t\_1\\
            
            \mathbf{elif}\;z \leq 2.3 \cdot 10^{-48}:\\
            \;\;\;\;\frac{b}{c\_m \cdot z}\\
            
            \mathbf{else}:\\
            \;\;\;\;t\_1\\
            
            
            \end{array}
            \end{array}
            \end{array}
            
            Derivation
            1. Split input into 2 regimes
            2. if z < -1.60000000000000015e57 or 2.3000000000000001e-48 < z

              1. Initial program 79.5%

                \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
              2. Taylor expanded in z around inf

                \[\leadsto \color{blue}{-4 \cdot \frac{a \cdot t}{c}} \]
              3. Step-by-step derivation
                1. lower-*.f64N/A

                  \[\leadsto -4 \cdot \color{blue}{\frac{a \cdot t}{c}} \]
                2. lower-/.f64N/A

                  \[\leadsto -4 \cdot \frac{a \cdot t}{\color{blue}{c}} \]
                3. lower-*.f6439.0

                  \[\leadsto -4 \cdot \frac{a \cdot t}{c} \]
              4. Applied rewrites39.0%

                \[\leadsto \color{blue}{-4 \cdot \frac{a \cdot t}{c}} \]

              if -1.60000000000000015e57 < z < 2.3000000000000001e-48

              1. Initial program 79.5%

                \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
              2. Taylor expanded in b around inf

                \[\leadsto \color{blue}{\frac{b}{c \cdot z}} \]
              3. Step-by-step derivation
                1. lower-/.f64N/A

                  \[\leadsto \frac{b}{\color{blue}{c \cdot z}} \]
                2. lower-*.f6434.2

                  \[\leadsto \frac{b}{c \cdot \color{blue}{z}} \]
              4. Applied rewrites34.2%

                \[\leadsto \color{blue}{\frac{b}{c \cdot z}} \]
            3. Recombined 2 regimes into one program.
            4. Add Preprocessing

            Alternative 14: 35.0% accurate, 0.7× speedup?

            \[\begin{array}{l} c\_m = \left|c\right| \\ c\_s = \mathsf{copysign}\left(1, c\right) \\ c\_s \cdot \begin{array}{l} \mathbf{if}\;\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c\_m} \leq -2 \cdot 10^{-259}:\\ \;\;\;\;\frac{b}{c\_m \cdot z}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{b}{c\_m}}{z}\\ \end{array} \end{array} \]
            c\_m = (fabs.f64 c)
            c\_s = (copysign.f64 #s(literal 1 binary64) c)
            (FPCore (c_s x y z t a b c_m)
             :precision binary64
             (*
              c_s
              (if (<=
                   (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) (* z c_m))
                   -2e-259)
                (/ b (* c_m z))
                (/ (/ b c_m) z))))
            c\_m = fabs(c);
            c\_s = copysign(1.0, c);
            double code(double c_s, double x, double y, double z, double t, double a, double b, double c_m) {
            	double tmp;
            	if ((((((x * 9.0) * y) - (((z * 4.0) * t) * a)) + b) / (z * c_m)) <= -2e-259) {
            		tmp = b / (c_m * z);
            	} else {
            		tmp = (b / c_m) / z;
            	}
            	return c_s * tmp;
            }
            
            c\_m =     private
            c\_s =     private
            module fmin_fmax_functions
                implicit none
                private
                public fmax
                public fmin
            
                interface fmax
                    module procedure fmax88
                    module procedure fmax44
                    module procedure fmax84
                    module procedure fmax48
                end interface
                interface fmin
                    module procedure fmin88
                    module procedure fmin44
                    module procedure fmin84
                    module procedure fmin48
                end interface
            contains
                real(8) function fmax88(x, y) result (res)
                    real(8), intent (in) :: x
                    real(8), intent (in) :: y
                    res = merge(y, merge(x, max(x, y), y /= y), x /= x)
                end function
                real(4) function fmax44(x, y) result (res)
                    real(4), intent (in) :: x
                    real(4), intent (in) :: y
                    res = merge(y, merge(x, max(x, y), y /= y), x /= x)
                end function
                real(8) function fmax84(x, y) result(res)
                    real(8), intent (in) :: x
                    real(4), intent (in) :: y
                    res = merge(dble(y), merge(x, max(x, dble(y)), y /= y), x /= x)
                end function
                real(8) function fmax48(x, y) result(res)
                    real(4), intent (in) :: x
                    real(8), intent (in) :: y
                    res = merge(y, merge(dble(x), max(dble(x), y), y /= y), x /= x)
                end function
                real(8) function fmin88(x, y) result (res)
                    real(8), intent (in) :: x
                    real(8), intent (in) :: y
                    res = merge(y, merge(x, min(x, y), y /= y), x /= x)
                end function
                real(4) function fmin44(x, y) result (res)
                    real(4), intent (in) :: x
                    real(4), intent (in) :: y
                    res = merge(y, merge(x, min(x, y), y /= y), x /= x)
                end function
                real(8) function fmin84(x, y) result(res)
                    real(8), intent (in) :: x
                    real(4), intent (in) :: y
                    res = merge(dble(y), merge(x, min(x, dble(y)), y /= y), x /= x)
                end function
                real(8) function fmin48(x, y) result(res)
                    real(4), intent (in) :: x
                    real(8), intent (in) :: y
                    res = merge(y, merge(dble(x), min(dble(x), y), y /= y), x /= x)
                end function
            end module
            
            real(8) function code(c_s, x, y, z, t, a, b, c_m)
            use fmin_fmax_functions
                real(8), intent (in) :: c_s
                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_m
                real(8) :: tmp
                if ((((((x * 9.0d0) * y) - (((z * 4.0d0) * t) * a)) + b) / (z * c_m)) <= (-2d-259)) then
                    tmp = b / (c_m * z)
                else
                    tmp = (b / c_m) / z
                end if
                code = c_s * tmp
            end function
            
            c\_m = Math.abs(c);
            c\_s = Math.copySign(1.0, c);
            public static double code(double c_s, double x, double y, double z, double t, double a, double b, double c_m) {
            	double tmp;
            	if ((((((x * 9.0) * y) - (((z * 4.0) * t) * a)) + b) / (z * c_m)) <= -2e-259) {
            		tmp = b / (c_m * z);
            	} else {
            		tmp = (b / c_m) / z;
            	}
            	return c_s * tmp;
            }
            
            c\_m = math.fabs(c)
            c\_s = math.copysign(1.0, c)
            def code(c_s, x, y, z, t, a, b, c_m):
            	tmp = 0
            	if (((((x * 9.0) * y) - (((z * 4.0) * t) * a)) + b) / (z * c_m)) <= -2e-259:
            		tmp = b / (c_m * z)
            	else:
            		tmp = (b / c_m) / z
            	return c_s * tmp
            
            c\_m = abs(c)
            c\_s = copysign(1.0, c)
            function code(c_s, x, y, z, t, a, b, c_m)
            	tmp = 0.0
            	if (Float64(Float64(Float64(Float64(Float64(x * 9.0) * y) - Float64(Float64(Float64(z * 4.0) * t) * a)) + b) / Float64(z * c_m)) <= -2e-259)
            		tmp = Float64(b / Float64(c_m * z));
            	else
            		tmp = Float64(Float64(b / c_m) / z);
            	end
            	return Float64(c_s * tmp)
            end
            
            c\_m = abs(c);
            c\_s = sign(c) * abs(1.0);
            function tmp_2 = code(c_s, x, y, z, t, a, b, c_m)
            	tmp = 0.0;
            	if ((((((x * 9.0) * y) - (((z * 4.0) * t) * a)) + b) / (z * c_m)) <= -2e-259)
            		tmp = b / (c_m * z);
            	else
            		tmp = (b / c_m) / z;
            	end
            	tmp_2 = c_s * tmp;
            end
            
            c\_m = N[Abs[c], $MachinePrecision]
            c\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[c]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
            code[c$95$s_, x_, y_, z_, t_, a_, b_, c$95$m_] := N[(c$95$s * If[LessEqual[N[(N[(N[(N[(N[(x * 9.0), $MachinePrecision] * y), $MachinePrecision] - N[(N[(N[(z * 4.0), $MachinePrecision] * t), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision] / N[(z * c$95$m), $MachinePrecision]), $MachinePrecision], -2e-259], N[(b / N[(c$95$m * z), $MachinePrecision]), $MachinePrecision], N[(N[(b / c$95$m), $MachinePrecision] / z), $MachinePrecision]]), $MachinePrecision]
            
            \begin{array}{l}
            c\_m = \left|c\right|
            \\
            c\_s = \mathsf{copysign}\left(1, c\right)
            
            \\
            c\_s \cdot \begin{array}{l}
            \mathbf{if}\;\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c\_m} \leq -2 \cdot 10^{-259}:\\
            \;\;\;\;\frac{b}{c\_m \cdot z}\\
            
            \mathbf{else}:\\
            \;\;\;\;\frac{\frac{b}{c\_m}}{z}\\
            
            
            \end{array}
            \end{array}
            
            Derivation
            1. Split input into 2 regimes
            2. if (/.f64 (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 9 binary64)) y) (*.f64 (*.f64 (*.f64 z #s(literal 4 binary64)) t) a)) b) (*.f64 z c)) < -2.0000000000000001e-259

              1. Initial program 79.5%

                \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
              2. Taylor expanded in b around inf

                \[\leadsto \color{blue}{\frac{b}{c \cdot z}} \]
              3. Step-by-step derivation
                1. lower-/.f64N/A

                  \[\leadsto \frac{b}{\color{blue}{c \cdot z}} \]
                2. lower-*.f6434.2

                  \[\leadsto \frac{b}{c \cdot \color{blue}{z}} \]
              4. Applied rewrites34.2%

                \[\leadsto \color{blue}{\frac{b}{c \cdot z}} \]

              if -2.0000000000000001e-259 < (/.f64 (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 9 binary64)) y) (*.f64 (*.f64 (*.f64 z #s(literal 4 binary64)) t) a)) b) (*.f64 z c))

              1. Initial program 79.5%

                \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
              2. Taylor expanded in b around inf

                \[\leadsto \color{blue}{\frac{b}{c \cdot z}} \]
              3. Step-by-step derivation
                1. lower-/.f64N/A

                  \[\leadsto \frac{b}{\color{blue}{c \cdot z}} \]
                2. lower-*.f6434.2

                  \[\leadsto \frac{b}{c \cdot \color{blue}{z}} \]
              4. Applied rewrites34.2%

                \[\leadsto \color{blue}{\frac{b}{c \cdot z}} \]
              5. Step-by-step derivation
                1. lift-*.f64N/A

                  \[\leadsto \frac{b}{c \cdot \color{blue}{z}} \]
                2. lift-/.f64N/A

                  \[\leadsto \frac{b}{\color{blue}{c \cdot z}} \]
                3. associate-/r*N/A

                  \[\leadsto \frac{\frac{b}{c}}{\color{blue}{z}} \]
                4. lower-/.f64N/A

                  \[\leadsto \frac{\frac{b}{c}}{\color{blue}{z}} \]
                5. lower-/.f6434.1

                  \[\leadsto \frac{\frac{b}{c}}{z} \]
              6. Applied rewrites34.1%

                \[\leadsto \frac{\frac{b}{c}}{\color{blue}{z}} \]
            3. Recombined 2 regimes into one program.
            4. Add Preprocessing

            Alternative 15: 34.2% accurate, 3.8× speedup?

            \[\begin{array}{l} c\_m = \left|c\right| \\ c\_s = \mathsf{copysign}\left(1, c\right) \\ c\_s \cdot \frac{b}{c\_m \cdot z} \end{array} \]
            c\_m = (fabs.f64 c)
            c\_s = (copysign.f64 #s(literal 1 binary64) c)
            (FPCore (c_s x y z t a b c_m) :precision binary64 (* c_s (/ b (* c_m z))))
            c\_m = fabs(c);
            c\_s = copysign(1.0, c);
            double code(double c_s, double x, double y, double z, double t, double a, double b, double c_m) {
            	return c_s * (b / (c_m * z));
            }
            
            c\_m =     private
            c\_s =     private
            module fmin_fmax_functions
                implicit none
                private
                public fmax
                public fmin
            
                interface fmax
                    module procedure fmax88
                    module procedure fmax44
                    module procedure fmax84
                    module procedure fmax48
                end interface
                interface fmin
                    module procedure fmin88
                    module procedure fmin44
                    module procedure fmin84
                    module procedure fmin48
                end interface
            contains
                real(8) function fmax88(x, y) result (res)
                    real(8), intent (in) :: x
                    real(8), intent (in) :: y
                    res = merge(y, merge(x, max(x, y), y /= y), x /= x)
                end function
                real(4) function fmax44(x, y) result (res)
                    real(4), intent (in) :: x
                    real(4), intent (in) :: y
                    res = merge(y, merge(x, max(x, y), y /= y), x /= x)
                end function
                real(8) function fmax84(x, y) result(res)
                    real(8), intent (in) :: x
                    real(4), intent (in) :: y
                    res = merge(dble(y), merge(x, max(x, dble(y)), y /= y), x /= x)
                end function
                real(8) function fmax48(x, y) result(res)
                    real(4), intent (in) :: x
                    real(8), intent (in) :: y
                    res = merge(y, merge(dble(x), max(dble(x), y), y /= y), x /= x)
                end function
                real(8) function fmin88(x, y) result (res)
                    real(8), intent (in) :: x
                    real(8), intent (in) :: y
                    res = merge(y, merge(x, min(x, y), y /= y), x /= x)
                end function
                real(4) function fmin44(x, y) result (res)
                    real(4), intent (in) :: x
                    real(4), intent (in) :: y
                    res = merge(y, merge(x, min(x, y), y /= y), x /= x)
                end function
                real(8) function fmin84(x, y) result(res)
                    real(8), intent (in) :: x
                    real(4), intent (in) :: y
                    res = merge(dble(y), merge(x, min(x, dble(y)), y /= y), x /= x)
                end function
                real(8) function fmin48(x, y) result(res)
                    real(4), intent (in) :: x
                    real(8), intent (in) :: y
                    res = merge(y, merge(dble(x), min(dble(x), y), y /= y), x /= x)
                end function
            end module
            
            real(8) function code(c_s, x, y, z, t, a, b, c_m)
            use fmin_fmax_functions
                real(8), intent (in) :: c_s
                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_m
                code = c_s * (b / (c_m * z))
            end function
            
            c\_m = Math.abs(c);
            c\_s = Math.copySign(1.0, c);
            public static double code(double c_s, double x, double y, double z, double t, double a, double b, double c_m) {
            	return c_s * (b / (c_m * z));
            }
            
            c\_m = math.fabs(c)
            c\_s = math.copysign(1.0, c)
            def code(c_s, x, y, z, t, a, b, c_m):
            	return c_s * (b / (c_m * z))
            
            c\_m = abs(c)
            c\_s = copysign(1.0, c)
            function code(c_s, x, y, z, t, a, b, c_m)
            	return Float64(c_s * Float64(b / Float64(c_m * z)))
            end
            
            c\_m = abs(c);
            c\_s = sign(c) * abs(1.0);
            function tmp = code(c_s, x, y, z, t, a, b, c_m)
            	tmp = c_s * (b / (c_m * z));
            end
            
            c\_m = N[Abs[c], $MachinePrecision]
            c\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[c]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
            code[c$95$s_, x_, y_, z_, t_, a_, b_, c$95$m_] := N[(c$95$s * N[(b / N[(c$95$m * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
            
            \begin{array}{l}
            c\_m = \left|c\right|
            \\
            c\_s = \mathsf{copysign}\left(1, c\right)
            
            \\
            c\_s \cdot \frac{b}{c\_m \cdot z}
            \end{array}
            
            Derivation
            1. Initial program 79.5%

              \[\frac{\left(\left(x \cdot 9\right) \cdot y - \left(\left(z \cdot 4\right) \cdot t\right) \cdot a\right) + b}{z \cdot c} \]
            2. Taylor expanded in b around inf

              \[\leadsto \color{blue}{\frac{b}{c \cdot z}} \]
            3. Step-by-step derivation
              1. lower-/.f64N/A

                \[\leadsto \frac{b}{\color{blue}{c \cdot z}} \]
              2. lower-*.f6434.2

                \[\leadsto \frac{b}{c \cdot \color{blue}{z}} \]
            4. Applied rewrites34.2%

              \[\leadsto \color{blue}{\frac{b}{c \cdot z}} \]
            5. Add Preprocessing

            Reproduce

            ?
            herbie shell --seed 2025138 
            (FPCore (x y z t a b c)
              :name "Diagrams.Solve.Polynomial:cubForm  from diagrams-solve-0.1, J"
              :precision binary64
              (/ (+ (- (* (* x 9.0) y) (* (* (* z 4.0) t) a)) b) (* z c)))