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

Percentage Accurate: 57.5% → 98.5%
Time: 13.6s
Alternatives: 17
Speedup: 4.4×

Specification

?
\[\begin{array}{l} \\ \frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \end{array} \]
(FPCore (x y z)
 :precision binary64
 (/
  (*
   (- x 2.0)
   (+
    (*
     (+ (* (+ (* (+ (* x 4.16438922228) 78.6994924154) x) 137.519416416) x) y)
     x)
    z))
  (+
   (* (+ (* (+ (* (+ x 43.3400022514) x) 263.505074721) x) 313.399215894) x)
   47.066876606)))
double code(double x, double y, double z) {
	return ((x - 2.0) * ((((((((x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z)) / (((((((x + 43.3400022514) * x) + 263.505074721) * x) + 313.399215894) * x) + 47.066876606);
}
real(8) function code(x, y, z)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    code = ((x - 2.0d0) * ((((((((x * 4.16438922228d0) + 78.6994924154d0) * x) + 137.519416416d0) * x) + y) * x) + z)) / (((((((x + 43.3400022514d0) * x) + 263.505074721d0) * x) + 313.399215894d0) * x) + 47.066876606d0)
end function
public static double code(double x, double y, double z) {
	return ((x - 2.0) * ((((((((x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z)) / (((((((x + 43.3400022514) * x) + 263.505074721) * x) + 313.399215894) * x) + 47.066876606);
}
def code(x, y, z):
	return ((x - 2.0) * ((((((((x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z)) / (((((((x + 43.3400022514) * x) + 263.505074721) * x) + 313.399215894) * x) + 47.066876606)
function code(x, y, z)
	return Float64(Float64(Float64(x - 2.0) * Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z)) / Float64(Float64(Float64(Float64(Float64(Float64(Float64(x + 43.3400022514) * x) + 263.505074721) * x) + 313.399215894) * x) + 47.066876606))
end
function tmp = code(x, y, z)
	tmp = ((x - 2.0) * ((((((((x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z)) / (((((((x + 43.3400022514) * x) + 263.505074721) * x) + 313.399215894) * x) + 47.066876606);
end
code[x_, y_, z_] := N[(N[(N[(x - 2.0), $MachinePrecision] * N[(N[(N[(N[(N[(N[(N[(N[(x * 4.16438922228), $MachinePrecision] + 78.6994924154), $MachinePrecision] * x), $MachinePrecision] + 137.519416416), $MachinePrecision] * x), $MachinePrecision] + y), $MachinePrecision] * x), $MachinePrecision] + z), $MachinePrecision]), $MachinePrecision] / N[(N[(N[(N[(N[(N[(N[(x + 43.3400022514), $MachinePrecision] * x), $MachinePrecision] + 263.505074721), $MachinePrecision] * x), $MachinePrecision] + 313.399215894), $MachinePrecision] * x), $MachinePrecision] + 47.066876606), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606}
\end{array}

Sampling outcomes in binary64 precision:

Local Percentage Accuracy vs ?

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

Accuracy vs Speed?

Herbie found 17 alternatives:

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

Initial Program: 57.5% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \end{array} \]
(FPCore (x y z)
 :precision binary64
 (/
  (*
   (- x 2.0)
   (+
    (*
     (+ (* (+ (* (+ (* x 4.16438922228) 78.6994924154) x) 137.519416416) x) y)
     x)
    z))
  (+
   (* (+ (* (+ (* (+ x 43.3400022514) x) 263.505074721) x) 313.399215894) x)
   47.066876606)))
double code(double x, double y, double z) {
	return ((x - 2.0) * ((((((((x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z)) / (((((((x + 43.3400022514) * x) + 263.505074721) * x) + 313.399215894) * x) + 47.066876606);
}
real(8) function code(x, y, z)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    code = ((x - 2.0d0) * ((((((((x * 4.16438922228d0) + 78.6994924154d0) * x) + 137.519416416d0) * x) + y) * x) + z)) / (((((((x + 43.3400022514d0) * x) + 263.505074721d0) * x) + 313.399215894d0) * x) + 47.066876606d0)
end function
public static double code(double x, double y, double z) {
	return ((x - 2.0) * ((((((((x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z)) / (((((((x + 43.3400022514) * x) + 263.505074721) * x) + 313.399215894) * x) + 47.066876606);
}
def code(x, y, z):
	return ((x - 2.0) * ((((((((x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z)) / (((((((x + 43.3400022514) * x) + 263.505074721) * x) + 313.399215894) * x) + 47.066876606)
function code(x, y, z)
	return Float64(Float64(Float64(x - 2.0) * Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z)) / Float64(Float64(Float64(Float64(Float64(Float64(Float64(x + 43.3400022514) * x) + 263.505074721) * x) + 313.399215894) * x) + 47.066876606))
end
function tmp = code(x, y, z)
	tmp = ((x - 2.0) * ((((((((x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z)) / (((((((x + 43.3400022514) * x) + 263.505074721) * x) + 313.399215894) * x) + 47.066876606);
end
code[x_, y_, z_] := N[(N[(N[(x - 2.0), $MachinePrecision] * N[(N[(N[(N[(N[(N[(N[(N[(x * 4.16438922228), $MachinePrecision] + 78.6994924154), $MachinePrecision] * x), $MachinePrecision] + 137.519416416), $MachinePrecision] * x), $MachinePrecision] + y), $MachinePrecision] * x), $MachinePrecision] + z), $MachinePrecision]), $MachinePrecision] / N[(N[(N[(N[(N[(N[(N[(x + 43.3400022514), $MachinePrecision] * x), $MachinePrecision] + 263.505074721), $MachinePrecision] * x), $MachinePrecision] + 313.399215894), $MachinePrecision] * x), $MachinePrecision] + 47.066876606), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606}
\end{array}

Alternative 1: 98.5% accurate, 0.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \leq \infty:\\ \;\;\;\;\frac{\left(x \cdot x - 4\right) \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}}{2 + x}\\ \mathbf{else}:\\ \;\;\;\;4.16438922228 \cdot x\\ \end{array} \end{array} \]
(FPCore (x y z)
 :precision binary64
 (if (<=
      (/
       (*
        (- x 2.0)
        (+
         (*
          (+
           (* (+ (* (+ (* x 4.16438922228) 78.6994924154) x) 137.519416416) x)
           y)
          x)
         z))
       (+
        (*
         (+ (* (+ (* (+ x 43.3400022514) x) 263.505074721) x) 313.399215894)
         x)
        47.066876606))
      INFINITY)
   (/
    (*
     (- (* x x) 4.0)
     (/
      (fma
       (fma (fma (fma 4.16438922228 x 78.6994924154) x 137.519416416) x y)
       x
       z)
      (fma
       (fma (fma (+ 43.3400022514 x) x 263.505074721) x 313.399215894)
       x
       47.066876606)))
    (+ 2.0 x))
   (* 4.16438922228 x)))
double code(double x, double y, double z) {
	double tmp;
	if ((((x - 2.0) * ((((((((x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z)) / (((((((x + 43.3400022514) * x) + 263.505074721) * x) + 313.399215894) * x) + 47.066876606)) <= ((double) INFINITY)) {
		tmp = (((x * x) - 4.0) * (fma(fma(fma(fma(4.16438922228, x, 78.6994924154), x, 137.519416416), x, y), x, z) / fma(fma(fma((43.3400022514 + x), x, 263.505074721), x, 313.399215894), x, 47.066876606))) / (2.0 + x);
	} else {
		tmp = 4.16438922228 * x;
	}
	return tmp;
}
function code(x, y, z)
	tmp = 0.0
	if (Float64(Float64(Float64(x - 2.0) * Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z)) / Float64(Float64(Float64(Float64(Float64(Float64(Float64(x + 43.3400022514) * x) + 263.505074721) * x) + 313.399215894) * x) + 47.066876606)) <= Inf)
		tmp = Float64(Float64(Float64(Float64(x * x) - 4.0) * Float64(fma(fma(fma(fma(4.16438922228, x, 78.6994924154), x, 137.519416416), x, y), x, z) / fma(fma(fma(Float64(43.3400022514 + x), x, 263.505074721), x, 313.399215894), x, 47.066876606))) / Float64(2.0 + x));
	else
		tmp = Float64(4.16438922228 * x);
	end
	return tmp
end
code[x_, y_, z_] := If[LessEqual[N[(N[(N[(x - 2.0), $MachinePrecision] * N[(N[(N[(N[(N[(N[(N[(N[(x * 4.16438922228), $MachinePrecision] + 78.6994924154), $MachinePrecision] * x), $MachinePrecision] + 137.519416416), $MachinePrecision] * x), $MachinePrecision] + y), $MachinePrecision] * x), $MachinePrecision] + z), $MachinePrecision]), $MachinePrecision] / N[(N[(N[(N[(N[(N[(N[(x + 43.3400022514), $MachinePrecision] * x), $MachinePrecision] + 263.505074721), $MachinePrecision] * x), $MachinePrecision] + 313.399215894), $MachinePrecision] * x), $MachinePrecision] + 47.066876606), $MachinePrecision]), $MachinePrecision], Infinity], N[(N[(N[(N[(x * x), $MachinePrecision] - 4.0), $MachinePrecision] * N[(N[(N[(N[(N[(4.16438922228 * x + 78.6994924154), $MachinePrecision] * x + 137.519416416), $MachinePrecision] * x + y), $MachinePrecision] * x + z), $MachinePrecision] / N[(N[(N[(N[(43.3400022514 + x), $MachinePrecision] * x + 263.505074721), $MachinePrecision] * x + 313.399215894), $MachinePrecision] * x + 47.066876606), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(2.0 + x), $MachinePrecision]), $MachinePrecision], N[(4.16438922228 * x), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \leq \infty:\\
\;\;\;\;\frac{\left(x \cdot x - 4\right) \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}}{2 + x}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (/.f64 (*.f64 (-.f64 x #s(literal 2 binary64)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x #s(literal 104109730557/25000000000 binary64)) #s(literal 393497462077/5000000000 binary64)) x) #s(literal 4297481763/31250000 binary64)) x) y) x) z)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x #s(literal 216700011257/5000000000 binary64)) x) #s(literal 263505074721/1000000000 binary64)) x) #s(literal 156699607947/500000000 binary64)) x) #s(literal 23533438303/500000000 binary64))) < +inf.0

    1. Initial program 94.4%

      \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
    2. Add Preprocessing
    3. Applied rewrites99.0%

      \[\leadsto \color{blue}{\frac{\left(x \cdot x - 4\right) \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}}{2 + x}} \]

    if +inf.0 < (/.f64 (*.f64 (-.f64 x #s(literal 2 binary64)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x #s(literal 104109730557/25000000000 binary64)) #s(literal 393497462077/5000000000 binary64)) x) #s(literal 4297481763/31250000 binary64)) x) y) x) z)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x #s(literal 216700011257/5000000000 binary64)) x) #s(literal 263505074721/1000000000 binary64)) x) #s(literal 156699607947/500000000 binary64)) x) #s(literal 23533438303/500000000 binary64)))

    1. Initial program 0.0%

      \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
    2. Add Preprocessing
    3. Applied rewrites0.0%

      \[\leadsto \color{blue}{\frac{\left(x \cdot x - 4\right) \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}}{2 + x}} \]
    4. Taylor expanded in x around inf

      \[\leadsto \color{blue}{\frac{104109730557}{25000000000} \cdot x} \]
    5. Step-by-step derivation
      1. lower-*.f6499.0

        \[\leadsto \color{blue}{4.16438922228 \cdot x} \]
    6. Applied rewrites99.0%

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

Alternative 2: 98.4% accurate, 0.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \leq \infty:\\ \;\;\;\;\frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} \cdot \left(x - 2\right)\\ \mathbf{else}:\\ \;\;\;\;4.16438922228 \cdot x\\ \end{array} \end{array} \]
(FPCore (x y z)
 :precision binary64
 (if (<=
      (/
       (*
        (- x 2.0)
        (+
         (*
          (+
           (* (+ (* (+ (* x 4.16438922228) 78.6994924154) x) 137.519416416) x)
           y)
          x)
         z))
       (+
        (*
         (+ (* (+ (* (+ x 43.3400022514) x) 263.505074721) x) 313.399215894)
         x)
        47.066876606))
      INFINITY)
   (*
    (/
     (fma
      (fma (fma (fma 4.16438922228 x 78.6994924154) x 137.519416416) x y)
      x
      z)
     (fma
      (fma (fma (+ 43.3400022514 x) x 263.505074721) x 313.399215894)
      x
      47.066876606))
    (- x 2.0))
   (* 4.16438922228 x)))
double code(double x, double y, double z) {
	double tmp;
	if ((((x - 2.0) * ((((((((x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z)) / (((((((x + 43.3400022514) * x) + 263.505074721) * x) + 313.399215894) * x) + 47.066876606)) <= ((double) INFINITY)) {
		tmp = (fma(fma(fma(fma(4.16438922228, x, 78.6994924154), x, 137.519416416), x, y), x, z) / fma(fma(fma((43.3400022514 + x), x, 263.505074721), x, 313.399215894), x, 47.066876606)) * (x - 2.0);
	} else {
		tmp = 4.16438922228 * x;
	}
	return tmp;
}
function code(x, y, z)
	tmp = 0.0
	if (Float64(Float64(Float64(x - 2.0) * Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z)) / Float64(Float64(Float64(Float64(Float64(Float64(Float64(x + 43.3400022514) * x) + 263.505074721) * x) + 313.399215894) * x) + 47.066876606)) <= Inf)
		tmp = Float64(Float64(fma(fma(fma(fma(4.16438922228, x, 78.6994924154), x, 137.519416416), x, y), x, z) / fma(fma(fma(Float64(43.3400022514 + x), x, 263.505074721), x, 313.399215894), x, 47.066876606)) * Float64(x - 2.0));
	else
		tmp = Float64(4.16438922228 * x);
	end
	return tmp
end
code[x_, y_, z_] := If[LessEqual[N[(N[(N[(x - 2.0), $MachinePrecision] * N[(N[(N[(N[(N[(N[(N[(N[(x * 4.16438922228), $MachinePrecision] + 78.6994924154), $MachinePrecision] * x), $MachinePrecision] + 137.519416416), $MachinePrecision] * x), $MachinePrecision] + y), $MachinePrecision] * x), $MachinePrecision] + z), $MachinePrecision]), $MachinePrecision] / N[(N[(N[(N[(N[(N[(N[(x + 43.3400022514), $MachinePrecision] * x), $MachinePrecision] + 263.505074721), $MachinePrecision] * x), $MachinePrecision] + 313.399215894), $MachinePrecision] * x), $MachinePrecision] + 47.066876606), $MachinePrecision]), $MachinePrecision], Infinity], N[(N[(N[(N[(N[(N[(4.16438922228 * x + 78.6994924154), $MachinePrecision] * x + 137.519416416), $MachinePrecision] * x + y), $MachinePrecision] * x + z), $MachinePrecision] / N[(N[(N[(N[(43.3400022514 + x), $MachinePrecision] * x + 263.505074721), $MachinePrecision] * x + 313.399215894), $MachinePrecision] * x + 47.066876606), $MachinePrecision]), $MachinePrecision] * N[(x - 2.0), $MachinePrecision]), $MachinePrecision], N[(4.16438922228 * x), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \leq \infty:\\
\;\;\;\;\frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} \cdot \left(x - 2\right)\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (/.f64 (*.f64 (-.f64 x #s(literal 2 binary64)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x #s(literal 104109730557/25000000000 binary64)) #s(literal 393497462077/5000000000 binary64)) x) #s(literal 4297481763/31250000 binary64)) x) y) x) z)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x #s(literal 216700011257/5000000000 binary64)) x) #s(literal 263505074721/1000000000 binary64)) x) #s(literal 156699607947/500000000 binary64)) x) #s(literal 23533438303/500000000 binary64))) < +inf.0

    1. Initial program 94.4%

      \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
    2. Add Preprocessing
    3. Step-by-step derivation
      1. lift-/.f64N/A

        \[\leadsto \color{blue}{\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot \frac{104109730557}{25000000000} + \frac{393497462077}{5000000000}\right) \cdot x + \frac{4297481763}{31250000}\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}}} \]
      2. lift-*.f64N/A

        \[\leadsto \frac{\color{blue}{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot \frac{104109730557}{25000000000} + \frac{393497462077}{5000000000}\right) \cdot x + \frac{4297481763}{31250000}\right) \cdot x + y\right) \cdot x + z\right)}}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
      3. associate-/l*N/A

        \[\leadsto \color{blue}{\left(x - 2\right) \cdot \frac{\left(\left(\left(x \cdot \frac{104109730557}{25000000000} + \frac{393497462077}{5000000000}\right) \cdot x + \frac{4297481763}{31250000}\right) \cdot x + y\right) \cdot x + z}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}}} \]
      4. *-commutativeN/A

        \[\leadsto \color{blue}{\frac{\left(\left(\left(x \cdot \frac{104109730557}{25000000000} + \frac{393497462077}{5000000000}\right) \cdot x + \frac{4297481763}{31250000}\right) \cdot x + y\right) \cdot x + z}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \cdot \left(x - 2\right)} \]
      5. lower-*.f64N/A

        \[\leadsto \color{blue}{\frac{\left(\left(\left(x \cdot \frac{104109730557}{25000000000} + \frac{393497462077}{5000000000}\right) \cdot x + \frac{4297481763}{31250000}\right) \cdot x + y\right) \cdot x + z}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \cdot \left(x - 2\right)} \]
    4. Applied rewrites99.0%

      \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} \cdot \left(x - 2\right)} \]

    if +inf.0 < (/.f64 (*.f64 (-.f64 x #s(literal 2 binary64)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x #s(literal 104109730557/25000000000 binary64)) #s(literal 393497462077/5000000000 binary64)) x) #s(literal 4297481763/31250000 binary64)) x) y) x) z)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x #s(literal 216700011257/5000000000 binary64)) x) #s(literal 263505074721/1000000000 binary64)) x) #s(literal 156699607947/500000000 binary64)) x) #s(literal 23533438303/500000000 binary64)))

    1. Initial program 0.0%

      \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
    2. Add Preprocessing
    3. Applied rewrites0.0%

      \[\leadsto \color{blue}{\frac{\left(x \cdot x - 4\right) \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}}{2 + x}} \]
    4. Taylor expanded in x around inf

      \[\leadsto \color{blue}{\frac{104109730557}{25000000000} \cdot x} \]
    5. Step-by-step derivation
      1. lower-*.f6499.0

        \[\leadsto \color{blue}{4.16438922228 \cdot x} \]
    6. Applied rewrites99.0%

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

Alternative 3: 95.6% accurate, 0.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \leq \infty:\\ \;\;\;\;\frac{\mathsf{fma}\left(\mathsf{fma}\left(\left(4.16438922228 \cdot x\right) \cdot x, x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} \cdot \left(x - 2\right)\\ \mathbf{else}:\\ \;\;\;\;4.16438922228 \cdot x\\ \end{array} \end{array} \]
(FPCore (x y z)
 :precision binary64
 (if (<=
      (/
       (*
        (- x 2.0)
        (+
         (*
          (+
           (* (+ (* (+ (* x 4.16438922228) 78.6994924154) x) 137.519416416) x)
           y)
          x)
         z))
       (+
        (*
         (+ (* (+ (* (+ x 43.3400022514) x) 263.505074721) x) 313.399215894)
         x)
        47.066876606))
      INFINITY)
   (*
    (/
     (fma (fma (* (* 4.16438922228 x) x) x y) x z)
     (fma
      (fma (fma (+ 43.3400022514 x) x 263.505074721) x 313.399215894)
      x
      47.066876606))
    (- x 2.0))
   (* 4.16438922228 x)))
double code(double x, double y, double z) {
	double tmp;
	if ((((x - 2.0) * ((((((((x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z)) / (((((((x + 43.3400022514) * x) + 263.505074721) * x) + 313.399215894) * x) + 47.066876606)) <= ((double) INFINITY)) {
		tmp = (fma(fma(((4.16438922228 * x) * x), x, y), x, z) / fma(fma(fma((43.3400022514 + x), x, 263.505074721), x, 313.399215894), x, 47.066876606)) * (x - 2.0);
	} else {
		tmp = 4.16438922228 * x;
	}
	return tmp;
}
function code(x, y, z)
	tmp = 0.0
	if (Float64(Float64(Float64(x - 2.0) * Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z)) / Float64(Float64(Float64(Float64(Float64(Float64(Float64(x + 43.3400022514) * x) + 263.505074721) * x) + 313.399215894) * x) + 47.066876606)) <= Inf)
		tmp = Float64(Float64(fma(fma(Float64(Float64(4.16438922228 * x) * x), x, y), x, z) / fma(fma(fma(Float64(43.3400022514 + x), x, 263.505074721), x, 313.399215894), x, 47.066876606)) * Float64(x - 2.0));
	else
		tmp = Float64(4.16438922228 * x);
	end
	return tmp
end
code[x_, y_, z_] := If[LessEqual[N[(N[(N[(x - 2.0), $MachinePrecision] * N[(N[(N[(N[(N[(N[(N[(N[(x * 4.16438922228), $MachinePrecision] + 78.6994924154), $MachinePrecision] * x), $MachinePrecision] + 137.519416416), $MachinePrecision] * x), $MachinePrecision] + y), $MachinePrecision] * x), $MachinePrecision] + z), $MachinePrecision]), $MachinePrecision] / N[(N[(N[(N[(N[(N[(N[(x + 43.3400022514), $MachinePrecision] * x), $MachinePrecision] + 263.505074721), $MachinePrecision] * x), $MachinePrecision] + 313.399215894), $MachinePrecision] * x), $MachinePrecision] + 47.066876606), $MachinePrecision]), $MachinePrecision], Infinity], N[(N[(N[(N[(N[(N[(4.16438922228 * x), $MachinePrecision] * x), $MachinePrecision] * x + y), $MachinePrecision] * x + z), $MachinePrecision] / N[(N[(N[(N[(43.3400022514 + x), $MachinePrecision] * x + 263.505074721), $MachinePrecision] * x + 313.399215894), $MachinePrecision] * x + 47.066876606), $MachinePrecision]), $MachinePrecision] * N[(x - 2.0), $MachinePrecision]), $MachinePrecision], N[(4.16438922228 * x), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \leq \infty:\\
\;\;\;\;\frac{\mathsf{fma}\left(\mathsf{fma}\left(\left(4.16438922228 \cdot x\right) \cdot x, x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} \cdot \left(x - 2\right)\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (/.f64 (*.f64 (-.f64 x #s(literal 2 binary64)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x #s(literal 104109730557/25000000000 binary64)) #s(literal 393497462077/5000000000 binary64)) x) #s(literal 4297481763/31250000 binary64)) x) y) x) z)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x #s(literal 216700011257/5000000000 binary64)) x) #s(literal 263505074721/1000000000 binary64)) x) #s(literal 156699607947/500000000 binary64)) x) #s(literal 23533438303/500000000 binary64))) < +inf.0

    1. Initial program 94.4%

      \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
    2. Add Preprocessing
    3. Taylor expanded in x around inf

      \[\leadsto \frac{\left(x - 2\right) \cdot \left(\left(\color{blue}{\left(\frac{104109730557}{25000000000} \cdot {x}^{2}\right)} \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
    4. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \frac{\left(x - 2\right) \cdot \left(\left(\color{blue}{\left({x}^{2} \cdot \frac{104109730557}{25000000000}\right)} \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
      2. lower-*.f64N/A

        \[\leadsto \frac{\left(x - 2\right) \cdot \left(\left(\color{blue}{\left({x}^{2} \cdot \frac{104109730557}{25000000000}\right)} \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
      3. unpow2N/A

        \[\leadsto \frac{\left(x - 2\right) \cdot \left(\left(\left(\color{blue}{\left(x \cdot x\right)} \cdot \frac{104109730557}{25000000000}\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
      4. lower-*.f6492.3

        \[\leadsto \frac{\left(x - 2\right) \cdot \left(\left(\left(\color{blue}{\left(x \cdot x\right)} \cdot 4.16438922228\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
    5. Applied rewrites92.3%

      \[\leadsto \frac{\left(x - 2\right) \cdot \left(\left(\color{blue}{\left(\left(x \cdot x\right) \cdot 4.16438922228\right)} \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
    6. Step-by-step derivation
      1. lift-/.f64N/A

        \[\leadsto \color{blue}{\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \frac{104109730557}{25000000000}\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}}} \]
      2. lift-*.f64N/A

        \[\leadsto \frac{\color{blue}{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \frac{104109730557}{25000000000}\right) \cdot x + y\right) \cdot x + z\right)}}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
      3. associate-/l*N/A

        \[\leadsto \color{blue}{\left(x - 2\right) \cdot \frac{\left(\left(\left(x \cdot x\right) \cdot \frac{104109730557}{25000000000}\right) \cdot x + y\right) \cdot x + z}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}}} \]
      4. *-commutativeN/A

        \[\leadsto \color{blue}{\frac{\left(\left(\left(x \cdot x\right) \cdot \frac{104109730557}{25000000000}\right) \cdot x + y\right) \cdot x + z}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \cdot \left(x - 2\right)} \]
      5. lower-*.f64N/A

        \[\leadsto \color{blue}{\frac{\left(\left(\left(x \cdot x\right) \cdot \frac{104109730557}{25000000000}\right) \cdot x + y\right) \cdot x + z}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \cdot \left(x - 2\right)} \]
    7. Applied rewrites96.8%

      \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\mathsf{fma}\left(\left(4.16438922228 \cdot x\right) \cdot x, x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} \cdot \left(x - 2\right)} \]

    if +inf.0 < (/.f64 (*.f64 (-.f64 x #s(literal 2 binary64)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x #s(literal 104109730557/25000000000 binary64)) #s(literal 393497462077/5000000000 binary64)) x) #s(literal 4297481763/31250000 binary64)) x) y) x) z)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x #s(literal 216700011257/5000000000 binary64)) x) #s(literal 263505074721/1000000000 binary64)) x) #s(literal 156699607947/500000000 binary64)) x) #s(literal 23533438303/500000000 binary64)))

    1. Initial program 0.0%

      \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
    2. Add Preprocessing
    3. Applied rewrites0.0%

      \[\leadsto \color{blue}{\frac{\left(x \cdot x - 4\right) \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}}{2 + x}} \]
    4. Taylor expanded in x around inf

      \[\leadsto \color{blue}{\frac{104109730557}{25000000000} \cdot x} \]
    5. Step-by-step derivation
      1. lower-*.f6499.0

        \[\leadsto \color{blue}{4.16438922228 \cdot x} \]
    6. Applied rewrites99.0%

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

Alternative 4: 95.4% accurate, 1.2× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)\\ \mathbf{if}\;x \leq -5.5 \cdot 10^{+37} \lor \neg \left(x \leq 7.5 \cdot 10^{+18}\right):\\ \;\;\;\;\left(x - 2\right) \cdot \left(\frac{z}{t\_0} + 4.16438922228\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\mathsf{fma}\left(137.519416416, x, y\right), x, z\right)}{t\_0} \cdot \left(x - 2\right)\\ \end{array} \end{array} \]
(FPCore (x y z)
 :precision binary64
 (let* ((t_0
         (fma
          (fma (fma (+ 43.3400022514 x) x 263.505074721) x 313.399215894)
          x
          47.066876606)))
   (if (or (<= x -5.5e+37) (not (<= x 7.5e+18)))
     (* (- x 2.0) (+ (/ z t_0) 4.16438922228))
     (* (/ (fma (fma 137.519416416 x y) x z) t_0) (- x 2.0)))))
double code(double x, double y, double z) {
	double t_0 = fma(fma(fma((43.3400022514 + x), x, 263.505074721), x, 313.399215894), x, 47.066876606);
	double tmp;
	if ((x <= -5.5e+37) || !(x <= 7.5e+18)) {
		tmp = (x - 2.0) * ((z / t_0) + 4.16438922228);
	} else {
		tmp = (fma(fma(137.519416416, x, y), x, z) / t_0) * (x - 2.0);
	}
	return tmp;
}
function code(x, y, z)
	t_0 = fma(fma(fma(Float64(43.3400022514 + x), x, 263.505074721), x, 313.399215894), x, 47.066876606)
	tmp = 0.0
	if ((x <= -5.5e+37) || !(x <= 7.5e+18))
		tmp = Float64(Float64(x - 2.0) * Float64(Float64(z / t_0) + 4.16438922228));
	else
		tmp = Float64(Float64(fma(fma(137.519416416, x, y), x, z) / t_0) * Float64(x - 2.0));
	end
	return tmp
end
code[x_, y_, z_] := Block[{t$95$0 = N[(N[(N[(N[(43.3400022514 + x), $MachinePrecision] * x + 263.505074721), $MachinePrecision] * x + 313.399215894), $MachinePrecision] * x + 47.066876606), $MachinePrecision]}, If[Or[LessEqual[x, -5.5e+37], N[Not[LessEqual[x, 7.5e+18]], $MachinePrecision]], N[(N[(x - 2.0), $MachinePrecision] * N[(N[(z / t$95$0), $MachinePrecision] + 4.16438922228), $MachinePrecision]), $MachinePrecision], N[(N[(N[(N[(137.519416416 * x + y), $MachinePrecision] * x + z), $MachinePrecision] / t$95$0), $MachinePrecision] * N[(x - 2.0), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)\\
\mathbf{if}\;x \leq -5.5 \cdot 10^{+37} \lor \neg \left(x \leq 7.5 \cdot 10^{+18}\right):\\
\;\;\;\;\left(x - 2\right) \cdot \left(\frac{z}{t\_0} + 4.16438922228\right)\\

\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\mathsf{fma}\left(137.519416416, x, y\right), x, z\right)}{t\_0} \cdot \left(x - 2\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if x < -5.50000000000000016e37 or 7.5e18 < x

    1. Initial program 6.8%

      \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
    2. Add Preprocessing
    3. Applied rewrites13.2%

      \[\leadsto \color{blue}{\frac{\left(x \cdot x - 4\right) \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}}{2 + x}} \]
    4. Applied rewrites13.2%

      \[\leadsto \color{blue}{\mathsf{fma}\left(x - 2, \frac{x}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} \cdot \mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), \frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}\right)} \]
    5. Taylor expanded in x around inf

      \[\leadsto \mathsf{fma}\left(x - 2, \color{blue}{\frac{104109730557}{25000000000}}, \frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)}\right) \]
    6. Step-by-step derivation
      1. Applied rewrites69.2%

        \[\leadsto \mathsf{fma}\left(x - 2, \color{blue}{4.16438922228}, \frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}\right) \]
      2. Step-by-step derivation
        1. lift-fma.f64N/A

          \[\leadsto \color{blue}{\left(x - 2\right) \cdot \frac{104109730557}{25000000000} + \frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)}} \]
        2. +-commutativeN/A

          \[\leadsto \color{blue}{\frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} + \left(x - 2\right) \cdot \frac{104109730557}{25000000000}} \]
        3. lift-/.f64N/A

          \[\leadsto \color{blue}{\frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)}} + \left(x - 2\right) \cdot \frac{104109730557}{25000000000} \]
        4. lift-*.f64N/A

          \[\leadsto \frac{\color{blue}{\left(x - 2\right) \cdot z}}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} + \left(x - 2\right) \cdot \frac{104109730557}{25000000000} \]
        5. associate-/l*N/A

          \[\leadsto \color{blue}{\left(x - 2\right) \cdot \frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)}} + \left(x - 2\right) \cdot \frac{104109730557}{25000000000} \]
        6. distribute-lft-outN/A

          \[\leadsto \color{blue}{\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} + \frac{104109730557}{25000000000}\right)} \]
        7. lower-*.f64N/A

          \[\leadsto \color{blue}{\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} + \frac{104109730557}{25000000000}\right)} \]
      3. Applied rewrites97.3%

        \[\leadsto \color{blue}{\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} + 4.16438922228\right)} \]

      if -5.50000000000000016e37 < x < 7.5e18

      1. Initial program 99.0%

        \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
      2. Add Preprocessing
      3. Taylor expanded in x around 0

        \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{\left(y + \frac{4297481763}{31250000} \cdot x\right)} \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
      4. Step-by-step derivation
        1. +-commutativeN/A

          \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{\left(\frac{4297481763}{31250000} \cdot x + y\right)} \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
        2. lower-fma.f6499.0

          \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{\mathsf{fma}\left(137.519416416, x, y\right)} \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
      5. Applied rewrites99.0%

        \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{\mathsf{fma}\left(137.519416416, x, y\right)} \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
      6. Step-by-step derivation
        1. lift-/.f64N/A

          \[\leadsto \color{blue}{\frac{\left(x - 2\right) \cdot \left(\mathsf{fma}\left(\frac{4297481763}{31250000}, x, y\right) \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}}} \]
        2. lift-*.f64N/A

          \[\leadsto \frac{\color{blue}{\left(x - 2\right) \cdot \left(\mathsf{fma}\left(\frac{4297481763}{31250000}, x, y\right) \cdot x + z\right)}}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
        3. associate-/l*N/A

          \[\leadsto \color{blue}{\left(x - 2\right) \cdot \frac{\mathsf{fma}\left(\frac{4297481763}{31250000}, x, y\right) \cdot x + z}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}}} \]
        4. *-commutativeN/A

          \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{4297481763}{31250000}, x, y\right) \cdot x + z}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \cdot \left(x - 2\right)} \]
        5. lower-*.f64N/A

          \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{4297481763}{31250000}, x, y\right) \cdot x + z}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \cdot \left(x - 2\right)} \]
      7. Applied rewrites99.6%

        \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\mathsf{fma}\left(137.519416416, x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} \cdot \left(x - 2\right)} \]
    7. Recombined 2 regimes into one program.
    8. Final simplification98.6%

      \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq -5.5 \cdot 10^{+37} \lor \neg \left(x \leq 7.5 \cdot 10^{+18}\right):\\ \;\;\;\;\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} + 4.16438922228\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\mathsf{fma}\left(137.519416416, x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} \cdot \left(x - 2\right)\\ \end{array} \]
    9. Add Preprocessing

    Alternative 5: 95.5% accurate, 1.2× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} t_0 := \mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)\\ \mathbf{if}\;x \leq -5.5 \cdot 10^{+37}:\\ \;\;\;\;\left(x - 2\right) \cdot \left(\frac{z}{t\_0} + 4.16438922228\right)\\ \mathbf{elif}\;x \leq 6.3 \cdot 10^{+41}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\mathsf{fma}\left(137.519416416, x, y\right), x, z\right)}{t\_0} \cdot \left(x - 2\right)\\ \mathbf{else}:\\ \;\;\;\;\left(-x\right) \cdot \left(\frac{\frac{\frac{130977.50649958357 - y}{x} - 3655.1204654076414}{x} + 110.1139242984811}{x} - 4.16438922228\right)\\ \end{array} \end{array} \]
    (FPCore (x y z)
     :precision binary64
     (let* ((t_0
             (fma
              (fma (fma (+ 43.3400022514 x) x 263.505074721) x 313.399215894)
              x
              47.066876606)))
       (if (<= x -5.5e+37)
         (* (- x 2.0) (+ (/ z t_0) 4.16438922228))
         (if (<= x 6.3e+41)
           (* (/ (fma (fma 137.519416416 x y) x z) t_0) (- x 2.0))
           (*
            (- x)
            (-
             (/
              (+
               (/ (- (/ (- 130977.50649958357 y) x) 3655.1204654076414) x)
               110.1139242984811)
              x)
             4.16438922228))))))
    double code(double x, double y, double z) {
    	double t_0 = fma(fma(fma((43.3400022514 + x), x, 263.505074721), x, 313.399215894), x, 47.066876606);
    	double tmp;
    	if (x <= -5.5e+37) {
    		tmp = (x - 2.0) * ((z / t_0) + 4.16438922228);
    	} else if (x <= 6.3e+41) {
    		tmp = (fma(fma(137.519416416, x, y), x, z) / t_0) * (x - 2.0);
    	} else {
    		tmp = -x * (((((((130977.50649958357 - y) / x) - 3655.1204654076414) / x) + 110.1139242984811) / x) - 4.16438922228);
    	}
    	return tmp;
    }
    
    function code(x, y, z)
    	t_0 = fma(fma(fma(Float64(43.3400022514 + x), x, 263.505074721), x, 313.399215894), x, 47.066876606)
    	tmp = 0.0
    	if (x <= -5.5e+37)
    		tmp = Float64(Float64(x - 2.0) * Float64(Float64(z / t_0) + 4.16438922228));
    	elseif (x <= 6.3e+41)
    		tmp = Float64(Float64(fma(fma(137.519416416, x, y), x, z) / t_0) * Float64(x - 2.0));
    	else
    		tmp = Float64(Float64(-x) * Float64(Float64(Float64(Float64(Float64(Float64(Float64(130977.50649958357 - y) / x) - 3655.1204654076414) / x) + 110.1139242984811) / x) - 4.16438922228));
    	end
    	return tmp
    end
    
    code[x_, y_, z_] := Block[{t$95$0 = N[(N[(N[(N[(43.3400022514 + x), $MachinePrecision] * x + 263.505074721), $MachinePrecision] * x + 313.399215894), $MachinePrecision] * x + 47.066876606), $MachinePrecision]}, If[LessEqual[x, -5.5e+37], N[(N[(x - 2.0), $MachinePrecision] * N[(N[(z / t$95$0), $MachinePrecision] + 4.16438922228), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 6.3e+41], N[(N[(N[(N[(137.519416416 * x + y), $MachinePrecision] * x + z), $MachinePrecision] / t$95$0), $MachinePrecision] * N[(x - 2.0), $MachinePrecision]), $MachinePrecision], N[((-x) * N[(N[(N[(N[(N[(N[(N[(130977.50649958357 - y), $MachinePrecision] / x), $MachinePrecision] - 3655.1204654076414), $MachinePrecision] / x), $MachinePrecision] + 110.1139242984811), $MachinePrecision] / x), $MachinePrecision] - 4.16438922228), $MachinePrecision]), $MachinePrecision]]]]
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    t_0 := \mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)\\
    \mathbf{if}\;x \leq -5.5 \cdot 10^{+37}:\\
    \;\;\;\;\left(x - 2\right) \cdot \left(\frac{z}{t\_0} + 4.16438922228\right)\\
    
    \mathbf{elif}\;x \leq 6.3 \cdot 10^{+41}:\\
    \;\;\;\;\frac{\mathsf{fma}\left(\mathsf{fma}\left(137.519416416, x, y\right), x, z\right)}{t\_0} \cdot \left(x - 2\right)\\
    
    \mathbf{else}:\\
    \;\;\;\;\left(-x\right) \cdot \left(\frac{\frac{\frac{130977.50649958357 - y}{x} - 3655.1204654076414}{x} + 110.1139242984811}{x} - 4.16438922228\right)\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 3 regimes
    2. if x < -5.50000000000000016e37

      1. Initial program 9.8%

        \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
      2. Add Preprocessing
      3. Applied rewrites13.6%

        \[\leadsto \color{blue}{\frac{\left(x \cdot x - 4\right) \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}}{2 + x}} \]
      4. Applied rewrites11.8%

        \[\leadsto \color{blue}{\mathsf{fma}\left(x - 2, \frac{x}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} \cdot \mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), \frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}\right)} \]
      5. Taylor expanded in x around inf

        \[\leadsto \mathsf{fma}\left(x - 2, \color{blue}{\frac{104109730557}{25000000000}}, \frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)}\right) \]
      6. Step-by-step derivation
        1. Applied rewrites70.2%

          \[\leadsto \mathsf{fma}\left(x - 2, \color{blue}{4.16438922228}, \frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}\right) \]
        2. Step-by-step derivation
          1. lift-fma.f64N/A

            \[\leadsto \color{blue}{\left(x - 2\right) \cdot \frac{104109730557}{25000000000} + \frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)}} \]
          2. +-commutativeN/A

            \[\leadsto \color{blue}{\frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} + \left(x - 2\right) \cdot \frac{104109730557}{25000000000}} \]
          3. lift-/.f64N/A

            \[\leadsto \color{blue}{\frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)}} + \left(x - 2\right) \cdot \frac{104109730557}{25000000000} \]
          4. lift-*.f64N/A

            \[\leadsto \frac{\color{blue}{\left(x - 2\right) \cdot z}}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} + \left(x - 2\right) \cdot \frac{104109730557}{25000000000} \]
          5. associate-/l*N/A

            \[\leadsto \color{blue}{\left(x - 2\right) \cdot \frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)}} + \left(x - 2\right) \cdot \frac{104109730557}{25000000000} \]
          6. distribute-lft-outN/A

            \[\leadsto \color{blue}{\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} + \frac{104109730557}{25000000000}\right)} \]
          7. lower-*.f64N/A

            \[\leadsto \color{blue}{\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} + \frac{104109730557}{25000000000}\right)} \]
        3. Applied rewrites97.3%

          \[\leadsto \color{blue}{\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} + 4.16438922228\right)} \]

        if -5.50000000000000016e37 < x < 6.2999999999999999e41

        1. Initial program 99.0%

          \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
        2. Add Preprocessing
        3. Taylor expanded in x around 0

          \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{\left(y + \frac{4297481763}{31250000} \cdot x\right)} \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
        4. Step-by-step derivation
          1. +-commutativeN/A

            \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{\left(\frac{4297481763}{31250000} \cdot x + y\right)} \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
          2. lower-fma.f6498.4

            \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{\mathsf{fma}\left(137.519416416, x, y\right)} \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
        5. Applied rewrites98.4%

          \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{\mathsf{fma}\left(137.519416416, x, y\right)} \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
        6. Step-by-step derivation
          1. lift-/.f64N/A

            \[\leadsto \color{blue}{\frac{\left(x - 2\right) \cdot \left(\mathsf{fma}\left(\frac{4297481763}{31250000}, x, y\right) \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}}} \]
          2. lift-*.f64N/A

            \[\leadsto \frac{\color{blue}{\left(x - 2\right) \cdot \left(\mathsf{fma}\left(\frac{4297481763}{31250000}, x, y\right) \cdot x + z\right)}}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
          3. associate-/l*N/A

            \[\leadsto \color{blue}{\left(x - 2\right) \cdot \frac{\mathsf{fma}\left(\frac{4297481763}{31250000}, x, y\right) \cdot x + z}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}}} \]
          4. *-commutativeN/A

            \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{4297481763}{31250000}, x, y\right) \cdot x + z}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \cdot \left(x - 2\right)} \]
          5. lower-*.f64N/A

            \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{4297481763}{31250000}, x, y\right) \cdot x + z}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \cdot \left(x - 2\right)} \]
        7. Applied rewrites99.0%

          \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\mathsf{fma}\left(137.519416416, x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} \cdot \left(x - 2\right)} \]

        if 6.2999999999999999e41 < x

        1. Initial program 0.4%

          \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
        2. Add Preprocessing
        3. Taylor expanded in x around 0

          \[\leadsto \color{blue}{\frac{-1000000000}{23533438303} \cdot z} \]
        4. Step-by-step derivation
          1. lower-*.f642.8

            \[\leadsto \color{blue}{-0.0424927283095952 \cdot z} \]
        5. Applied rewrites2.8%

          \[\leadsto \color{blue}{-0.0424927283095952 \cdot z} \]
        6. Taylor expanded in x around -inf

          \[\leadsto \color{blue}{-1 \cdot \left(x \cdot \left(-1 \cdot \frac{-1 \cdot \frac{\left(-1 \cdot \frac{y}{x} + \frac{409304707811198655637810418659684985388407301}{3125000000000000000000000000000000000000} \cdot \frac{1}{x}\right) - \frac{2284450290879775841688574159837293}{625000000000000000000000000000}}{x} - \frac{13764240537310136880149}{125000000000000000000}}{x} - \frac{104109730557}{25000000000}\right)\right)} \]
        7. Step-by-step derivation
          1. associate-*r*N/A

            \[\leadsto \color{blue}{\left(-1 \cdot x\right) \cdot \left(-1 \cdot \frac{-1 \cdot \frac{\left(-1 \cdot \frac{y}{x} + \frac{409304707811198655637810418659684985388407301}{3125000000000000000000000000000000000000} \cdot \frac{1}{x}\right) - \frac{2284450290879775841688574159837293}{625000000000000000000000000000}}{x} - \frac{13764240537310136880149}{125000000000000000000}}{x} - \frac{104109730557}{25000000000}\right)} \]
          2. mul-1-negN/A

            \[\leadsto \color{blue}{\left(\mathsf{neg}\left(x\right)\right)} \cdot \left(-1 \cdot \frac{-1 \cdot \frac{\left(-1 \cdot \frac{y}{x} + \frac{409304707811198655637810418659684985388407301}{3125000000000000000000000000000000000000} \cdot \frac{1}{x}\right) - \frac{2284450290879775841688574159837293}{625000000000000000000000000000}}{x} - \frac{13764240537310136880149}{125000000000000000000}}{x} - \frac{104109730557}{25000000000}\right) \]
          3. lower-*.f64N/A

            \[\leadsto \color{blue}{\left(\mathsf{neg}\left(x\right)\right) \cdot \left(-1 \cdot \frac{-1 \cdot \frac{\left(-1 \cdot \frac{y}{x} + \frac{409304707811198655637810418659684985388407301}{3125000000000000000000000000000000000000} \cdot \frac{1}{x}\right) - \frac{2284450290879775841688574159837293}{625000000000000000000000000000}}{x} - \frac{13764240537310136880149}{125000000000000000000}}{x} - \frac{104109730557}{25000000000}\right)} \]
          4. lower-neg.f64N/A

            \[\leadsto \color{blue}{\left(-x\right)} \cdot \left(-1 \cdot \frac{-1 \cdot \frac{\left(-1 \cdot \frac{y}{x} + \frac{409304707811198655637810418659684985388407301}{3125000000000000000000000000000000000000} \cdot \frac{1}{x}\right) - \frac{2284450290879775841688574159837293}{625000000000000000000000000000}}{x} - \frac{13764240537310136880149}{125000000000000000000}}{x} - \frac{104109730557}{25000000000}\right) \]
          5. lower--.f64N/A

            \[\leadsto \left(-x\right) \cdot \color{blue}{\left(-1 \cdot \frac{-1 \cdot \frac{\left(-1 \cdot \frac{y}{x} + \frac{409304707811198655637810418659684985388407301}{3125000000000000000000000000000000000000} \cdot \frac{1}{x}\right) - \frac{2284450290879775841688574159837293}{625000000000000000000000000000}}{x} - \frac{13764240537310136880149}{125000000000000000000}}{x} - \frac{104109730557}{25000000000}\right)} \]
        8. Applied rewrites99.0%

          \[\leadsto \color{blue}{\left(-x\right) \cdot \left(\frac{\frac{\frac{130977.50649958357 + \left(-y\right)}{x} - 3655.1204654076414}{-x} - 110.1139242984811}{-x} - 4.16438922228\right)} \]
      7. Recombined 3 regimes into one program.
      8. Final simplification98.7%

        \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq -5.5 \cdot 10^{+37}:\\ \;\;\;\;\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} + 4.16438922228\right)\\ \mathbf{elif}\;x \leq 6.3 \cdot 10^{+41}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\mathsf{fma}\left(137.519416416, x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} \cdot \left(x - 2\right)\\ \mathbf{else}:\\ \;\;\;\;\left(-x\right) \cdot \left(\frac{\frac{\frac{130977.50649958357 - y}{x} - 3655.1204654076414}{x} + 110.1139242984811}{x} - 4.16438922228\right)\\ \end{array} \]
      9. Add Preprocessing

      Alternative 6: 93.3% accurate, 1.3× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} t_0 := \mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)\\ t_1 := \left(x - 2\right) \cdot \left(\frac{z}{t\_0} + 4.16438922228\right)\\ \mathbf{if}\;x \leq -3.4 \cdot 10^{+34}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;x \leq -1.8 \cdot 10^{-12}:\\ \;\;\;\;\left(\left(x - 2\right) \cdot y\right) \cdot \frac{x}{t\_0}\\ \mathbf{elif}\;x \leq 2.3 \cdot 10^{-7}:\\ \;\;\;\;\frac{\left(x - 2\right) \cdot \left(\mathsf{fma}\left(137.519416416, x, y\right) \cdot x + z\right)}{47.066876606}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
      (FPCore (x y z)
       :precision binary64
       (let* ((t_0
               (fma
                (fma (fma (+ 43.3400022514 x) x 263.505074721) x 313.399215894)
                x
                47.066876606))
              (t_1 (* (- x 2.0) (+ (/ z t_0) 4.16438922228))))
         (if (<= x -3.4e+34)
           t_1
           (if (<= x -1.8e-12)
             (* (* (- x 2.0) y) (/ x t_0))
             (if (<= x 2.3e-7)
               (/ (* (- x 2.0) (+ (* (fma 137.519416416 x y) x) z)) 47.066876606)
               t_1)))))
      double code(double x, double y, double z) {
      	double t_0 = fma(fma(fma((43.3400022514 + x), x, 263.505074721), x, 313.399215894), x, 47.066876606);
      	double t_1 = (x - 2.0) * ((z / t_0) + 4.16438922228);
      	double tmp;
      	if (x <= -3.4e+34) {
      		tmp = t_1;
      	} else if (x <= -1.8e-12) {
      		tmp = ((x - 2.0) * y) * (x / t_0);
      	} else if (x <= 2.3e-7) {
      		tmp = ((x - 2.0) * ((fma(137.519416416, x, y) * x) + z)) / 47.066876606;
      	} else {
      		tmp = t_1;
      	}
      	return tmp;
      }
      
      function code(x, y, z)
      	t_0 = fma(fma(fma(Float64(43.3400022514 + x), x, 263.505074721), x, 313.399215894), x, 47.066876606)
      	t_1 = Float64(Float64(x - 2.0) * Float64(Float64(z / t_0) + 4.16438922228))
      	tmp = 0.0
      	if (x <= -3.4e+34)
      		tmp = t_1;
      	elseif (x <= -1.8e-12)
      		tmp = Float64(Float64(Float64(x - 2.0) * y) * Float64(x / t_0));
      	elseif (x <= 2.3e-7)
      		tmp = Float64(Float64(Float64(x - 2.0) * Float64(Float64(fma(137.519416416, x, y) * x) + z)) / 47.066876606);
      	else
      		tmp = t_1;
      	end
      	return tmp
      end
      
      code[x_, y_, z_] := Block[{t$95$0 = N[(N[(N[(N[(43.3400022514 + x), $MachinePrecision] * x + 263.505074721), $MachinePrecision] * x + 313.399215894), $MachinePrecision] * x + 47.066876606), $MachinePrecision]}, Block[{t$95$1 = N[(N[(x - 2.0), $MachinePrecision] * N[(N[(z / t$95$0), $MachinePrecision] + 4.16438922228), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -3.4e+34], t$95$1, If[LessEqual[x, -1.8e-12], N[(N[(N[(x - 2.0), $MachinePrecision] * y), $MachinePrecision] * N[(x / t$95$0), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 2.3e-7], N[(N[(N[(x - 2.0), $MachinePrecision] * N[(N[(N[(137.519416416 * x + y), $MachinePrecision] * x), $MachinePrecision] + z), $MachinePrecision]), $MachinePrecision] / 47.066876606), $MachinePrecision], t$95$1]]]]]
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      t_0 := \mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)\\
      t_1 := \left(x - 2\right) \cdot \left(\frac{z}{t\_0} + 4.16438922228\right)\\
      \mathbf{if}\;x \leq -3.4 \cdot 10^{+34}:\\
      \;\;\;\;t\_1\\
      
      \mathbf{elif}\;x \leq -1.8 \cdot 10^{-12}:\\
      \;\;\;\;\left(\left(x - 2\right) \cdot y\right) \cdot \frac{x}{t\_0}\\
      
      \mathbf{elif}\;x \leq 2.3 \cdot 10^{-7}:\\
      \;\;\;\;\frac{\left(x - 2\right) \cdot \left(\mathsf{fma}\left(137.519416416, x, y\right) \cdot x + z\right)}{47.066876606}\\
      
      \mathbf{else}:\\
      \;\;\;\;t\_1\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 3 regimes
      2. if x < -3.3999999999999999e34 or 2.29999999999999995e-7 < x

        1. Initial program 10.2%

          \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
        2. Add Preprocessing
        3. Applied rewrites17.0%

          \[\leadsto \color{blue}{\frac{\left(x \cdot x - 4\right) \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}}{2 + x}} \]
        4. Applied rewrites17.1%

          \[\leadsto \color{blue}{\mathsf{fma}\left(x - 2, \frac{x}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} \cdot \mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), \frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}\right)} \]
        5. Taylor expanded in x around inf

          \[\leadsto \mathsf{fma}\left(x - 2, \color{blue}{\frac{104109730557}{25000000000}}, \frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)}\right) \]
        6. Step-by-step derivation
          1. Applied rewrites68.1%

            \[\leadsto \mathsf{fma}\left(x - 2, \color{blue}{4.16438922228}, \frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}\right) \]
          2. Step-by-step derivation
            1. lift-fma.f64N/A

              \[\leadsto \color{blue}{\left(x - 2\right) \cdot \frac{104109730557}{25000000000} + \frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)}} \]
            2. +-commutativeN/A

              \[\leadsto \color{blue}{\frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} + \left(x - 2\right) \cdot \frac{104109730557}{25000000000}} \]
            3. lift-/.f64N/A

              \[\leadsto \color{blue}{\frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)}} + \left(x - 2\right) \cdot \frac{104109730557}{25000000000} \]
            4. lift-*.f64N/A

              \[\leadsto \frac{\color{blue}{\left(x - 2\right) \cdot z}}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} + \left(x - 2\right) \cdot \frac{104109730557}{25000000000} \]
            5. associate-/l*N/A

              \[\leadsto \color{blue}{\left(x - 2\right) \cdot \frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)}} + \left(x - 2\right) \cdot \frac{104109730557}{25000000000} \]
            6. distribute-lft-outN/A

              \[\leadsto \color{blue}{\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} + \frac{104109730557}{25000000000}\right)} \]
            7. lower-*.f64N/A

              \[\leadsto \color{blue}{\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} + \frac{104109730557}{25000000000}\right)} \]
          3. Applied rewrites94.9%

            \[\leadsto \color{blue}{\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} + 4.16438922228\right)} \]

          if -3.3999999999999999e34 < x < -1.8e-12

          1. Initial program 99.1%

            \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
          2. Add Preprocessing
          3. Taylor expanded in y around inf

            \[\leadsto \color{blue}{\frac{x \cdot \left(y \cdot \left(x - 2\right)\right)}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)}} \]
          4. Step-by-step derivation
            1. *-commutativeN/A

              \[\leadsto \frac{\color{blue}{\left(y \cdot \left(x - 2\right)\right) \cdot x}}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)} \]
            2. associate-/l*N/A

              \[\leadsto \color{blue}{\left(y \cdot \left(x - 2\right)\right) \cdot \frac{x}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)}} \]
            3. lower-*.f64N/A

              \[\leadsto \color{blue}{\left(y \cdot \left(x - 2\right)\right) \cdot \frac{x}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)}} \]
            4. *-commutativeN/A

              \[\leadsto \color{blue}{\left(\left(x - 2\right) \cdot y\right)} \cdot \frac{x}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)} \]
            5. lower-*.f64N/A

              \[\leadsto \color{blue}{\left(\left(x - 2\right) \cdot y\right)} \cdot \frac{x}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)} \]
            6. lower--.f64N/A

              \[\leadsto \left(\color{blue}{\left(x - 2\right)} \cdot y\right) \cdot \frac{x}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)} \]
            7. lower-/.f64N/A

              \[\leadsto \left(\left(x - 2\right) \cdot y\right) \cdot \color{blue}{\frac{x}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)}} \]
            8. +-commutativeN/A

              \[\leadsto \left(\left(x - 2\right) \cdot y\right) \cdot \frac{x}{\color{blue}{x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right) + \frac{23533438303}{500000000}}} \]
            9. *-commutativeN/A

              \[\leadsto \left(\left(x - 2\right) \cdot y\right) \cdot \frac{x}{\color{blue}{\left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right) \cdot x} + \frac{23533438303}{500000000}} \]
            10. lower-fma.f64N/A

              \[\leadsto \left(\left(x - 2\right) \cdot y\right) \cdot \frac{x}{\color{blue}{\mathsf{fma}\left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right), x, \frac{23533438303}{500000000}\right)}} \]
            11. +-commutativeN/A

              \[\leadsto \left(\left(x - 2\right) \cdot y\right) \cdot \frac{x}{\mathsf{fma}\left(\color{blue}{x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right) + \frac{156699607947}{500000000}}, x, \frac{23533438303}{500000000}\right)} \]
            12. *-commutativeN/A

              \[\leadsto \left(\left(x - 2\right) \cdot y\right) \cdot \frac{x}{\mathsf{fma}\left(\color{blue}{\left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right) \cdot x} + \frac{156699607947}{500000000}, x, \frac{23533438303}{500000000}\right)} \]
            13. lower-fma.f64N/A

              \[\leadsto \left(\left(x - 2\right) \cdot y\right) \cdot \frac{x}{\mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right), x, \frac{156699607947}{500000000}\right)}, x, \frac{23533438303}{500000000}\right)} \]
            14. +-commutativeN/A

              \[\leadsto \left(\left(x - 2\right) \cdot y\right) \cdot \frac{x}{\mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{x \cdot \left(\frac{216700011257}{5000000000} + x\right) + \frac{263505074721}{1000000000}}, x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} \]
            15. *-commutativeN/A

              \[\leadsto \left(\left(x - 2\right) \cdot y\right) \cdot \frac{x}{\mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{\left(\frac{216700011257}{5000000000} + x\right) \cdot x} + \frac{263505074721}{1000000000}, x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} \]
            16. lower-fma.f64N/A

              \[\leadsto \left(\left(x - 2\right) \cdot y\right) \cdot \frac{x}{\mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right)}, x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} \]
            17. lower-+.f6479.7

              \[\leadsto \left(\left(x - 2\right) \cdot y\right) \cdot \frac{x}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{43.3400022514 + x}, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} \]
          5. Applied rewrites79.7%

            \[\leadsto \color{blue}{\left(\left(x - 2\right) \cdot y\right) \cdot \frac{x}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}} \]

          if -1.8e-12 < x < 2.29999999999999995e-7

          1. Initial program 99.7%

            \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
          2. Add Preprocessing
          3. Taylor expanded in x around 0

            \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{\left(y + \frac{4297481763}{31250000} \cdot x\right)} \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
          4. Step-by-step derivation
            1. +-commutativeN/A

              \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{\left(\frac{4297481763}{31250000} \cdot x + y\right)} \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
            2. lower-fma.f6499.7

              \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{\mathsf{fma}\left(137.519416416, x, y\right)} \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
          5. Applied rewrites99.7%

            \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{\mathsf{fma}\left(137.519416416, x, y\right)} \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
          6. Taylor expanded in x around 0

            \[\leadsto \frac{\left(x - 2\right) \cdot \left(\mathsf{fma}\left(\frac{4297481763}{31250000}, x, y\right) \cdot x + z\right)}{\color{blue}{\frac{23533438303}{500000000}}} \]
          7. Step-by-step derivation
            1. Applied rewrites99.2%

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

          Alternative 7: 93.1% accurate, 1.3× speedup?

          \[\begin{array}{l} \\ \begin{array}{l} t_0 := \mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)\\ \mathbf{if}\;x \leq -3.4 \cdot 10^{+34} \lor \neg \left(x \leq 7.5 \cdot 10^{+18}\right):\\ \;\;\;\;\left(x - 2\right) \cdot \left(\frac{z}{t\_0} + 4.16438922228\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(y, x, z\right) \cdot \frac{x - 2}{t\_0}\\ \end{array} \end{array} \]
          (FPCore (x y z)
           :precision binary64
           (let* ((t_0
                   (fma
                    (fma (fma (+ 43.3400022514 x) x 263.505074721) x 313.399215894)
                    x
                    47.066876606)))
             (if (or (<= x -3.4e+34) (not (<= x 7.5e+18)))
               (* (- x 2.0) (+ (/ z t_0) 4.16438922228))
               (* (fma y x z) (/ (- x 2.0) t_0)))))
          double code(double x, double y, double z) {
          	double t_0 = fma(fma(fma((43.3400022514 + x), x, 263.505074721), x, 313.399215894), x, 47.066876606);
          	double tmp;
          	if ((x <= -3.4e+34) || !(x <= 7.5e+18)) {
          		tmp = (x - 2.0) * ((z / t_0) + 4.16438922228);
          	} else {
          		tmp = fma(y, x, z) * ((x - 2.0) / t_0);
          	}
          	return tmp;
          }
          
          function code(x, y, z)
          	t_0 = fma(fma(fma(Float64(43.3400022514 + x), x, 263.505074721), x, 313.399215894), x, 47.066876606)
          	tmp = 0.0
          	if ((x <= -3.4e+34) || !(x <= 7.5e+18))
          		tmp = Float64(Float64(x - 2.0) * Float64(Float64(z / t_0) + 4.16438922228));
          	else
          		tmp = Float64(fma(y, x, z) * Float64(Float64(x - 2.0) / t_0));
          	end
          	return tmp
          end
          
          code[x_, y_, z_] := Block[{t$95$0 = N[(N[(N[(N[(43.3400022514 + x), $MachinePrecision] * x + 263.505074721), $MachinePrecision] * x + 313.399215894), $MachinePrecision] * x + 47.066876606), $MachinePrecision]}, If[Or[LessEqual[x, -3.4e+34], N[Not[LessEqual[x, 7.5e+18]], $MachinePrecision]], N[(N[(x - 2.0), $MachinePrecision] * N[(N[(z / t$95$0), $MachinePrecision] + 4.16438922228), $MachinePrecision]), $MachinePrecision], N[(N[(y * x + z), $MachinePrecision] * N[(N[(x - 2.0), $MachinePrecision] / t$95$0), $MachinePrecision]), $MachinePrecision]]]
          
          \begin{array}{l}
          
          \\
          \begin{array}{l}
          t_0 := \mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)\\
          \mathbf{if}\;x \leq -3.4 \cdot 10^{+34} \lor \neg \left(x \leq 7.5 \cdot 10^{+18}\right):\\
          \;\;\;\;\left(x - 2\right) \cdot \left(\frac{z}{t\_0} + 4.16438922228\right)\\
          
          \mathbf{else}:\\
          \;\;\;\;\mathsf{fma}\left(y, x, z\right) \cdot \frac{x - 2}{t\_0}\\
          
          
          \end{array}
          \end{array}
          
          Derivation
          1. Split input into 2 regimes
          2. if x < -3.3999999999999999e34 or 7.5e18 < x

            1. Initial program 7.7%

              \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
            2. Add Preprocessing
            3. Applied rewrites14.0%

              \[\leadsto \color{blue}{\frac{\left(x \cdot x - 4\right) \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}}{2 + x}} \]
            4. Applied rewrites14.0%

              \[\leadsto \color{blue}{\mathsf{fma}\left(x - 2, \frac{x}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} \cdot \mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), \frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}\right)} \]
            5. Taylor expanded in x around inf

              \[\leadsto \mathsf{fma}\left(x - 2, \color{blue}{\frac{104109730557}{25000000000}}, \frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)}\right) \]
            6. Step-by-step derivation
              1. Applied rewrites69.5%

                \[\leadsto \mathsf{fma}\left(x - 2, \color{blue}{4.16438922228}, \frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}\right) \]
              2. Step-by-step derivation
                1. lift-fma.f64N/A

                  \[\leadsto \color{blue}{\left(x - 2\right) \cdot \frac{104109730557}{25000000000} + \frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)}} \]
                2. +-commutativeN/A

                  \[\leadsto \color{blue}{\frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} + \left(x - 2\right) \cdot \frac{104109730557}{25000000000}} \]
                3. lift-/.f64N/A

                  \[\leadsto \color{blue}{\frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)}} + \left(x - 2\right) \cdot \frac{104109730557}{25000000000} \]
                4. lift-*.f64N/A

                  \[\leadsto \frac{\color{blue}{\left(x - 2\right) \cdot z}}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} + \left(x - 2\right) \cdot \frac{104109730557}{25000000000} \]
                5. associate-/l*N/A

                  \[\leadsto \color{blue}{\left(x - 2\right) \cdot \frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)}} + \left(x - 2\right) \cdot \frac{104109730557}{25000000000} \]
                6. distribute-lft-outN/A

                  \[\leadsto \color{blue}{\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} + \frac{104109730557}{25000000000}\right)} \]
                7. lower-*.f64N/A

                  \[\leadsto \color{blue}{\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} + \frac{104109730557}{25000000000}\right)} \]
              3. Applied rewrites97.3%

                \[\leadsto \color{blue}{\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} + 4.16438922228\right)} \]

              if -3.3999999999999999e34 < x < 7.5e18

              1. Initial program 99.0%

                \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
              2. Add Preprocessing
              3. Taylor expanded in x around inf

                \[\leadsto \frac{\left(x - 2\right) \cdot \left(\left(\color{blue}{\left(\frac{104109730557}{25000000000} \cdot {x}^{2}\right)} \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
              4. Step-by-step derivation
                1. *-commutativeN/A

                  \[\leadsto \frac{\left(x - 2\right) \cdot \left(\left(\color{blue}{\left({x}^{2} \cdot \frac{104109730557}{25000000000}\right)} \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
                2. lower-*.f64N/A

                  \[\leadsto \frac{\left(x - 2\right) \cdot \left(\left(\color{blue}{\left({x}^{2} \cdot \frac{104109730557}{25000000000}\right)} \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
                3. unpow2N/A

                  \[\leadsto \frac{\left(x - 2\right) \cdot \left(\left(\left(\color{blue}{\left(x \cdot x\right)} \cdot \frac{104109730557}{25000000000}\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
                4. lower-*.f6496.6

                  \[\leadsto \frac{\left(x - 2\right) \cdot \left(\left(\left(\color{blue}{\left(x \cdot x\right)} \cdot 4.16438922228\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
              5. Applied rewrites96.6%

                \[\leadsto \frac{\left(x - 2\right) \cdot \left(\left(\color{blue}{\left(\left(x \cdot x\right) \cdot 4.16438922228\right)} \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
              6. Step-by-step derivation
                1. lift-/.f64N/A

                  \[\leadsto \color{blue}{\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \frac{104109730557}{25000000000}\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}}} \]
                2. lift-*.f64N/A

                  \[\leadsto \frac{\color{blue}{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \frac{104109730557}{25000000000}\right) \cdot x + y\right) \cdot x + z\right)}}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
                3. *-commutativeN/A

                  \[\leadsto \frac{\color{blue}{\left(\left(\left(\left(x \cdot x\right) \cdot \frac{104109730557}{25000000000}\right) \cdot x + y\right) \cdot x + z\right) \cdot \left(x - 2\right)}}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
                4. associate-/l*N/A

                  \[\leadsto \color{blue}{\left(\left(\left(\left(x \cdot x\right) \cdot \frac{104109730557}{25000000000}\right) \cdot x + y\right) \cdot x + z\right) \cdot \frac{x - 2}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}}} \]
                5. lower-*.f64N/A

                  \[\leadsto \color{blue}{\left(\left(\left(\left(x \cdot x\right) \cdot \frac{104109730557}{25000000000}\right) \cdot x + y\right) \cdot x + z\right) \cdot \frac{x - 2}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}}} \]
              7. Applied rewrites96.9%

                \[\leadsto \color{blue}{\mathsf{fma}\left(\mathsf{fma}\left(\left(4.16438922228 \cdot x\right) \cdot x, x, y\right), x, z\right) \cdot \frac{x - 2}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}} \]
              8. Taylor expanded in x around 0

                \[\leadsto \color{blue}{\left(z + x \cdot y\right)} \cdot \frac{x - 2}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} \]
              9. Step-by-step derivation
                1. +-commutativeN/A

                  \[\leadsto \color{blue}{\left(x \cdot y + z\right)} \cdot \frac{x - 2}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} \]
                2. *-commutativeN/A

                  \[\leadsto \left(\color{blue}{y \cdot x} + z\right) \cdot \frac{x - 2}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} \]
                3. lower-fma.f6496.9

                  \[\leadsto \color{blue}{\mathsf{fma}\left(y, x, z\right)} \cdot \frac{x - 2}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} \]
              10. Applied rewrites96.9%

                \[\leadsto \color{blue}{\mathsf{fma}\left(y, x, z\right)} \cdot \frac{x - 2}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} \]
            7. Recombined 2 regimes into one program.
            8. Final simplification97.1%

              \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq -3.4 \cdot 10^{+34} \lor \neg \left(x \leq 7.5 \cdot 10^{+18}\right):\\ \;\;\;\;\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} + 4.16438922228\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(y, x, z\right) \cdot \frac{x - 2}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}\\ \end{array} \]
            9. Add Preprocessing

            Alternative 8: 94.3% accurate, 1.4× speedup?

            \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq -2.8 \cdot 10^{-5} \lor \neg \left(x \leq 2.3 \cdot 10^{-7}\right):\\ \;\;\;\;\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} + 4.16438922228\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(x - 2\right) \cdot \left(\mathsf{fma}\left(137.519416416, x, y\right) \cdot x + z\right)}{47.066876606}\\ \end{array} \end{array} \]
            (FPCore (x y z)
             :precision binary64
             (if (or (<= x -2.8e-5) (not (<= x 2.3e-7)))
               (*
                (- x 2.0)
                (+
                 (/
                  z
                  (fma
                   (fma (fma (+ 43.3400022514 x) x 263.505074721) x 313.399215894)
                   x
                   47.066876606))
                 4.16438922228))
               (/ (* (- x 2.0) (+ (* (fma 137.519416416 x y) x) z)) 47.066876606)))
            double code(double x, double y, double z) {
            	double tmp;
            	if ((x <= -2.8e-5) || !(x <= 2.3e-7)) {
            		tmp = (x - 2.0) * ((z / fma(fma(fma((43.3400022514 + x), x, 263.505074721), x, 313.399215894), x, 47.066876606)) + 4.16438922228);
            	} else {
            		tmp = ((x - 2.0) * ((fma(137.519416416, x, y) * x) + z)) / 47.066876606;
            	}
            	return tmp;
            }
            
            function code(x, y, z)
            	tmp = 0.0
            	if ((x <= -2.8e-5) || !(x <= 2.3e-7))
            		tmp = Float64(Float64(x - 2.0) * Float64(Float64(z / fma(fma(fma(Float64(43.3400022514 + x), x, 263.505074721), x, 313.399215894), x, 47.066876606)) + 4.16438922228));
            	else
            		tmp = Float64(Float64(Float64(x - 2.0) * Float64(Float64(fma(137.519416416, x, y) * x) + z)) / 47.066876606);
            	end
            	return tmp
            end
            
            code[x_, y_, z_] := If[Or[LessEqual[x, -2.8e-5], N[Not[LessEqual[x, 2.3e-7]], $MachinePrecision]], N[(N[(x - 2.0), $MachinePrecision] * N[(N[(z / N[(N[(N[(N[(43.3400022514 + x), $MachinePrecision] * x + 263.505074721), $MachinePrecision] * x + 313.399215894), $MachinePrecision] * x + 47.066876606), $MachinePrecision]), $MachinePrecision] + 4.16438922228), $MachinePrecision]), $MachinePrecision], N[(N[(N[(x - 2.0), $MachinePrecision] * N[(N[(N[(137.519416416 * x + y), $MachinePrecision] * x), $MachinePrecision] + z), $MachinePrecision]), $MachinePrecision] / 47.066876606), $MachinePrecision]]
            
            \begin{array}{l}
            
            \\
            \begin{array}{l}
            \mathbf{if}\;x \leq -2.8 \cdot 10^{-5} \lor \neg \left(x \leq 2.3 \cdot 10^{-7}\right):\\
            \;\;\;\;\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} + 4.16438922228\right)\\
            
            \mathbf{else}:\\
            \;\;\;\;\frac{\left(x - 2\right) \cdot \left(\mathsf{fma}\left(137.519416416, x, y\right) \cdot x + z\right)}{47.066876606}\\
            
            
            \end{array}
            \end{array}
            
            Derivation
            1. Split input into 2 regimes
            2. if x < -2.79999999999999996e-5 or 2.29999999999999995e-7 < x

              1. Initial program 16.2%

                \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
              2. Add Preprocessing
              3. Applied rewrites22.5%

                \[\leadsto \color{blue}{\frac{\left(x \cdot x - 4\right) \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}}{2 + x}} \]
              4. Applied rewrites22.6%

                \[\leadsto \color{blue}{\mathsf{fma}\left(x - 2, \frac{x}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} \cdot \mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), \frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}\right)} \]
              5. Taylor expanded in x around inf

                \[\leadsto \mathsf{fma}\left(x - 2, \color{blue}{\frac{104109730557}{25000000000}}, \frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)}\right) \]
              6. Step-by-step derivation
                1. Applied rewrites65.5%

                  \[\leadsto \mathsf{fma}\left(x - 2, \color{blue}{4.16438922228}, \frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}\right) \]
                2. Step-by-step derivation
                  1. lift-fma.f64N/A

                    \[\leadsto \color{blue}{\left(x - 2\right) \cdot \frac{104109730557}{25000000000} + \frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)}} \]
                  2. +-commutativeN/A

                    \[\leadsto \color{blue}{\frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} + \left(x - 2\right) \cdot \frac{104109730557}{25000000000}} \]
                  3. lift-/.f64N/A

                    \[\leadsto \color{blue}{\frac{\left(x - 2\right) \cdot z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)}} + \left(x - 2\right) \cdot \frac{104109730557}{25000000000} \]
                  4. lift-*.f64N/A

                    \[\leadsto \frac{\color{blue}{\left(x - 2\right) \cdot z}}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} + \left(x - 2\right) \cdot \frac{104109730557}{25000000000} \]
                  5. associate-/l*N/A

                    \[\leadsto \color{blue}{\left(x - 2\right) \cdot \frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)}} + \left(x - 2\right) \cdot \frac{104109730557}{25000000000} \]
                  6. distribute-lft-outN/A

                    \[\leadsto \color{blue}{\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} + \frac{104109730557}{25000000000}\right)} \]
                  7. lower-*.f64N/A

                    \[\leadsto \color{blue}{\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{216700011257}{5000000000} + x, x, \frac{263505074721}{1000000000}\right), x, \frac{156699607947}{500000000}\right), x, \frac{23533438303}{500000000}\right)} + \frac{104109730557}{25000000000}\right)} \]
                3. Applied rewrites90.5%

                  \[\leadsto \color{blue}{\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} + 4.16438922228\right)} \]

                if -2.79999999999999996e-5 < x < 2.29999999999999995e-7

                1. Initial program 99.6%

                  \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                2. Add Preprocessing
                3. Taylor expanded in x around 0

                  \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{\left(y + \frac{4297481763}{31250000} \cdot x\right)} \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
                4. Step-by-step derivation
                  1. +-commutativeN/A

                    \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{\left(\frac{4297481763}{31250000} \cdot x + y\right)} \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
                  2. lower-fma.f6499.6

                    \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{\mathsf{fma}\left(137.519416416, x, y\right)} \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                5. Applied rewrites99.6%

                  \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{\mathsf{fma}\left(137.519416416, x, y\right)} \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                6. Taylor expanded in x around 0

                  \[\leadsto \frac{\left(x - 2\right) \cdot \left(\mathsf{fma}\left(\frac{4297481763}{31250000}, x, y\right) \cdot x + z\right)}{\color{blue}{\frac{23533438303}{500000000}}} \]
                7. Step-by-step derivation
                  1. Applied rewrites97.4%

                    \[\leadsto \frac{\left(x - 2\right) \cdot \left(\mathsf{fma}\left(137.519416416, x, y\right) \cdot x + z\right)}{\color{blue}{47.066876606}} \]
                8. Recombined 2 regimes into one program.
                9. Final simplification94.2%

                  \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq -2.8 \cdot 10^{-5} \lor \neg \left(x \leq 2.3 \cdot 10^{-7}\right):\\ \;\;\;\;\left(x - 2\right) \cdot \left(\frac{z}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)} + 4.16438922228\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(x - 2\right) \cdot \left(\mathsf{fma}\left(137.519416416, x, y\right) \cdot x + z\right)}{47.066876606}\\ \end{array} \]
                10. Add Preprocessing

                Alternative 9: 72.0% accurate, 1.7× speedup?

                \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(-2 \cdot y\right) \cdot \left(\mathsf{fma}\left(-0.14147091005106402, x, 0.0212463641547976\right) \cdot x\right)\\ \mathbf{if}\;x \leq -4.2 \cdot 10^{+37}:\\ \;\;\;\;4.16438922228 \cdot x\\ \mathbf{elif}\;x \leq -3.4 \cdot 10^{-143}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;x \leq 5 \cdot 10^{-126}:\\ \;\;\;\;\frac{\left(x - 2\right) \cdot z}{47.066876606}\\ \mathbf{elif}\;x \leq 225000000000:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;4.16438922228 \cdot x\\ \end{array} \end{array} \]
                (FPCore (x y z)
                 :precision binary64
                 (let* ((t_0
                         (* (* -2.0 y) (* (fma -0.14147091005106402 x 0.0212463641547976) x))))
                   (if (<= x -4.2e+37)
                     (* 4.16438922228 x)
                     (if (<= x -3.4e-143)
                       t_0
                       (if (<= x 5e-126)
                         (/ (* (- x 2.0) z) 47.066876606)
                         (if (<= x 225000000000.0) t_0 (* 4.16438922228 x)))))))
                double code(double x, double y, double z) {
                	double t_0 = (-2.0 * y) * (fma(-0.14147091005106402, x, 0.0212463641547976) * x);
                	double tmp;
                	if (x <= -4.2e+37) {
                		tmp = 4.16438922228 * x;
                	} else if (x <= -3.4e-143) {
                		tmp = t_0;
                	} else if (x <= 5e-126) {
                		tmp = ((x - 2.0) * z) / 47.066876606;
                	} else if (x <= 225000000000.0) {
                		tmp = t_0;
                	} else {
                		tmp = 4.16438922228 * x;
                	}
                	return tmp;
                }
                
                function code(x, y, z)
                	t_0 = Float64(Float64(-2.0 * y) * Float64(fma(-0.14147091005106402, x, 0.0212463641547976) * x))
                	tmp = 0.0
                	if (x <= -4.2e+37)
                		tmp = Float64(4.16438922228 * x);
                	elseif (x <= -3.4e-143)
                		tmp = t_0;
                	elseif (x <= 5e-126)
                		tmp = Float64(Float64(Float64(x - 2.0) * z) / 47.066876606);
                	elseif (x <= 225000000000.0)
                		tmp = t_0;
                	else
                		tmp = Float64(4.16438922228 * x);
                	end
                	return tmp
                end
                
                code[x_, y_, z_] := Block[{t$95$0 = N[(N[(-2.0 * y), $MachinePrecision] * N[(N[(-0.14147091005106402 * x + 0.0212463641547976), $MachinePrecision] * x), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -4.2e+37], N[(4.16438922228 * x), $MachinePrecision], If[LessEqual[x, -3.4e-143], t$95$0, If[LessEqual[x, 5e-126], N[(N[(N[(x - 2.0), $MachinePrecision] * z), $MachinePrecision] / 47.066876606), $MachinePrecision], If[LessEqual[x, 225000000000.0], t$95$0, N[(4.16438922228 * x), $MachinePrecision]]]]]]
                
                \begin{array}{l}
                
                \\
                \begin{array}{l}
                t_0 := \left(-2 \cdot y\right) \cdot \left(\mathsf{fma}\left(-0.14147091005106402, x, 0.0212463641547976\right) \cdot x\right)\\
                \mathbf{if}\;x \leq -4.2 \cdot 10^{+37}:\\
                \;\;\;\;4.16438922228 \cdot x\\
                
                \mathbf{elif}\;x \leq -3.4 \cdot 10^{-143}:\\
                \;\;\;\;t\_0\\
                
                \mathbf{elif}\;x \leq 5 \cdot 10^{-126}:\\
                \;\;\;\;\frac{\left(x - 2\right) \cdot z}{47.066876606}\\
                
                \mathbf{elif}\;x \leq 225000000000:\\
                \;\;\;\;t\_0\\
                
                \mathbf{else}:\\
                \;\;\;\;4.16438922228 \cdot x\\
                
                
                \end{array}
                \end{array}
                
                Derivation
                1. Split input into 3 regimes
                2. if x < -4.2000000000000002e37 or 2.25e11 < x

                  1. Initial program 6.8%

                    \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                  2. Add Preprocessing
                  3. Applied rewrites13.2%

                    \[\leadsto \color{blue}{\frac{\left(x \cdot x - 4\right) \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}}{2 + x}} \]
                  4. Taylor expanded in x around inf

                    \[\leadsto \color{blue}{\frac{104109730557}{25000000000} \cdot x} \]
                  5. Step-by-step derivation
                    1. lower-*.f6494.1

                      \[\leadsto \color{blue}{4.16438922228 \cdot x} \]
                  6. Applied rewrites94.1%

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

                  if -4.2000000000000002e37 < x < -3.39999999999999983e-143 or 5.00000000000000006e-126 < x < 2.25e11

                  1. Initial program 98.0%

                    \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                  2. Add Preprocessing
                  3. Taylor expanded in z around 0

                    \[\leadsto \color{blue}{\frac{x \cdot \left(\left(y + x \cdot \left(\frac{4297481763}{31250000} + x \cdot \left(\frac{393497462077}{5000000000} + \frac{104109730557}{25000000000} \cdot x\right)\right)\right) \cdot \left(x - 2\right)\right)}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)}} \]
                  4. Step-by-step derivation
                    1. *-commutativeN/A

                      \[\leadsto \frac{\color{blue}{\left(\left(y + x \cdot \left(\frac{4297481763}{31250000} + x \cdot \left(\frac{393497462077}{5000000000} + \frac{104109730557}{25000000000} \cdot x\right)\right)\right) \cdot \left(x - 2\right)\right) \cdot x}}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)} \]
                    2. associate-/l*N/A

                      \[\leadsto \color{blue}{\left(\left(y + x \cdot \left(\frac{4297481763}{31250000} + x \cdot \left(\frac{393497462077}{5000000000} + \frac{104109730557}{25000000000} \cdot x\right)\right)\right) \cdot \left(x - 2\right)\right) \cdot \frac{x}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)}} \]
                    3. lower-*.f64N/A

                      \[\leadsto \color{blue}{\left(\left(y + x \cdot \left(\frac{4297481763}{31250000} + x \cdot \left(\frac{393497462077}{5000000000} + \frac{104109730557}{25000000000} \cdot x\right)\right)\right) \cdot \left(x - 2\right)\right) \cdot \frac{x}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)}} \]
                  5. Applied rewrites69.0%

                    \[\leadsto \color{blue}{\left(\left(x - 2\right) \cdot \mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right)\right) \cdot \frac{x}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}} \]
                  6. Taylor expanded in x around 0

                    \[\leadsto \left(\left(x - 2\right) \cdot \mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{104109730557}{25000000000}, x, \frac{393497462077}{5000000000}\right), x, \frac{4297481763}{31250000}\right), x, y\right)\right) \cdot \left(x \cdot \color{blue}{\left(\frac{500000000}{23533438303} + \frac{-78349803973500000000}{553822718361107519809} \cdot x\right)}\right) \]
                  7. Step-by-step derivation
                    1. Applied rewrites56.9%

                      \[\leadsto \left(\left(x - 2\right) \cdot \mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right)\right) \cdot \left(\mathsf{fma}\left(-0.14147091005106402, x, 0.0212463641547976\right) \cdot \color{blue}{x}\right) \]
                    2. Taylor expanded in x around 0

                      \[\leadsto \left(-2 \cdot y\right) \cdot \left(\color{blue}{\mathsf{fma}\left(\frac{-78349803973500000000}{553822718361107519809}, x, \frac{500000000}{23533438303}\right)} \cdot x\right) \]
                    3. Step-by-step derivation
                      1. Applied rewrites51.0%

                        \[\leadsto \left(-2 \cdot y\right) \cdot \left(\color{blue}{\mathsf{fma}\left(-0.14147091005106402, x, 0.0212463641547976\right)} \cdot x\right) \]

                      if -3.39999999999999983e-143 < x < 5.00000000000000006e-126

                      1. Initial program 99.8%

                        \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                      2. Add Preprocessing
                      3. Taylor expanded in y around inf

                        \[\leadsto \frac{\left(x - 2\right) \cdot \color{blue}{\left(x \cdot y\right)}}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
                      4. Step-by-step derivation
                        1. *-commutativeN/A

                          \[\leadsto \frac{\left(x - 2\right) \cdot \color{blue}{\left(y \cdot x\right)}}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
                        2. lower-*.f6415.6

                          \[\leadsto \frac{\left(x - 2\right) \cdot \color{blue}{\left(y \cdot x\right)}}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                      5. Applied rewrites15.6%

                        \[\leadsto \frac{\left(x - 2\right) \cdot \color{blue}{\left(y \cdot x\right)}}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                      6. Taylor expanded in x around 0

                        \[\leadsto \frac{\left(x - 2\right) \cdot \left(y \cdot x\right)}{\color{blue}{\frac{23533438303}{500000000} + \frac{156699607947}{500000000} \cdot x}} \]
                      7. Step-by-step derivation
                        1. +-commutativeN/A

                          \[\leadsto \frac{\left(x - 2\right) \cdot \left(y \cdot x\right)}{\color{blue}{\frac{156699607947}{500000000} \cdot x + \frac{23533438303}{500000000}}} \]
                        2. lower-fma.f6415.6

                          \[\leadsto \frac{\left(x - 2\right) \cdot \left(y \cdot x\right)}{\color{blue}{\mathsf{fma}\left(313.399215894, x, 47.066876606\right)}} \]
                      8. Applied rewrites15.6%

                        \[\leadsto \frac{\left(x - 2\right) \cdot \left(y \cdot x\right)}{\color{blue}{\mathsf{fma}\left(313.399215894, x, 47.066876606\right)}} \]
                      9. Taylor expanded in z around inf

                        \[\leadsto \frac{\color{blue}{z \cdot \left(x - 2\right)}}{\mathsf{fma}\left(\frac{156699607947}{500000000}, x, \frac{23533438303}{500000000}\right)} \]
                      10. Step-by-step derivation
                        1. *-commutativeN/A

                          \[\leadsto \frac{\color{blue}{\left(x - 2\right) \cdot z}}{\mathsf{fma}\left(\frac{156699607947}{500000000}, x, \frac{23533438303}{500000000}\right)} \]
                        2. lower-*.f64N/A

                          \[\leadsto \frac{\color{blue}{\left(x - 2\right) \cdot z}}{\mathsf{fma}\left(\frac{156699607947}{500000000}, x, \frac{23533438303}{500000000}\right)} \]
                        3. lower--.f6486.2

                          \[\leadsto \frac{\color{blue}{\left(x - 2\right)} \cdot z}{\mathsf{fma}\left(313.399215894, x, 47.066876606\right)} \]
                      11. Applied rewrites86.2%

                        \[\leadsto \frac{\color{blue}{\left(x - 2\right) \cdot z}}{\mathsf{fma}\left(313.399215894, x, 47.066876606\right)} \]
                      12. Taylor expanded in x around 0

                        \[\leadsto \frac{\left(x - 2\right) \cdot z}{\color{blue}{\frac{23533438303}{500000000}}} \]
                      13. Step-by-step derivation
                        1. Applied rewrites86.2%

                          \[\leadsto \frac{\left(x - 2\right) \cdot z}{\color{blue}{47.066876606}} \]
                      14. Recombined 3 regimes into one program.
                      15. Add Preprocessing

                      Alternative 10: 90.6% accurate, 1.7× speedup?

                      \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq -4.2 \cdot 10^{+37} \lor \neg \left(x \leq 225000000000\right):\\ \;\;\;\;4.16438922228 \cdot x\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(x - 2\right) \cdot \left(\mathsf{fma}\left(137.519416416, x, y\right) \cdot x + z\right)}{47.066876606}\\ \end{array} \end{array} \]
                      (FPCore (x y z)
                       :precision binary64
                       (if (or (<= x -4.2e+37) (not (<= x 225000000000.0)))
                         (* 4.16438922228 x)
                         (/ (* (- x 2.0) (+ (* (fma 137.519416416 x y) x) z)) 47.066876606)))
                      double code(double x, double y, double z) {
                      	double tmp;
                      	if ((x <= -4.2e+37) || !(x <= 225000000000.0)) {
                      		tmp = 4.16438922228 * x;
                      	} else {
                      		tmp = ((x - 2.0) * ((fma(137.519416416, x, y) * x) + z)) / 47.066876606;
                      	}
                      	return tmp;
                      }
                      
                      function code(x, y, z)
                      	tmp = 0.0
                      	if ((x <= -4.2e+37) || !(x <= 225000000000.0))
                      		tmp = Float64(4.16438922228 * x);
                      	else
                      		tmp = Float64(Float64(Float64(x - 2.0) * Float64(Float64(fma(137.519416416, x, y) * x) + z)) / 47.066876606);
                      	end
                      	return tmp
                      end
                      
                      code[x_, y_, z_] := If[Or[LessEqual[x, -4.2e+37], N[Not[LessEqual[x, 225000000000.0]], $MachinePrecision]], N[(4.16438922228 * x), $MachinePrecision], N[(N[(N[(x - 2.0), $MachinePrecision] * N[(N[(N[(137.519416416 * x + y), $MachinePrecision] * x), $MachinePrecision] + z), $MachinePrecision]), $MachinePrecision] / 47.066876606), $MachinePrecision]]
                      
                      \begin{array}{l}
                      
                      \\
                      \begin{array}{l}
                      \mathbf{if}\;x \leq -4.2 \cdot 10^{+37} \lor \neg \left(x \leq 225000000000\right):\\
                      \;\;\;\;4.16438922228 \cdot x\\
                      
                      \mathbf{else}:\\
                      \;\;\;\;\frac{\left(x - 2\right) \cdot \left(\mathsf{fma}\left(137.519416416, x, y\right) \cdot x + z\right)}{47.066876606}\\
                      
                      
                      \end{array}
                      \end{array}
                      
                      Derivation
                      1. Split input into 2 regimes
                      2. if x < -4.2000000000000002e37 or 2.25e11 < x

                        1. Initial program 6.8%

                          \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                        2. Add Preprocessing
                        3. Applied rewrites13.2%

                          \[\leadsto \color{blue}{\frac{\left(x \cdot x - 4\right) \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}}{2 + x}} \]
                        4. Taylor expanded in x around inf

                          \[\leadsto \color{blue}{\frac{104109730557}{25000000000} \cdot x} \]
                        5. Step-by-step derivation
                          1. lower-*.f6494.1

                            \[\leadsto \color{blue}{4.16438922228 \cdot x} \]
                        6. Applied rewrites94.1%

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

                        if -4.2000000000000002e37 < x < 2.25e11

                        1. Initial program 99.0%

                          \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                        2. Add Preprocessing
                        3. Taylor expanded in x around 0

                          \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{\left(y + \frac{4297481763}{31250000} \cdot x\right)} \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
                        4. Step-by-step derivation
                          1. +-commutativeN/A

                            \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{\left(\frac{4297481763}{31250000} \cdot x + y\right)} \cdot x + z\right)}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
                          2. lower-fma.f6499.0

                            \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{\mathsf{fma}\left(137.519416416, x, y\right)} \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                        5. Applied rewrites99.0%

                          \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{\mathsf{fma}\left(137.519416416, x, y\right)} \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                        6. Taylor expanded in x around 0

                          \[\leadsto \frac{\left(x - 2\right) \cdot \left(\mathsf{fma}\left(\frac{4297481763}{31250000}, x, y\right) \cdot x + z\right)}{\color{blue}{\frac{23533438303}{500000000}}} \]
                        7. Step-by-step derivation
                          1. Applied rewrites89.9%

                            \[\leadsto \frac{\left(x - 2\right) \cdot \left(\mathsf{fma}\left(137.519416416, x, y\right) \cdot x + z\right)}{\color{blue}{47.066876606}} \]
                        8. Recombined 2 regimes into one program.
                        9. Final simplification91.7%

                          \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq -4.2 \cdot 10^{+37} \lor \neg \left(x \leq 225000000000\right):\\ \;\;\;\;4.16438922228 \cdot x\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(x - 2\right) \cdot \left(\mathsf{fma}\left(137.519416416, x, y\right) \cdot x + z\right)}{47.066876606}\\ \end{array} \]
                        10. Add Preprocessing

                        Alternative 11: 72.1% accurate, 1.8× speedup?

                        \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(y \cdot x\right) \cdot -0.0424927283095952\\ \mathbf{if}\;x \leq -4.2 \cdot 10^{+37}:\\ \;\;\;\;4.16438922228 \cdot x\\ \mathbf{elif}\;x \leq -3.4 \cdot 10^{-143}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;x \leq 5 \cdot 10^{-126}:\\ \;\;\;\;\frac{\left(x - 2\right) \cdot z}{47.066876606}\\ \mathbf{elif}\;x \leq 0.09:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;\left(4.16438922228 - \frac{110.1139242984811}{x}\right) \cdot x\\ \end{array} \end{array} \]
                        (FPCore (x y z)
                         :precision binary64
                         (let* ((t_0 (* (* y x) -0.0424927283095952)))
                           (if (<= x -4.2e+37)
                             (* 4.16438922228 x)
                             (if (<= x -3.4e-143)
                               t_0
                               (if (<= x 5e-126)
                                 (/ (* (- x 2.0) z) 47.066876606)
                                 (if (<= x 0.09)
                                   t_0
                                   (* (- 4.16438922228 (/ 110.1139242984811 x)) x)))))))
                        double code(double x, double y, double z) {
                        	double t_0 = (y * x) * -0.0424927283095952;
                        	double tmp;
                        	if (x <= -4.2e+37) {
                        		tmp = 4.16438922228 * x;
                        	} else if (x <= -3.4e-143) {
                        		tmp = t_0;
                        	} else if (x <= 5e-126) {
                        		tmp = ((x - 2.0) * z) / 47.066876606;
                        	} else if (x <= 0.09) {
                        		tmp = t_0;
                        	} else {
                        		tmp = (4.16438922228 - (110.1139242984811 / x)) * x;
                        	}
                        	return tmp;
                        }
                        
                        real(8) function code(x, y, z)
                            real(8), intent (in) :: x
                            real(8), intent (in) :: y
                            real(8), intent (in) :: z
                            real(8) :: t_0
                            real(8) :: tmp
                            t_0 = (y * x) * (-0.0424927283095952d0)
                            if (x <= (-4.2d+37)) then
                                tmp = 4.16438922228d0 * x
                            else if (x <= (-3.4d-143)) then
                                tmp = t_0
                            else if (x <= 5d-126) then
                                tmp = ((x - 2.0d0) * z) / 47.066876606d0
                            else if (x <= 0.09d0) then
                                tmp = t_0
                            else
                                tmp = (4.16438922228d0 - (110.1139242984811d0 / x)) * x
                            end if
                            code = tmp
                        end function
                        
                        public static double code(double x, double y, double z) {
                        	double t_0 = (y * x) * -0.0424927283095952;
                        	double tmp;
                        	if (x <= -4.2e+37) {
                        		tmp = 4.16438922228 * x;
                        	} else if (x <= -3.4e-143) {
                        		tmp = t_0;
                        	} else if (x <= 5e-126) {
                        		tmp = ((x - 2.0) * z) / 47.066876606;
                        	} else if (x <= 0.09) {
                        		tmp = t_0;
                        	} else {
                        		tmp = (4.16438922228 - (110.1139242984811 / x)) * x;
                        	}
                        	return tmp;
                        }
                        
                        def code(x, y, z):
                        	t_0 = (y * x) * -0.0424927283095952
                        	tmp = 0
                        	if x <= -4.2e+37:
                        		tmp = 4.16438922228 * x
                        	elif x <= -3.4e-143:
                        		tmp = t_0
                        	elif x <= 5e-126:
                        		tmp = ((x - 2.0) * z) / 47.066876606
                        	elif x <= 0.09:
                        		tmp = t_0
                        	else:
                        		tmp = (4.16438922228 - (110.1139242984811 / x)) * x
                        	return tmp
                        
                        function code(x, y, z)
                        	t_0 = Float64(Float64(y * x) * -0.0424927283095952)
                        	tmp = 0.0
                        	if (x <= -4.2e+37)
                        		tmp = Float64(4.16438922228 * x);
                        	elseif (x <= -3.4e-143)
                        		tmp = t_0;
                        	elseif (x <= 5e-126)
                        		tmp = Float64(Float64(Float64(x - 2.0) * z) / 47.066876606);
                        	elseif (x <= 0.09)
                        		tmp = t_0;
                        	else
                        		tmp = Float64(Float64(4.16438922228 - Float64(110.1139242984811 / x)) * x);
                        	end
                        	return tmp
                        end
                        
                        function tmp_2 = code(x, y, z)
                        	t_0 = (y * x) * -0.0424927283095952;
                        	tmp = 0.0;
                        	if (x <= -4.2e+37)
                        		tmp = 4.16438922228 * x;
                        	elseif (x <= -3.4e-143)
                        		tmp = t_0;
                        	elseif (x <= 5e-126)
                        		tmp = ((x - 2.0) * z) / 47.066876606;
                        	elseif (x <= 0.09)
                        		tmp = t_0;
                        	else
                        		tmp = (4.16438922228 - (110.1139242984811 / x)) * x;
                        	end
                        	tmp_2 = tmp;
                        end
                        
                        code[x_, y_, z_] := Block[{t$95$0 = N[(N[(y * x), $MachinePrecision] * -0.0424927283095952), $MachinePrecision]}, If[LessEqual[x, -4.2e+37], N[(4.16438922228 * x), $MachinePrecision], If[LessEqual[x, -3.4e-143], t$95$0, If[LessEqual[x, 5e-126], N[(N[(N[(x - 2.0), $MachinePrecision] * z), $MachinePrecision] / 47.066876606), $MachinePrecision], If[LessEqual[x, 0.09], t$95$0, N[(N[(4.16438922228 - N[(110.1139242984811 / x), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision]]]]]]
                        
                        \begin{array}{l}
                        
                        \\
                        \begin{array}{l}
                        t_0 := \left(y \cdot x\right) \cdot -0.0424927283095952\\
                        \mathbf{if}\;x \leq -4.2 \cdot 10^{+37}:\\
                        \;\;\;\;4.16438922228 \cdot x\\
                        
                        \mathbf{elif}\;x \leq -3.4 \cdot 10^{-143}:\\
                        \;\;\;\;t\_0\\
                        
                        \mathbf{elif}\;x \leq 5 \cdot 10^{-126}:\\
                        \;\;\;\;\frac{\left(x - 2\right) \cdot z}{47.066876606}\\
                        
                        \mathbf{elif}\;x \leq 0.09:\\
                        \;\;\;\;t\_0\\
                        
                        \mathbf{else}:\\
                        \;\;\;\;\left(4.16438922228 - \frac{110.1139242984811}{x}\right) \cdot x\\
                        
                        
                        \end{array}
                        \end{array}
                        
                        Derivation
                        1. Split input into 4 regimes
                        2. if x < -4.2000000000000002e37

                          1. Initial program 9.8%

                            \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                          2. Add Preprocessing
                          3. Applied rewrites13.6%

                            \[\leadsto \color{blue}{\frac{\left(x \cdot x - 4\right) \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}}{2 + x}} \]
                          4. Taylor expanded in x around inf

                            \[\leadsto \color{blue}{\frac{104109730557}{25000000000} \cdot x} \]
                          5. Step-by-step derivation
                            1. lower-*.f6492.7

                              \[\leadsto \color{blue}{4.16438922228 \cdot x} \]
                          6. Applied rewrites92.7%

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

                          if -4.2000000000000002e37 < x < -3.39999999999999983e-143 or 5.00000000000000006e-126 < x < 0.089999999999999997

                          1. Initial program 99.5%

                            \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                          2. Add Preprocessing
                          3. Taylor expanded in z around 0

                            \[\leadsto \color{blue}{\frac{x \cdot \left(\left(y + x \cdot \left(\frac{4297481763}{31250000} + x \cdot \left(\frac{393497462077}{5000000000} + \frac{104109730557}{25000000000} \cdot x\right)\right)\right) \cdot \left(x - 2\right)\right)}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)}} \]
                          4. Step-by-step derivation
                            1. *-commutativeN/A

                              \[\leadsto \frac{\color{blue}{\left(\left(y + x \cdot \left(\frac{4297481763}{31250000} + x \cdot \left(\frac{393497462077}{5000000000} + \frac{104109730557}{25000000000} \cdot x\right)\right)\right) \cdot \left(x - 2\right)\right) \cdot x}}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)} \]
                            2. associate-/l*N/A

                              \[\leadsto \color{blue}{\left(\left(y + x \cdot \left(\frac{4297481763}{31250000} + x \cdot \left(\frac{393497462077}{5000000000} + \frac{104109730557}{25000000000} \cdot x\right)\right)\right) \cdot \left(x - 2\right)\right) \cdot \frac{x}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)}} \]
                            3. lower-*.f64N/A

                              \[\leadsto \color{blue}{\left(\left(y + x \cdot \left(\frac{4297481763}{31250000} + x \cdot \left(\frac{393497462077}{5000000000} + \frac{104109730557}{25000000000} \cdot x\right)\right)\right) \cdot \left(x - 2\right)\right) \cdot \frac{x}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)}} \]
                          5. Applied rewrites69.9%

                            \[\leadsto \color{blue}{\left(\left(x - 2\right) \cdot \mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right)\right) \cdot \frac{x}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}} \]
                          6. Taylor expanded in x around 0

                            \[\leadsto \frac{-1000000000}{23533438303} \cdot \color{blue}{\left(x \cdot y\right)} \]
                          7. Step-by-step derivation
                            1. Applied rewrites53.2%

                              \[\leadsto \left(y \cdot x\right) \cdot \color{blue}{-0.0424927283095952} \]

                            if -3.39999999999999983e-143 < x < 5.00000000000000006e-126

                            1. Initial program 99.8%

                              \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                            2. Add Preprocessing
                            3. Taylor expanded in y around inf

                              \[\leadsto \frac{\left(x - 2\right) \cdot \color{blue}{\left(x \cdot y\right)}}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
                            4. Step-by-step derivation
                              1. *-commutativeN/A

                                \[\leadsto \frac{\left(x - 2\right) \cdot \color{blue}{\left(y \cdot x\right)}}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
                              2. lower-*.f6415.6

                                \[\leadsto \frac{\left(x - 2\right) \cdot \color{blue}{\left(y \cdot x\right)}}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                            5. Applied rewrites15.6%

                              \[\leadsto \frac{\left(x - 2\right) \cdot \color{blue}{\left(y \cdot x\right)}}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                            6. Taylor expanded in x around 0

                              \[\leadsto \frac{\left(x - 2\right) \cdot \left(y \cdot x\right)}{\color{blue}{\frac{23533438303}{500000000} + \frac{156699607947}{500000000} \cdot x}} \]
                            7. Step-by-step derivation
                              1. +-commutativeN/A

                                \[\leadsto \frac{\left(x - 2\right) \cdot \left(y \cdot x\right)}{\color{blue}{\frac{156699607947}{500000000} \cdot x + \frac{23533438303}{500000000}}} \]
                              2. lower-fma.f6415.6

                                \[\leadsto \frac{\left(x - 2\right) \cdot \left(y \cdot x\right)}{\color{blue}{\mathsf{fma}\left(313.399215894, x, 47.066876606\right)}} \]
                            8. Applied rewrites15.6%

                              \[\leadsto \frac{\left(x - 2\right) \cdot \left(y \cdot x\right)}{\color{blue}{\mathsf{fma}\left(313.399215894, x, 47.066876606\right)}} \]
                            9. Taylor expanded in z around inf

                              \[\leadsto \frac{\color{blue}{z \cdot \left(x - 2\right)}}{\mathsf{fma}\left(\frac{156699607947}{500000000}, x, \frac{23533438303}{500000000}\right)} \]
                            10. Step-by-step derivation
                              1. *-commutativeN/A

                                \[\leadsto \frac{\color{blue}{\left(x - 2\right) \cdot z}}{\mathsf{fma}\left(\frac{156699607947}{500000000}, x, \frac{23533438303}{500000000}\right)} \]
                              2. lower-*.f64N/A

                                \[\leadsto \frac{\color{blue}{\left(x - 2\right) \cdot z}}{\mathsf{fma}\left(\frac{156699607947}{500000000}, x, \frac{23533438303}{500000000}\right)} \]
                              3. lower--.f6486.2

                                \[\leadsto \frac{\color{blue}{\left(x - 2\right)} \cdot z}{\mathsf{fma}\left(313.399215894, x, 47.066876606\right)} \]
                            11. Applied rewrites86.2%

                              \[\leadsto \frac{\color{blue}{\left(x - 2\right) \cdot z}}{\mathsf{fma}\left(313.399215894, x, 47.066876606\right)} \]
                            12. Taylor expanded in x around 0

                              \[\leadsto \frac{\left(x - 2\right) \cdot z}{\color{blue}{\frac{23533438303}{500000000}}} \]
                            13. Step-by-step derivation
                              1. Applied rewrites86.2%

                                \[\leadsto \frac{\left(x - 2\right) \cdot z}{\color{blue}{47.066876606}} \]

                              if 0.089999999999999997 < x

                              1. Initial program 8.9%

                                \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                              2. Add Preprocessing
                              3. Taylor expanded in x around inf

                                \[\leadsto \color{blue}{x \cdot \left(\frac{104109730557}{25000000000} - \frac{13764240537310136880149}{125000000000000000000} \cdot \frac{1}{x}\right)} \]
                              4. Step-by-step derivation
                                1. *-commutativeN/A

                                  \[\leadsto \color{blue}{\left(\frac{104109730557}{25000000000} - \frac{13764240537310136880149}{125000000000000000000} \cdot \frac{1}{x}\right) \cdot x} \]
                                2. lower-*.f64N/A

                                  \[\leadsto \color{blue}{\left(\frac{104109730557}{25000000000} - \frac{13764240537310136880149}{125000000000000000000} \cdot \frac{1}{x}\right) \cdot x} \]
                                3. lower--.f64N/A

                                  \[\leadsto \color{blue}{\left(\frac{104109730557}{25000000000} - \frac{13764240537310136880149}{125000000000000000000} \cdot \frac{1}{x}\right)} \cdot x \]
                                4. associate-*r/N/A

                                  \[\leadsto \left(\frac{104109730557}{25000000000} - \color{blue}{\frac{\frac{13764240537310136880149}{125000000000000000000} \cdot 1}{x}}\right) \cdot x \]
                                5. metadata-evalN/A

                                  \[\leadsto \left(\frac{104109730557}{25000000000} - \frac{\color{blue}{\frac{13764240537310136880149}{125000000000000000000}}}{x}\right) \cdot x \]
                                6. lower-/.f6489.2

                                  \[\leadsto \left(4.16438922228 - \color{blue}{\frac{110.1139242984811}{x}}\right) \cdot x \]
                              5. Applied rewrites89.2%

                                \[\leadsto \color{blue}{\left(4.16438922228 - \frac{110.1139242984811}{x}\right) \cdot x} \]
                            14. Recombined 4 regimes into one program.
                            15. Add Preprocessing

                            Alternative 12: 72.0% accurate, 1.8× speedup?

                            \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(y \cdot x\right) \cdot -0.0424927283095952\\ \mathbf{if}\;x \leq -4.2 \cdot 10^{+37}:\\ \;\;\;\;4.16438922228 \cdot x\\ \mathbf{elif}\;x \leq -3.4 \cdot 10^{-143}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;x \leq 5 \cdot 10^{-126}:\\ \;\;\;\;-0.0424927283095952 \cdot z\\ \mathbf{elif}\;x \leq 0.09:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;\left(4.16438922228 - \frac{110.1139242984811}{x}\right) \cdot x\\ \end{array} \end{array} \]
                            (FPCore (x y z)
                             :precision binary64
                             (let* ((t_0 (* (* y x) -0.0424927283095952)))
                               (if (<= x -4.2e+37)
                                 (* 4.16438922228 x)
                                 (if (<= x -3.4e-143)
                                   t_0
                                   (if (<= x 5e-126)
                                     (* -0.0424927283095952 z)
                                     (if (<= x 0.09)
                                       t_0
                                       (* (- 4.16438922228 (/ 110.1139242984811 x)) x)))))))
                            double code(double x, double y, double z) {
                            	double t_0 = (y * x) * -0.0424927283095952;
                            	double tmp;
                            	if (x <= -4.2e+37) {
                            		tmp = 4.16438922228 * x;
                            	} else if (x <= -3.4e-143) {
                            		tmp = t_0;
                            	} else if (x <= 5e-126) {
                            		tmp = -0.0424927283095952 * z;
                            	} else if (x <= 0.09) {
                            		tmp = t_0;
                            	} else {
                            		tmp = (4.16438922228 - (110.1139242984811 / x)) * x;
                            	}
                            	return tmp;
                            }
                            
                            real(8) function code(x, y, z)
                                real(8), intent (in) :: x
                                real(8), intent (in) :: y
                                real(8), intent (in) :: z
                                real(8) :: t_0
                                real(8) :: tmp
                                t_0 = (y * x) * (-0.0424927283095952d0)
                                if (x <= (-4.2d+37)) then
                                    tmp = 4.16438922228d0 * x
                                else if (x <= (-3.4d-143)) then
                                    tmp = t_0
                                else if (x <= 5d-126) then
                                    tmp = (-0.0424927283095952d0) * z
                                else if (x <= 0.09d0) then
                                    tmp = t_0
                                else
                                    tmp = (4.16438922228d0 - (110.1139242984811d0 / x)) * x
                                end if
                                code = tmp
                            end function
                            
                            public static double code(double x, double y, double z) {
                            	double t_0 = (y * x) * -0.0424927283095952;
                            	double tmp;
                            	if (x <= -4.2e+37) {
                            		tmp = 4.16438922228 * x;
                            	} else if (x <= -3.4e-143) {
                            		tmp = t_0;
                            	} else if (x <= 5e-126) {
                            		tmp = -0.0424927283095952 * z;
                            	} else if (x <= 0.09) {
                            		tmp = t_0;
                            	} else {
                            		tmp = (4.16438922228 - (110.1139242984811 / x)) * x;
                            	}
                            	return tmp;
                            }
                            
                            def code(x, y, z):
                            	t_0 = (y * x) * -0.0424927283095952
                            	tmp = 0
                            	if x <= -4.2e+37:
                            		tmp = 4.16438922228 * x
                            	elif x <= -3.4e-143:
                            		tmp = t_0
                            	elif x <= 5e-126:
                            		tmp = -0.0424927283095952 * z
                            	elif x <= 0.09:
                            		tmp = t_0
                            	else:
                            		tmp = (4.16438922228 - (110.1139242984811 / x)) * x
                            	return tmp
                            
                            function code(x, y, z)
                            	t_0 = Float64(Float64(y * x) * -0.0424927283095952)
                            	tmp = 0.0
                            	if (x <= -4.2e+37)
                            		tmp = Float64(4.16438922228 * x);
                            	elseif (x <= -3.4e-143)
                            		tmp = t_0;
                            	elseif (x <= 5e-126)
                            		tmp = Float64(-0.0424927283095952 * z);
                            	elseif (x <= 0.09)
                            		tmp = t_0;
                            	else
                            		tmp = Float64(Float64(4.16438922228 - Float64(110.1139242984811 / x)) * x);
                            	end
                            	return tmp
                            end
                            
                            function tmp_2 = code(x, y, z)
                            	t_0 = (y * x) * -0.0424927283095952;
                            	tmp = 0.0;
                            	if (x <= -4.2e+37)
                            		tmp = 4.16438922228 * x;
                            	elseif (x <= -3.4e-143)
                            		tmp = t_0;
                            	elseif (x <= 5e-126)
                            		tmp = -0.0424927283095952 * z;
                            	elseif (x <= 0.09)
                            		tmp = t_0;
                            	else
                            		tmp = (4.16438922228 - (110.1139242984811 / x)) * x;
                            	end
                            	tmp_2 = tmp;
                            end
                            
                            code[x_, y_, z_] := Block[{t$95$0 = N[(N[(y * x), $MachinePrecision] * -0.0424927283095952), $MachinePrecision]}, If[LessEqual[x, -4.2e+37], N[(4.16438922228 * x), $MachinePrecision], If[LessEqual[x, -3.4e-143], t$95$0, If[LessEqual[x, 5e-126], N[(-0.0424927283095952 * z), $MachinePrecision], If[LessEqual[x, 0.09], t$95$0, N[(N[(4.16438922228 - N[(110.1139242984811 / x), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision]]]]]]
                            
                            \begin{array}{l}
                            
                            \\
                            \begin{array}{l}
                            t_0 := \left(y \cdot x\right) \cdot -0.0424927283095952\\
                            \mathbf{if}\;x \leq -4.2 \cdot 10^{+37}:\\
                            \;\;\;\;4.16438922228 \cdot x\\
                            
                            \mathbf{elif}\;x \leq -3.4 \cdot 10^{-143}:\\
                            \;\;\;\;t\_0\\
                            
                            \mathbf{elif}\;x \leq 5 \cdot 10^{-126}:\\
                            \;\;\;\;-0.0424927283095952 \cdot z\\
                            
                            \mathbf{elif}\;x \leq 0.09:\\
                            \;\;\;\;t\_0\\
                            
                            \mathbf{else}:\\
                            \;\;\;\;\left(4.16438922228 - \frac{110.1139242984811}{x}\right) \cdot x\\
                            
                            
                            \end{array}
                            \end{array}
                            
                            Derivation
                            1. Split input into 4 regimes
                            2. if x < -4.2000000000000002e37

                              1. Initial program 9.8%

                                \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                              2. Add Preprocessing
                              3. Applied rewrites13.6%

                                \[\leadsto \color{blue}{\frac{\left(x \cdot x - 4\right) \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}}{2 + x}} \]
                              4. Taylor expanded in x around inf

                                \[\leadsto \color{blue}{\frac{104109730557}{25000000000} \cdot x} \]
                              5. Step-by-step derivation
                                1. lower-*.f6492.7

                                  \[\leadsto \color{blue}{4.16438922228 \cdot x} \]
                              6. Applied rewrites92.7%

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

                              if -4.2000000000000002e37 < x < -3.39999999999999983e-143 or 5.00000000000000006e-126 < x < 0.089999999999999997

                              1. Initial program 99.5%

                                \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                              2. Add Preprocessing
                              3. Taylor expanded in z around 0

                                \[\leadsto \color{blue}{\frac{x \cdot \left(\left(y + x \cdot \left(\frac{4297481763}{31250000} + x \cdot \left(\frac{393497462077}{5000000000} + \frac{104109730557}{25000000000} \cdot x\right)\right)\right) \cdot \left(x - 2\right)\right)}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)}} \]
                              4. Step-by-step derivation
                                1. *-commutativeN/A

                                  \[\leadsto \frac{\color{blue}{\left(\left(y + x \cdot \left(\frac{4297481763}{31250000} + x \cdot \left(\frac{393497462077}{5000000000} + \frac{104109730557}{25000000000} \cdot x\right)\right)\right) \cdot \left(x - 2\right)\right) \cdot x}}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)} \]
                                2. associate-/l*N/A

                                  \[\leadsto \color{blue}{\left(\left(y + x \cdot \left(\frac{4297481763}{31250000} + x \cdot \left(\frac{393497462077}{5000000000} + \frac{104109730557}{25000000000} \cdot x\right)\right)\right) \cdot \left(x - 2\right)\right) \cdot \frac{x}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)}} \]
                                3. lower-*.f64N/A

                                  \[\leadsto \color{blue}{\left(\left(y + x \cdot \left(\frac{4297481763}{31250000} + x \cdot \left(\frac{393497462077}{5000000000} + \frac{104109730557}{25000000000} \cdot x\right)\right)\right) \cdot \left(x - 2\right)\right) \cdot \frac{x}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)}} \]
                              5. Applied rewrites69.9%

                                \[\leadsto \color{blue}{\left(\left(x - 2\right) \cdot \mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right)\right) \cdot \frac{x}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}} \]
                              6. Taylor expanded in x around 0

                                \[\leadsto \frac{-1000000000}{23533438303} \cdot \color{blue}{\left(x \cdot y\right)} \]
                              7. Step-by-step derivation
                                1. Applied rewrites53.2%

                                  \[\leadsto \left(y \cdot x\right) \cdot \color{blue}{-0.0424927283095952} \]

                                if -3.39999999999999983e-143 < x < 5.00000000000000006e-126

                                1. Initial program 99.8%

                                  \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                                2. Add Preprocessing
                                3. Taylor expanded in x around 0

                                  \[\leadsto \color{blue}{\frac{-1000000000}{23533438303} \cdot z} \]
                                4. Step-by-step derivation
                                  1. lower-*.f6485.8

                                    \[\leadsto \color{blue}{-0.0424927283095952 \cdot z} \]
                                5. Applied rewrites85.8%

                                  \[\leadsto \color{blue}{-0.0424927283095952 \cdot z} \]

                                if 0.089999999999999997 < x

                                1. Initial program 8.9%

                                  \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                                2. Add Preprocessing
                                3. Taylor expanded in x around inf

                                  \[\leadsto \color{blue}{x \cdot \left(\frac{104109730557}{25000000000} - \frac{13764240537310136880149}{125000000000000000000} \cdot \frac{1}{x}\right)} \]
                                4. Step-by-step derivation
                                  1. *-commutativeN/A

                                    \[\leadsto \color{blue}{\left(\frac{104109730557}{25000000000} - \frac{13764240537310136880149}{125000000000000000000} \cdot \frac{1}{x}\right) \cdot x} \]
                                  2. lower-*.f64N/A

                                    \[\leadsto \color{blue}{\left(\frac{104109730557}{25000000000} - \frac{13764240537310136880149}{125000000000000000000} \cdot \frac{1}{x}\right) \cdot x} \]
                                  3. lower--.f64N/A

                                    \[\leadsto \color{blue}{\left(\frac{104109730557}{25000000000} - \frac{13764240537310136880149}{125000000000000000000} \cdot \frac{1}{x}\right)} \cdot x \]
                                  4. associate-*r/N/A

                                    \[\leadsto \left(\frac{104109730557}{25000000000} - \color{blue}{\frac{\frac{13764240537310136880149}{125000000000000000000} \cdot 1}{x}}\right) \cdot x \]
                                  5. metadata-evalN/A

                                    \[\leadsto \left(\frac{104109730557}{25000000000} - \frac{\color{blue}{\frac{13764240537310136880149}{125000000000000000000}}}{x}\right) \cdot x \]
                                  6. lower-/.f6489.2

                                    \[\leadsto \left(4.16438922228 - \color{blue}{\frac{110.1139242984811}{x}}\right) \cdot x \]
                                5. Applied rewrites89.2%

                                  \[\leadsto \color{blue}{\left(4.16438922228 - \frac{110.1139242984811}{x}\right) \cdot x} \]
                              8. Recombined 4 regimes into one program.
                              9. Add Preprocessing

                              Alternative 13: 89.8% accurate, 1.8× speedup?

                              \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq -36 \lor \neg \left(x \leq 225000000000\right):\\ \;\;\;\;4.16438922228 \cdot x\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(x - 2\right) \cdot \mathsf{fma}\left(y, x, z\right)}{\mathsf{fma}\left(313.399215894, x, 47.066876606\right)}\\ \end{array} \end{array} \]
                              (FPCore (x y z)
                               :precision binary64
                               (if (or (<= x -36.0) (not (<= x 225000000000.0)))
                                 (* 4.16438922228 x)
                                 (/ (* (- x 2.0) (fma y x z)) (fma 313.399215894 x 47.066876606))))
                              double code(double x, double y, double z) {
                              	double tmp;
                              	if ((x <= -36.0) || !(x <= 225000000000.0)) {
                              		tmp = 4.16438922228 * x;
                              	} else {
                              		tmp = ((x - 2.0) * fma(y, x, z)) / fma(313.399215894, x, 47.066876606);
                              	}
                              	return tmp;
                              }
                              
                              function code(x, y, z)
                              	tmp = 0.0
                              	if ((x <= -36.0) || !(x <= 225000000000.0))
                              		tmp = Float64(4.16438922228 * x);
                              	else
                              		tmp = Float64(Float64(Float64(x - 2.0) * fma(y, x, z)) / fma(313.399215894, x, 47.066876606));
                              	end
                              	return tmp
                              end
                              
                              code[x_, y_, z_] := If[Or[LessEqual[x, -36.0], N[Not[LessEqual[x, 225000000000.0]], $MachinePrecision]], N[(4.16438922228 * x), $MachinePrecision], N[(N[(N[(x - 2.0), $MachinePrecision] * N[(y * x + z), $MachinePrecision]), $MachinePrecision] / N[(313.399215894 * x + 47.066876606), $MachinePrecision]), $MachinePrecision]]
                              
                              \begin{array}{l}
                              
                              \\
                              \begin{array}{l}
                              \mathbf{if}\;x \leq -36 \lor \neg \left(x \leq 225000000000\right):\\
                              \;\;\;\;4.16438922228 \cdot x\\
                              
                              \mathbf{else}:\\
                              \;\;\;\;\frac{\left(x - 2\right) \cdot \mathsf{fma}\left(y, x, z\right)}{\mathsf{fma}\left(313.399215894, x, 47.066876606\right)}\\
                              
                              
                              \end{array}
                              \end{array}
                              
                              Derivation
                              1. Split input into 2 regimes
                              2. if x < -36 or 2.25e11 < x

                                1. Initial program 12.6%

                                  \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                                2. Add Preprocessing
                                3. Applied rewrites18.5%

                                  \[\leadsto \color{blue}{\frac{\left(x \cdot x - 4\right) \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}}{2 + x}} \]
                                4. Taylor expanded in x around inf

                                  \[\leadsto \color{blue}{\frac{104109730557}{25000000000} \cdot x} \]
                                5. Step-by-step derivation
                                  1. lower-*.f6488.6

                                    \[\leadsto \color{blue}{4.16438922228 \cdot x} \]
                                6. Applied rewrites88.6%

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

                                if -36 < x < 2.25e11

                                1. Initial program 99.0%

                                  \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                                2. Add Preprocessing
                                3. Taylor expanded in y around inf

                                  \[\leadsto \frac{\left(x - 2\right) \cdot \color{blue}{\left(x \cdot y\right)}}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
                                4. Step-by-step derivation
                                  1. *-commutativeN/A

                                    \[\leadsto \frac{\left(x - 2\right) \cdot \color{blue}{\left(y \cdot x\right)}}{\left(\left(\left(x + \frac{216700011257}{5000000000}\right) \cdot x + \frac{263505074721}{1000000000}\right) \cdot x + \frac{156699607947}{500000000}\right) \cdot x + \frac{23533438303}{500000000}} \]
                                  2. lower-*.f6434.6

                                    \[\leadsto \frac{\left(x - 2\right) \cdot \color{blue}{\left(y \cdot x\right)}}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                                5. Applied rewrites34.6%

                                  \[\leadsto \frac{\left(x - 2\right) \cdot \color{blue}{\left(y \cdot x\right)}}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                                6. Taylor expanded in x around 0

                                  \[\leadsto \frac{\left(x - 2\right) \cdot \left(y \cdot x\right)}{\color{blue}{\frac{23533438303}{500000000} + \frac{156699607947}{500000000} \cdot x}} \]
                                7. Step-by-step derivation
                                  1. +-commutativeN/A

                                    \[\leadsto \frac{\left(x - 2\right) \cdot \left(y \cdot x\right)}{\color{blue}{\frac{156699607947}{500000000} \cdot x + \frac{23533438303}{500000000}}} \]
                                  2. lower-fma.f6433.9

                                    \[\leadsto \frac{\left(x - 2\right) \cdot \left(y \cdot x\right)}{\color{blue}{\mathsf{fma}\left(313.399215894, x, 47.066876606\right)}} \]
                                8. Applied rewrites33.9%

                                  \[\leadsto \frac{\left(x - 2\right) \cdot \left(y \cdot x\right)}{\color{blue}{\mathsf{fma}\left(313.399215894, x, 47.066876606\right)}} \]
                                9. Taylor expanded in x around 0

                                  \[\leadsto \frac{\left(x - 2\right) \cdot \color{blue}{\left(z + x \cdot y\right)}}{\mathsf{fma}\left(\frac{156699607947}{500000000}, x, \frac{23533438303}{500000000}\right)} \]
                                10. Step-by-step derivation
                                  1. +-commutativeN/A

                                    \[\leadsto \frac{\left(x - 2\right) \cdot \color{blue}{\left(x \cdot y + z\right)}}{\mathsf{fma}\left(\frac{156699607947}{500000000}, x, \frac{23533438303}{500000000}\right)} \]
                                  2. *-commutativeN/A

                                    \[\leadsto \frac{\left(x - 2\right) \cdot \left(\color{blue}{y \cdot x} + z\right)}{\mathsf{fma}\left(\frac{156699607947}{500000000}, x, \frac{23533438303}{500000000}\right)} \]
                                  3. lower-fma.f6493.9

                                    \[\leadsto \frac{\left(x - 2\right) \cdot \color{blue}{\mathsf{fma}\left(y, x, z\right)}}{\mathsf{fma}\left(313.399215894, x, 47.066876606\right)} \]
                                11. Applied rewrites93.9%

                                  \[\leadsto \frac{\left(x - 2\right) \cdot \color{blue}{\mathsf{fma}\left(y, x, z\right)}}{\mathsf{fma}\left(313.399215894, x, 47.066876606\right)} \]
                              3. Recombined 2 regimes into one program.
                              4. Final simplification91.5%

                                \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq -36 \lor \neg \left(x \leq 225000000000\right):\\ \;\;\;\;4.16438922228 \cdot x\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(x - 2\right) \cdot \mathsf{fma}\left(y, x, z\right)}{\mathsf{fma}\left(313.399215894, x, 47.066876606\right)}\\ \end{array} \]
                              5. Add Preprocessing

                              Alternative 14: 71.9% accurate, 2.3× speedup?

                              \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(y \cdot x\right) \cdot -0.0424927283095952\\ \mathbf{if}\;x \leq -4.2 \cdot 10^{+37}:\\ \;\;\;\;4.16438922228 \cdot x\\ \mathbf{elif}\;x \leq -3.4 \cdot 10^{-143}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;x \leq 5 \cdot 10^{-126}:\\ \;\;\;\;-0.0424927283095952 \cdot z\\ \mathbf{elif}\;x \leq 2:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;4.16438922228 \cdot x\\ \end{array} \end{array} \]
                              (FPCore (x y z)
                               :precision binary64
                               (let* ((t_0 (* (* y x) -0.0424927283095952)))
                                 (if (<= x -4.2e+37)
                                   (* 4.16438922228 x)
                                   (if (<= x -3.4e-143)
                                     t_0
                                     (if (<= x 5e-126)
                                       (* -0.0424927283095952 z)
                                       (if (<= x 2.0) t_0 (* 4.16438922228 x)))))))
                              double code(double x, double y, double z) {
                              	double t_0 = (y * x) * -0.0424927283095952;
                              	double tmp;
                              	if (x <= -4.2e+37) {
                              		tmp = 4.16438922228 * x;
                              	} else if (x <= -3.4e-143) {
                              		tmp = t_0;
                              	} else if (x <= 5e-126) {
                              		tmp = -0.0424927283095952 * z;
                              	} else if (x <= 2.0) {
                              		tmp = t_0;
                              	} else {
                              		tmp = 4.16438922228 * x;
                              	}
                              	return tmp;
                              }
                              
                              real(8) function code(x, y, z)
                                  real(8), intent (in) :: x
                                  real(8), intent (in) :: y
                                  real(8), intent (in) :: z
                                  real(8) :: t_0
                                  real(8) :: tmp
                                  t_0 = (y * x) * (-0.0424927283095952d0)
                                  if (x <= (-4.2d+37)) then
                                      tmp = 4.16438922228d0 * x
                                  else if (x <= (-3.4d-143)) then
                                      tmp = t_0
                                  else if (x <= 5d-126) then
                                      tmp = (-0.0424927283095952d0) * z
                                  else if (x <= 2.0d0) then
                                      tmp = t_0
                                  else
                                      tmp = 4.16438922228d0 * x
                                  end if
                                  code = tmp
                              end function
                              
                              public static double code(double x, double y, double z) {
                              	double t_0 = (y * x) * -0.0424927283095952;
                              	double tmp;
                              	if (x <= -4.2e+37) {
                              		tmp = 4.16438922228 * x;
                              	} else if (x <= -3.4e-143) {
                              		tmp = t_0;
                              	} else if (x <= 5e-126) {
                              		tmp = -0.0424927283095952 * z;
                              	} else if (x <= 2.0) {
                              		tmp = t_0;
                              	} else {
                              		tmp = 4.16438922228 * x;
                              	}
                              	return tmp;
                              }
                              
                              def code(x, y, z):
                              	t_0 = (y * x) * -0.0424927283095952
                              	tmp = 0
                              	if x <= -4.2e+37:
                              		tmp = 4.16438922228 * x
                              	elif x <= -3.4e-143:
                              		tmp = t_0
                              	elif x <= 5e-126:
                              		tmp = -0.0424927283095952 * z
                              	elif x <= 2.0:
                              		tmp = t_0
                              	else:
                              		tmp = 4.16438922228 * x
                              	return tmp
                              
                              function code(x, y, z)
                              	t_0 = Float64(Float64(y * x) * -0.0424927283095952)
                              	tmp = 0.0
                              	if (x <= -4.2e+37)
                              		tmp = Float64(4.16438922228 * x);
                              	elseif (x <= -3.4e-143)
                              		tmp = t_0;
                              	elseif (x <= 5e-126)
                              		tmp = Float64(-0.0424927283095952 * z);
                              	elseif (x <= 2.0)
                              		tmp = t_0;
                              	else
                              		tmp = Float64(4.16438922228 * x);
                              	end
                              	return tmp
                              end
                              
                              function tmp_2 = code(x, y, z)
                              	t_0 = (y * x) * -0.0424927283095952;
                              	tmp = 0.0;
                              	if (x <= -4.2e+37)
                              		tmp = 4.16438922228 * x;
                              	elseif (x <= -3.4e-143)
                              		tmp = t_0;
                              	elseif (x <= 5e-126)
                              		tmp = -0.0424927283095952 * z;
                              	elseif (x <= 2.0)
                              		tmp = t_0;
                              	else
                              		tmp = 4.16438922228 * x;
                              	end
                              	tmp_2 = tmp;
                              end
                              
                              code[x_, y_, z_] := Block[{t$95$0 = N[(N[(y * x), $MachinePrecision] * -0.0424927283095952), $MachinePrecision]}, If[LessEqual[x, -4.2e+37], N[(4.16438922228 * x), $MachinePrecision], If[LessEqual[x, -3.4e-143], t$95$0, If[LessEqual[x, 5e-126], N[(-0.0424927283095952 * z), $MachinePrecision], If[LessEqual[x, 2.0], t$95$0, N[(4.16438922228 * x), $MachinePrecision]]]]]]
                              
                              \begin{array}{l}
                              
                              \\
                              \begin{array}{l}
                              t_0 := \left(y \cdot x\right) \cdot -0.0424927283095952\\
                              \mathbf{if}\;x \leq -4.2 \cdot 10^{+37}:\\
                              \;\;\;\;4.16438922228 \cdot x\\
                              
                              \mathbf{elif}\;x \leq -3.4 \cdot 10^{-143}:\\
                              \;\;\;\;t\_0\\
                              
                              \mathbf{elif}\;x \leq 5 \cdot 10^{-126}:\\
                              \;\;\;\;-0.0424927283095952 \cdot z\\
                              
                              \mathbf{elif}\;x \leq 2:\\
                              \;\;\;\;t\_0\\
                              
                              \mathbf{else}:\\
                              \;\;\;\;4.16438922228 \cdot x\\
                              
                              
                              \end{array}
                              \end{array}
                              
                              Derivation
                              1. Split input into 3 regimes
                              2. if x < -4.2000000000000002e37 or 2 < x

                                1. Initial program 8.5%

                                  \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                                2. Add Preprocessing
                                3. Applied rewrites15.5%

                                  \[\leadsto \color{blue}{\frac{\left(x \cdot x - 4\right) \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}}{2 + x}} \]
                                4. Taylor expanded in x around inf

                                  \[\leadsto \color{blue}{\frac{104109730557}{25000000000} \cdot x} \]
                                5. Step-by-step derivation
                                  1. lower-*.f6491.6

                                    \[\leadsto \color{blue}{4.16438922228 \cdot x} \]
                                6. Applied rewrites91.6%

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

                                if -4.2000000000000002e37 < x < -3.39999999999999983e-143 or 5.00000000000000006e-126 < x < 2

                                1. Initial program 99.4%

                                  \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                                2. Add Preprocessing
                                3. Taylor expanded in z around 0

                                  \[\leadsto \color{blue}{\frac{x \cdot \left(\left(y + x \cdot \left(\frac{4297481763}{31250000} + x \cdot \left(\frac{393497462077}{5000000000} + \frac{104109730557}{25000000000} \cdot x\right)\right)\right) \cdot \left(x - 2\right)\right)}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)}} \]
                                4. Step-by-step derivation
                                  1. *-commutativeN/A

                                    \[\leadsto \frac{\color{blue}{\left(\left(y + x \cdot \left(\frac{4297481763}{31250000} + x \cdot \left(\frac{393497462077}{5000000000} + \frac{104109730557}{25000000000} \cdot x\right)\right)\right) \cdot \left(x - 2\right)\right) \cdot x}}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)} \]
                                  2. associate-/l*N/A

                                    \[\leadsto \color{blue}{\left(\left(y + x \cdot \left(\frac{4297481763}{31250000} + x \cdot \left(\frac{393497462077}{5000000000} + \frac{104109730557}{25000000000} \cdot x\right)\right)\right) \cdot \left(x - 2\right)\right) \cdot \frac{x}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)}} \]
                                  3. lower-*.f64N/A

                                    \[\leadsto \color{blue}{\left(\left(y + x \cdot \left(\frac{4297481763}{31250000} + x \cdot \left(\frac{393497462077}{5000000000} + \frac{104109730557}{25000000000} \cdot x\right)\right)\right) \cdot \left(x - 2\right)\right) \cdot \frac{x}{\frac{23533438303}{500000000} + x \cdot \left(\frac{156699607947}{500000000} + x \cdot \left(\frac{263505074721}{1000000000} + x \cdot \left(\frac{216700011257}{5000000000} + x\right)\right)\right)}} \]
                                5. Applied rewrites68.9%

                                  \[\leadsto \color{blue}{\left(\left(x - 2\right) \cdot \mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right)\right) \cdot \frac{x}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}} \]
                                6. Taylor expanded in x around 0

                                  \[\leadsto \frac{-1000000000}{23533438303} \cdot \color{blue}{\left(x \cdot y\right)} \]
                                7. Step-by-step derivation
                                  1. Applied rewrites52.4%

                                    \[\leadsto \left(y \cdot x\right) \cdot \color{blue}{-0.0424927283095952} \]

                                  if -3.39999999999999983e-143 < x < 5.00000000000000006e-126

                                  1. Initial program 99.8%

                                    \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                                  2. Add Preprocessing
                                  3. Taylor expanded in x around 0

                                    \[\leadsto \color{blue}{\frac{-1000000000}{23533438303} \cdot z} \]
                                  4. Step-by-step derivation
                                    1. lower-*.f6485.8

                                      \[\leadsto \color{blue}{-0.0424927283095952 \cdot z} \]
                                  5. Applied rewrites85.8%

                                    \[\leadsto \color{blue}{-0.0424927283095952 \cdot z} \]
                                8. Recombined 3 regimes into one program.
                                9. Add Preprocessing

                                Alternative 15: 88.5% accurate, 2.3× speedup?

                                \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq -4.2 \cdot 10^{+37} \lor \neg \left(x \leq 13500000000\right):\\ \;\;\;\;4.16438922228 \cdot x\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-0.0424927283095952, y, 0.3041881842569256 \cdot z\right), x, -0.0424927283095952 \cdot z\right)\\ \end{array} \end{array} \]
                                (FPCore (x y z)
                                 :precision binary64
                                 (if (or (<= x -4.2e+37) (not (<= x 13500000000.0)))
                                   (* 4.16438922228 x)
                                   (fma
                                    (fma -0.0424927283095952 y (* 0.3041881842569256 z))
                                    x
                                    (* -0.0424927283095952 z))))
                                double code(double x, double y, double z) {
                                	double tmp;
                                	if ((x <= -4.2e+37) || !(x <= 13500000000.0)) {
                                		tmp = 4.16438922228 * x;
                                	} else {
                                		tmp = fma(fma(-0.0424927283095952, y, (0.3041881842569256 * z)), x, (-0.0424927283095952 * z));
                                	}
                                	return tmp;
                                }
                                
                                function code(x, y, z)
                                	tmp = 0.0
                                	if ((x <= -4.2e+37) || !(x <= 13500000000.0))
                                		tmp = Float64(4.16438922228 * x);
                                	else
                                		tmp = fma(fma(-0.0424927283095952, y, Float64(0.3041881842569256 * z)), x, Float64(-0.0424927283095952 * z));
                                	end
                                	return tmp
                                end
                                
                                code[x_, y_, z_] := If[Or[LessEqual[x, -4.2e+37], N[Not[LessEqual[x, 13500000000.0]], $MachinePrecision]], N[(4.16438922228 * x), $MachinePrecision], N[(N[(-0.0424927283095952 * y + N[(0.3041881842569256 * z), $MachinePrecision]), $MachinePrecision] * x + N[(-0.0424927283095952 * z), $MachinePrecision]), $MachinePrecision]]
                                
                                \begin{array}{l}
                                
                                \\
                                \begin{array}{l}
                                \mathbf{if}\;x \leq -4.2 \cdot 10^{+37} \lor \neg \left(x \leq 13500000000\right):\\
                                \;\;\;\;4.16438922228 \cdot x\\
                                
                                \mathbf{else}:\\
                                \;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-0.0424927283095952, y, 0.3041881842569256 \cdot z\right), x, -0.0424927283095952 \cdot z\right)\\
                                
                                
                                \end{array}
                                \end{array}
                                
                                Derivation
                                1. Split input into 2 regimes
                                2. if x < -4.2000000000000002e37 or 1.35e10 < x

                                  1. Initial program 7.7%

                                    \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                                  2. Add Preprocessing
                                  3. Applied rewrites14.8%

                                    \[\leadsto \color{blue}{\frac{\left(x \cdot x - 4\right) \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}}{2 + x}} \]
                                  4. Taylor expanded in x around inf

                                    \[\leadsto \color{blue}{\frac{104109730557}{25000000000} \cdot x} \]
                                  5. Step-by-step derivation
                                    1. lower-*.f6492.4

                                      \[\leadsto \color{blue}{4.16438922228 \cdot x} \]
                                  6. Applied rewrites92.4%

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

                                  if -4.2000000000000002e37 < x < 1.35e10

                                  1. Initial program 99.6%

                                    \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                                  2. Add Preprocessing
                                  3. Applied rewrites99.6%

                                    \[\leadsto \color{blue}{\frac{\left(x \cdot x - 4\right) \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}}{2 + x}} \]
                                  4. Taylor expanded in x around 0

                                    \[\leadsto \color{blue}{\frac{-1000000000}{23533438303} \cdot z + x \cdot \left(\frac{-1000000000}{23533438303} \cdot y - \frac{-168466327098500000000}{553822718361107519809} \cdot z\right)} \]
                                  5. Step-by-step derivation
                                    1. +-commutativeN/A

                                      \[\leadsto \color{blue}{x \cdot \left(\frac{-1000000000}{23533438303} \cdot y - \frac{-168466327098500000000}{553822718361107519809} \cdot z\right) + \frac{-1000000000}{23533438303} \cdot z} \]
                                    2. *-commutativeN/A

                                      \[\leadsto \color{blue}{\left(\frac{-1000000000}{23533438303} \cdot y - \frac{-168466327098500000000}{553822718361107519809} \cdot z\right) \cdot x} + \frac{-1000000000}{23533438303} \cdot z \]
                                    3. lower-fma.f64N/A

                                      \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{-1000000000}{23533438303} \cdot y - \frac{-168466327098500000000}{553822718361107519809} \cdot z, x, \frac{-1000000000}{23533438303} \cdot z\right)} \]
                                    4. fp-cancel-sub-sign-invN/A

                                      \[\leadsto \mathsf{fma}\left(\color{blue}{\frac{-1000000000}{23533438303} \cdot y + \left(\mathsf{neg}\left(\frac{-168466327098500000000}{553822718361107519809}\right)\right) \cdot z}, x, \frac{-1000000000}{23533438303} \cdot z\right) \]
                                    5. lower-fma.f64N/A

                                      \[\leadsto \mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(\frac{-1000000000}{23533438303}, y, \left(\mathsf{neg}\left(\frac{-168466327098500000000}{553822718361107519809}\right)\right) \cdot z\right)}, x, \frac{-1000000000}{23533438303} \cdot z\right) \]
                                    6. lower-*.f64N/A

                                      \[\leadsto \mathsf{fma}\left(\mathsf{fma}\left(\frac{-1000000000}{23533438303}, y, \color{blue}{\left(\mathsf{neg}\left(\frac{-168466327098500000000}{553822718361107519809}\right)\right) \cdot z}\right), x, \frac{-1000000000}{23533438303} \cdot z\right) \]
                                    7. metadata-evalN/A

                                      \[\leadsto \mathsf{fma}\left(\mathsf{fma}\left(\frac{-1000000000}{23533438303}, y, \color{blue}{\frac{168466327098500000000}{553822718361107519809}} \cdot z\right), x, \frac{-1000000000}{23533438303} \cdot z\right) \]
                                    8. lower-*.f6488.8

                                      \[\leadsto \mathsf{fma}\left(\mathsf{fma}\left(-0.0424927283095952, y, 0.3041881842569256 \cdot z\right), x, \color{blue}{-0.0424927283095952 \cdot z}\right) \]
                                  6. Applied rewrites88.8%

                                    \[\leadsto \color{blue}{\mathsf{fma}\left(\mathsf{fma}\left(-0.0424927283095952, y, 0.3041881842569256 \cdot z\right), x, -0.0424927283095952 \cdot z\right)} \]
                                3. Recombined 2 regimes into one program.
                                4. Final simplification90.3%

                                  \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq -4.2 \cdot 10^{+37} \lor \neg \left(x \leq 13500000000\right):\\ \;\;\;\;4.16438922228 \cdot x\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\mathsf{fma}\left(-0.0424927283095952, y, 0.3041881842569256 \cdot z\right), x, -0.0424927283095952 \cdot z\right)\\ \end{array} \]
                                5. Add Preprocessing

                                Alternative 16: 76.3% accurate, 4.4× speedup?

                                \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq -1000 \lor \neg \left(x \leq 175000000000\right):\\ \;\;\;\;4.16438922228 \cdot x\\ \mathbf{else}:\\ \;\;\;\;-0.0424927283095952 \cdot z\\ \end{array} \end{array} \]
                                (FPCore (x y z)
                                 :precision binary64
                                 (if (or (<= x -1000.0) (not (<= x 175000000000.0)))
                                   (* 4.16438922228 x)
                                   (* -0.0424927283095952 z)))
                                double code(double x, double y, double z) {
                                	double tmp;
                                	if ((x <= -1000.0) || !(x <= 175000000000.0)) {
                                		tmp = 4.16438922228 * x;
                                	} else {
                                		tmp = -0.0424927283095952 * z;
                                	}
                                	return tmp;
                                }
                                
                                real(8) function code(x, y, z)
                                    real(8), intent (in) :: x
                                    real(8), intent (in) :: y
                                    real(8), intent (in) :: z
                                    real(8) :: tmp
                                    if ((x <= (-1000.0d0)) .or. (.not. (x <= 175000000000.0d0))) then
                                        tmp = 4.16438922228d0 * x
                                    else
                                        tmp = (-0.0424927283095952d0) * z
                                    end if
                                    code = tmp
                                end function
                                
                                public static double code(double x, double y, double z) {
                                	double tmp;
                                	if ((x <= -1000.0) || !(x <= 175000000000.0)) {
                                		tmp = 4.16438922228 * x;
                                	} else {
                                		tmp = -0.0424927283095952 * z;
                                	}
                                	return tmp;
                                }
                                
                                def code(x, y, z):
                                	tmp = 0
                                	if (x <= -1000.0) or not (x <= 175000000000.0):
                                		tmp = 4.16438922228 * x
                                	else:
                                		tmp = -0.0424927283095952 * z
                                	return tmp
                                
                                function code(x, y, z)
                                	tmp = 0.0
                                	if ((x <= -1000.0) || !(x <= 175000000000.0))
                                		tmp = Float64(4.16438922228 * x);
                                	else
                                		tmp = Float64(-0.0424927283095952 * z);
                                	end
                                	return tmp
                                end
                                
                                function tmp_2 = code(x, y, z)
                                	tmp = 0.0;
                                	if ((x <= -1000.0) || ~((x <= 175000000000.0)))
                                		tmp = 4.16438922228 * x;
                                	else
                                		tmp = -0.0424927283095952 * z;
                                	end
                                	tmp_2 = tmp;
                                end
                                
                                code[x_, y_, z_] := If[Or[LessEqual[x, -1000.0], N[Not[LessEqual[x, 175000000000.0]], $MachinePrecision]], N[(4.16438922228 * x), $MachinePrecision], N[(-0.0424927283095952 * z), $MachinePrecision]]
                                
                                \begin{array}{l}
                                
                                \\
                                \begin{array}{l}
                                \mathbf{if}\;x \leq -1000 \lor \neg \left(x \leq 175000000000\right):\\
                                \;\;\;\;4.16438922228 \cdot x\\
                                
                                \mathbf{else}:\\
                                \;\;\;\;-0.0424927283095952 \cdot z\\
                                
                                
                                \end{array}
                                \end{array}
                                
                                Derivation
                                1. Split input into 2 regimes
                                2. if x < -1e3 or 1.75e11 < x

                                  1. Initial program 13.3%

                                    \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                                  2. Add Preprocessing
                                  3. Applied rewrites19.2%

                                    \[\leadsto \color{blue}{\frac{\left(x \cdot x - 4\right) \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(4.16438922228, x, 78.6994924154\right), x, 137.519416416\right), x, y\right), x, z\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(43.3400022514 + x, x, 263.505074721\right), x, 313.399215894\right), x, 47.066876606\right)}}{2 + x}} \]
                                  4. Taylor expanded in x around inf

                                    \[\leadsto \color{blue}{\frac{104109730557}{25000000000} \cdot x} \]
                                  5. Step-by-step derivation
                                    1. lower-*.f6487.8

                                      \[\leadsto \color{blue}{4.16438922228 \cdot x} \]
                                  6. Applied rewrites87.8%

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

                                  if -1e3 < x < 1.75e11

                                  1. Initial program 99.0%

                                    \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                                  2. Add Preprocessing
                                  3. Taylor expanded in x around 0

                                    \[\leadsto \color{blue}{\frac{-1000000000}{23533438303} \cdot z} \]
                                  4. Step-by-step derivation
                                    1. lower-*.f6461.9

                                      \[\leadsto \color{blue}{-0.0424927283095952 \cdot z} \]
                                  5. Applied rewrites61.9%

                                    \[\leadsto \color{blue}{-0.0424927283095952 \cdot z} \]
                                3. Recombined 2 regimes into one program.
                                4. Final simplification73.4%

                                  \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq -1000 \lor \neg \left(x \leq 175000000000\right):\\ \;\;\;\;4.16438922228 \cdot x\\ \mathbf{else}:\\ \;\;\;\;-0.0424927283095952 \cdot z\\ \end{array} \]
                                5. Add Preprocessing

                                Alternative 17: 33.8% accurate, 13.2× speedup?

                                \[\begin{array}{l} \\ -0.0424927283095952 \cdot z \end{array} \]
                                (FPCore (x y z) :precision binary64 (* -0.0424927283095952 z))
                                double code(double x, double y, double z) {
                                	return -0.0424927283095952 * z;
                                }
                                
                                real(8) function code(x, y, z)
                                    real(8), intent (in) :: x
                                    real(8), intent (in) :: y
                                    real(8), intent (in) :: z
                                    code = (-0.0424927283095952d0) * z
                                end function
                                
                                public static double code(double x, double y, double z) {
                                	return -0.0424927283095952 * z;
                                }
                                
                                def code(x, y, z):
                                	return -0.0424927283095952 * z
                                
                                function code(x, y, z)
                                	return Float64(-0.0424927283095952 * z)
                                end
                                
                                function tmp = code(x, y, z)
                                	tmp = -0.0424927283095952 * z;
                                end
                                
                                code[x_, y_, z_] := N[(-0.0424927283095952 * z), $MachinePrecision]
                                
                                \begin{array}{l}
                                
                                \\
                                -0.0424927283095952 \cdot z
                                \end{array}
                                
                                Derivation
                                1. Initial program 60.8%

                                  \[\frac{\left(x - 2\right) \cdot \left(\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z\right)}{\left(\left(\left(x + 43.3400022514\right) \cdot x + 263.505074721\right) \cdot x + 313.399215894\right) \cdot x + 47.066876606} \]
                                2. Add Preprocessing
                                3. Taylor expanded in x around 0

                                  \[\leadsto \color{blue}{\frac{-1000000000}{23533438303} \cdot z} \]
                                4. Step-by-step derivation
                                  1. lower-*.f6435.5

                                    \[\leadsto \color{blue}{-0.0424927283095952 \cdot z} \]
                                5. Applied rewrites35.5%

                                  \[\leadsto \color{blue}{-0.0424927283095952 \cdot z} \]
                                6. Add Preprocessing

                                Developer Target 1: 98.8% accurate, 0.7× speedup?

                                \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(\frac{y}{x \cdot x} + 4.16438922228 \cdot x\right) - 110.1139242984811\\ \mathbf{if}\;x < -3.326128725870005 \cdot 10^{+62}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;x < 9.429991714554673 \cdot 10^{+55}:\\ \;\;\;\;\frac{x - 2}{1} \cdot \frac{\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z}{\left(\left(263.505074721 \cdot x + \left(43.3400022514 \cdot \left(x \cdot x\right) + x \cdot \left(x \cdot x\right)\right)\right) + 313.399215894\right) \cdot x + 47.066876606}\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \end{array} \]
                                (FPCore (x y z)
                                 :precision binary64
                                 (let* ((t_0 (- (+ (/ y (* x x)) (* 4.16438922228 x)) 110.1139242984811)))
                                   (if (< x -3.326128725870005e+62)
                                     t_0
                                     (if (< x 9.429991714554673e+55)
                                       (*
                                        (/ (- x 2.0) 1.0)
                                        (/
                                         (+
                                          (*
                                           (+
                                            (* (+ (* (+ (* x 4.16438922228) 78.6994924154) x) 137.519416416) x)
                                            y)
                                           x)
                                          z)
                                         (+
                                          (*
                                           (+
                                            (+ (* 263.505074721 x) (+ (* 43.3400022514 (* x x)) (* x (* x x))))
                                            313.399215894)
                                           x)
                                          47.066876606)))
                                       t_0))))
                                double code(double x, double y, double z) {
                                	double t_0 = ((y / (x * x)) + (4.16438922228 * x)) - 110.1139242984811;
                                	double tmp;
                                	if (x < -3.326128725870005e+62) {
                                		tmp = t_0;
                                	} else if (x < 9.429991714554673e+55) {
                                		tmp = ((x - 2.0) / 1.0) * (((((((((x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z) / (((((263.505074721 * x) + ((43.3400022514 * (x * x)) + (x * (x * x)))) + 313.399215894) * x) + 47.066876606));
                                	} else {
                                		tmp = t_0;
                                	}
                                	return tmp;
                                }
                                
                                real(8) function code(x, y, z)
                                    real(8), intent (in) :: x
                                    real(8), intent (in) :: y
                                    real(8), intent (in) :: z
                                    real(8) :: t_0
                                    real(8) :: tmp
                                    t_0 = ((y / (x * x)) + (4.16438922228d0 * x)) - 110.1139242984811d0
                                    if (x < (-3.326128725870005d+62)) then
                                        tmp = t_0
                                    else if (x < 9.429991714554673d+55) then
                                        tmp = ((x - 2.0d0) / 1.0d0) * (((((((((x * 4.16438922228d0) + 78.6994924154d0) * x) + 137.519416416d0) * x) + y) * x) + z) / (((((263.505074721d0 * x) + ((43.3400022514d0 * (x * x)) + (x * (x * x)))) + 313.399215894d0) * x) + 47.066876606d0))
                                    else
                                        tmp = t_0
                                    end if
                                    code = tmp
                                end function
                                
                                public static double code(double x, double y, double z) {
                                	double t_0 = ((y / (x * x)) + (4.16438922228 * x)) - 110.1139242984811;
                                	double tmp;
                                	if (x < -3.326128725870005e+62) {
                                		tmp = t_0;
                                	} else if (x < 9.429991714554673e+55) {
                                		tmp = ((x - 2.0) / 1.0) * (((((((((x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z) / (((((263.505074721 * x) + ((43.3400022514 * (x * x)) + (x * (x * x)))) + 313.399215894) * x) + 47.066876606));
                                	} else {
                                		tmp = t_0;
                                	}
                                	return tmp;
                                }
                                
                                def code(x, y, z):
                                	t_0 = ((y / (x * x)) + (4.16438922228 * x)) - 110.1139242984811
                                	tmp = 0
                                	if x < -3.326128725870005e+62:
                                		tmp = t_0
                                	elif x < 9.429991714554673e+55:
                                		tmp = ((x - 2.0) / 1.0) * (((((((((x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z) / (((((263.505074721 * x) + ((43.3400022514 * (x * x)) + (x * (x * x)))) + 313.399215894) * x) + 47.066876606))
                                	else:
                                		tmp = t_0
                                	return tmp
                                
                                function code(x, y, z)
                                	t_0 = Float64(Float64(Float64(y / Float64(x * x)) + Float64(4.16438922228 * x)) - 110.1139242984811)
                                	tmp = 0.0
                                	if (x < -3.326128725870005e+62)
                                		tmp = t_0;
                                	elseif (x < 9.429991714554673e+55)
                                		tmp = Float64(Float64(Float64(x - 2.0) / 1.0) * Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z) / Float64(Float64(Float64(Float64(Float64(263.505074721 * x) + Float64(Float64(43.3400022514 * Float64(x * x)) + Float64(x * Float64(x * x)))) + 313.399215894) * x) + 47.066876606)));
                                	else
                                		tmp = t_0;
                                	end
                                	return tmp
                                end
                                
                                function tmp_2 = code(x, y, z)
                                	t_0 = ((y / (x * x)) + (4.16438922228 * x)) - 110.1139242984811;
                                	tmp = 0.0;
                                	if (x < -3.326128725870005e+62)
                                		tmp = t_0;
                                	elseif (x < 9.429991714554673e+55)
                                		tmp = ((x - 2.0) / 1.0) * (((((((((x * 4.16438922228) + 78.6994924154) * x) + 137.519416416) * x) + y) * x) + z) / (((((263.505074721 * x) + ((43.3400022514 * (x * x)) + (x * (x * x)))) + 313.399215894) * x) + 47.066876606));
                                	else
                                		tmp = t_0;
                                	end
                                	tmp_2 = tmp;
                                end
                                
                                code[x_, y_, z_] := Block[{t$95$0 = N[(N[(N[(y / N[(x * x), $MachinePrecision]), $MachinePrecision] + N[(4.16438922228 * x), $MachinePrecision]), $MachinePrecision] - 110.1139242984811), $MachinePrecision]}, If[Less[x, -3.326128725870005e+62], t$95$0, If[Less[x, 9.429991714554673e+55], N[(N[(N[(x - 2.0), $MachinePrecision] / 1.0), $MachinePrecision] * N[(N[(N[(N[(N[(N[(N[(N[(N[(x * 4.16438922228), $MachinePrecision] + 78.6994924154), $MachinePrecision] * x), $MachinePrecision] + 137.519416416), $MachinePrecision] * x), $MachinePrecision] + y), $MachinePrecision] * x), $MachinePrecision] + z), $MachinePrecision] / N[(N[(N[(N[(N[(263.505074721 * x), $MachinePrecision] + N[(N[(43.3400022514 * N[(x * x), $MachinePrecision]), $MachinePrecision] + N[(x * N[(x * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 313.399215894), $MachinePrecision] * x), $MachinePrecision] + 47.066876606), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$0]]]
                                
                                \begin{array}{l}
                                
                                \\
                                \begin{array}{l}
                                t_0 := \left(\frac{y}{x \cdot x} + 4.16438922228 \cdot x\right) - 110.1139242984811\\
                                \mathbf{if}\;x < -3.326128725870005 \cdot 10^{+62}:\\
                                \;\;\;\;t\_0\\
                                
                                \mathbf{elif}\;x < 9.429991714554673 \cdot 10^{+55}:\\
                                \;\;\;\;\frac{x - 2}{1} \cdot \frac{\left(\left(\left(x \cdot 4.16438922228 + 78.6994924154\right) \cdot x + 137.519416416\right) \cdot x + y\right) \cdot x + z}{\left(\left(263.505074721 \cdot x + \left(43.3400022514 \cdot \left(x \cdot x\right) + x \cdot \left(x \cdot x\right)\right)\right) + 313.399215894\right) \cdot x + 47.066876606}\\
                                
                                \mathbf{else}:\\
                                \;\;\;\;t\_0\\
                                
                                
                                \end{array}
                                \end{array}
                                

                                Reproduce

                                ?
                                herbie shell --seed 2024320 
                                (FPCore (x y z)
                                  :name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2, C"
                                  :precision binary64
                                
                                  :alt
                                  (! :herbie-platform default (if (< x -332612872587000500000000000000000000000000000000000000000000000) (- (+ (/ y (* x x)) (* 104109730557/25000000000 x)) 1101139242984811/10000000000000) (if (< x 94299917145546730000000000000000000000000000000000000000) (* (/ (- x 2) 1) (/ (+ (* (+ (* (+ (* (+ (* x 104109730557/25000000000) 393497462077/5000000000) x) 4297481763/31250000) x) y) x) z) (+ (* (+ (+ (* 263505074721/1000000000 x) (+ (* 216700011257/5000000000 (* x x)) (* x (* x x)))) 156699607947/500000000) x) 23533438303/500000000))) (- (+ (/ y (* x x)) (* 104109730557/25000000000 x)) 1101139242984811/10000000000000))))
                                
                                  (/ (* (- x 2.0) (+ (* (+ (* (+ (* (+ (* x 4.16438922228) 78.6994924154) x) 137.519416416) x) y) x) z)) (+ (* (+ (* (+ (* (+ x 43.3400022514) x) 263.505074721) x) 313.399215894) x) 47.066876606)))