(* 7.62939453125e-6 (+ (+ (+ (* 2.0 u2) (* (- u3 u1) (* amt 65536))) (* (- (+ (- (* 2.0 u1) (* 5.0 u2)) (* 4.0 u3)) u4) (* (pow amt 2) 65536))) (* (+ (- (- (* 3.0 u2) u1) (* 3.0 u3)) u4) (* (pow amt 3) 65536))))

Percentage Accurate: 71.7% → 95.5%
Time: 9.2s
Alternatives: 21
Speedup: 4.9×

Specification

?
\[0.5 \leq amt \land amt \leq 1\]
\[\begin{array}{l} \\ 7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \end{array} \]
(FPCore (u2 u3 u1 amt u4)
 :precision binary32
 (*
  7.62939453125e-6
  (+
   (+
    (+ (* 2.0 u2) (* (- u3 u1) (* amt 65536.0)))
    (*
     (- (+ (- (* 2.0 u1) (* 5.0 u2)) (* 4.0 u3)) u4)
     (* (pow amt 2.0) 65536.0)))
   (* (+ (- (- (* 3.0 u2) u1) (* 3.0 u3)) u4) (* (pow amt 3.0) 65536.0)))))
float code(float u2, float u3, float u1, float amt, float u4) {
	return 7.62939453125e-6f * ((((2.0f * u2) + ((u3 - u1) * (amt * 65536.0f))) + (((((2.0f * u1) - (5.0f * u2)) + (4.0f * u3)) - u4) * (powf(amt, 2.0f) * 65536.0f))) + (((((3.0f * u2) - u1) - (3.0f * u3)) + u4) * (powf(amt, 3.0f) * 65536.0f)));
}
real(4) function code(u2, u3, u1, amt, u4)
    real(4), intent (in) :: u2
    real(4), intent (in) :: u3
    real(4), intent (in) :: u1
    real(4), intent (in) :: amt
    real(4), intent (in) :: u4
    code = 7.62939453125e-6 * ((((2.0e0 * u2) + ((u3 - u1) * (amt * 65536.0e0))) + (((((2.0e0 * u1) - (5.0e0 * u2)) + (4.0e0 * u3)) - u4) * ((amt ** 2.0e0) * 65536.0e0))) + (((((3.0e0 * u2) - u1) - (3.0e0 * u3)) + u4) * ((amt ** 3.0e0) * 65536.0e0)))
end function
function code(u2, u3, u1, amt, u4)
	return Float32(Float32(7.62939453125e-6) * Float32(Float32(Float32(Float32(Float32(2.0) * u2) + Float32(Float32(u3 - u1) * Float32(amt * Float32(65536.0)))) + Float32(Float32(Float32(Float32(Float32(Float32(2.0) * u1) - Float32(Float32(5.0) * u2)) + Float32(Float32(4.0) * u3)) - u4) * Float32((amt ^ Float32(2.0)) * Float32(65536.0)))) + Float32(Float32(Float32(Float32(Float32(Float32(3.0) * u2) - u1) - Float32(Float32(3.0) * u3)) + u4) * Float32((amt ^ Float32(3.0)) * Float32(65536.0)))))
end
function tmp = code(u2, u3, u1, amt, u4)
	tmp = single(7.62939453125e-6) * ((((single(2.0) * u2) + ((u3 - u1) * (amt * single(65536.0)))) + (((((single(2.0) * u1) - (single(5.0) * u2)) + (single(4.0) * u3)) - u4) * ((amt ^ single(2.0)) * single(65536.0)))) + (((((single(3.0) * u2) - u1) - (single(3.0) * u3)) + u4) * ((amt ^ single(3.0)) * single(65536.0))));
end
\begin{array}{l}

\\
7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right)
\end{array}

Sampling outcomes in binary32 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 21 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: 71.7% accurate, 1.0× speedup?

\[\begin{array}{l} \\ 7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \end{array} \]
(FPCore (u2 u3 u1 amt u4)
 :precision binary32
 (*
  7.62939453125e-6
  (+
   (+
    (+ (* 2.0 u2) (* (- u3 u1) (* amt 65536.0)))
    (*
     (- (+ (- (* 2.0 u1) (* 5.0 u2)) (* 4.0 u3)) u4)
     (* (pow amt 2.0) 65536.0)))
   (* (+ (- (- (* 3.0 u2) u1) (* 3.0 u3)) u4) (* (pow amt 3.0) 65536.0)))))
float code(float u2, float u3, float u1, float amt, float u4) {
	return 7.62939453125e-6f * ((((2.0f * u2) + ((u3 - u1) * (amt * 65536.0f))) + (((((2.0f * u1) - (5.0f * u2)) + (4.0f * u3)) - u4) * (powf(amt, 2.0f) * 65536.0f))) + (((((3.0f * u2) - u1) - (3.0f * u3)) + u4) * (powf(amt, 3.0f) * 65536.0f)));
}
real(4) function code(u2, u3, u1, amt, u4)
    real(4), intent (in) :: u2
    real(4), intent (in) :: u3
    real(4), intent (in) :: u1
    real(4), intent (in) :: amt
    real(4), intent (in) :: u4
    code = 7.62939453125e-6 * ((((2.0e0 * u2) + ((u3 - u1) * (amt * 65536.0e0))) + (((((2.0e0 * u1) - (5.0e0 * u2)) + (4.0e0 * u3)) - u4) * ((amt ** 2.0e0) * 65536.0e0))) + (((((3.0e0 * u2) - u1) - (3.0e0 * u3)) + u4) * ((amt ** 3.0e0) * 65536.0e0)))
end function
function code(u2, u3, u1, amt, u4)
	return Float32(Float32(7.62939453125e-6) * Float32(Float32(Float32(Float32(Float32(2.0) * u2) + Float32(Float32(u3 - u1) * Float32(amt * Float32(65536.0)))) + Float32(Float32(Float32(Float32(Float32(Float32(2.0) * u1) - Float32(Float32(5.0) * u2)) + Float32(Float32(4.0) * u3)) - u4) * Float32((amt ^ Float32(2.0)) * Float32(65536.0)))) + Float32(Float32(Float32(Float32(Float32(Float32(3.0) * u2) - u1) - Float32(Float32(3.0) * u3)) + u4) * Float32((amt ^ Float32(3.0)) * Float32(65536.0)))))
end
function tmp = code(u2, u3, u1, amt, u4)
	tmp = single(7.62939453125e-6) * ((((single(2.0) * u2) + ((u3 - u1) * (amt * single(65536.0)))) + (((((single(2.0) * u1) - (single(5.0) * u2)) + (single(4.0) * u3)) - u4) * ((amt ^ single(2.0)) * single(65536.0)))) + (((((single(3.0) * u2) - u1) - (single(3.0) * u3)) + u4) * ((amt ^ single(3.0)) * single(65536.0))));
end
\begin{array}{l}

\\
7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right)
\end{array}

Alternative 1: 95.5% accurate, 3.9× speedup?

\[\begin{array}{l} \\ \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(amt, \mathsf{fma}\left(-3, u3, u4\right) - u1, u3 \cdot 4\right) - u4\right), u3 - u1\right), u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\right) \end{array} \]
(FPCore (u2 u3 u1 amt u4)
 :precision binary32
 (fma
  amt
  (*
   0.5
   (fma
    amt
    (fma 2.0 u1 (- (fma amt (- (fma -3.0 u3 u4) u1) (* u3 4.0)) u4))
    (- u3 u1)))
  (* u2 (fma (* 0.5 (* amt amt)) (fma 3.0 amt -5.0) 1.52587890625e-5))))
float code(float u2, float u3, float u1, float amt, float u4) {
	return fmaf(amt, (0.5f * fmaf(amt, fmaf(2.0f, u1, (fmaf(amt, (fmaf(-3.0f, u3, u4) - u1), (u3 * 4.0f)) - u4)), (u3 - u1))), (u2 * fmaf((0.5f * (amt * amt)), fmaf(3.0f, amt, -5.0f), 1.52587890625e-5f)));
}
function code(u2, u3, u1, amt, u4)
	return fma(amt, Float32(Float32(0.5) * fma(amt, fma(Float32(2.0), u1, Float32(fma(amt, Float32(fma(Float32(-3.0), u3, u4) - u1), Float32(u3 * Float32(4.0))) - u4)), Float32(u3 - u1))), Float32(u2 * fma(Float32(Float32(0.5) * Float32(amt * amt)), fma(Float32(3.0), amt, Float32(-5.0)), Float32(1.52587890625e-5))))
end
\begin{array}{l}

\\
\mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(amt, \mathsf{fma}\left(-3, u3, u4\right) - u1, u3 \cdot 4\right) - u4\right), u3 - u1\right), u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\right)
\end{array}
Derivation
  1. Initial program 75.5%

    \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
  2. Add Preprocessing
  3. Taylor expanded in amt around 0

    \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
  4. Step-by-step derivation
    1. +-commutativeN/A

      \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
    2. lower-fma.f32N/A

      \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
  5. Applied rewrites94.9%

    \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
  6. Taylor expanded in u2 around 0

    \[\leadsto amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(2 \cdot u1 + \left(4 \cdot u3 + amt \cdot \left(\left(u4 + -3 \cdot u3\right) - u1\right)\right)\right) - u4\right)\right) + \frac{1}{2} \cdot \left(u3 - u1\right)\right) + \color{blue}{u2 \cdot \left(\frac{1}{65536} + \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(3 \cdot amt - 5\right)\right)\right)} \]
  7. Step-by-step derivation
    1. Applied rewrites96.2%

      \[\leadsto \mathsf{fma}\left(amt, \color{blue}{0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(amt, \mathsf{fma}\left(-3, u3, u4\right) - u1, 4 \cdot u3\right) - u4\right), u3 - u1\right)}, u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\right) \]
    2. Final simplification96.2%

      \[\leadsto \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(amt, \mathsf{fma}\left(-3, u3, u4\right) - u1, u3 \cdot 4\right) - u4\right), u3 - u1\right), u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\right) \]
    3. Add Preprocessing

    Alternative 2: 95.2% accurate, 4.0× speedup?

    \[\begin{array}{l} \\ \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(u4, amt + -1, \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, -u1\right), u3 \cdot 4\right)\right)\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \end{array} \]
    (FPCore (u2 u3 u1 amt u4)
     :precision binary32
     (fma
      amt
      (fma
       amt
       (*
        0.5
        (fma
         u4
         (+ amt -1.0)
         (fma
          -5.0
          u2
          (fma 2.0 u1 (fma amt (fma 3.0 (- u2 u3) (- u1)) (* u3 4.0))))))
       (* 0.5 (- u3 u1)))
      (* u2 1.52587890625e-5)))
    float code(float u2, float u3, float u1, float amt, float u4) {
    	return fmaf(amt, fmaf(amt, (0.5f * fmaf(u4, (amt + -1.0f), fmaf(-5.0f, u2, fmaf(2.0f, u1, fmaf(amt, fmaf(3.0f, (u2 - u3), -u1), (u3 * 4.0f)))))), (0.5f * (u3 - u1))), (u2 * 1.52587890625e-5f));
    }
    
    function code(u2, u3, u1, amt, u4)
    	return fma(amt, fma(amt, Float32(Float32(0.5) * fma(u4, Float32(amt + Float32(-1.0)), fma(Float32(-5.0), u2, fma(Float32(2.0), u1, fma(amt, fma(Float32(3.0), Float32(u2 - u3), Float32(-u1)), Float32(u3 * Float32(4.0))))))), Float32(Float32(0.5) * Float32(u3 - u1))), Float32(u2 * Float32(1.52587890625e-5)))
    end
    
    \begin{array}{l}
    
    \\
    \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(u4, amt + -1, \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, -u1\right), u3 \cdot 4\right)\right)\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)
    \end{array}
    
    Derivation
    1. Initial program 75.5%

      \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
    2. Add Preprocessing
    3. Taylor expanded in amt around 0

      \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
    4. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
      2. lower-fma.f32N/A

        \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
    5. Applied rewrites94.9%

      \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
    6. Taylor expanded in u4 around 0

      \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u4 \cdot \left(amt - 1\right)\right) + \color{blue}{\frac{1}{2} \cdot \left(-5 \cdot u2 + \left(2 \cdot u1 + \left(4 \cdot u3 + amt \cdot \left(3 \cdot \left(u2 - u3\right) - u1\right)\right)\right)\right)}, \left(u3 - u1\right) \cdot \frac{1}{2}\right), u2 \cdot \frac{1}{65536}\right) \]
    7. Step-by-step derivation
      1. Applied rewrites95.9%

        \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \color{blue}{\mathsf{fma}\left(u4, amt + -1, \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, -u1\right), 4 \cdot u3\right)\right)\right)\right)}, \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]
      2. Final simplification95.9%

        \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(u4, amt + -1, \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, -u1\right), u3 \cdot 4\right)\right)\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]
      3. Add Preprocessing

      Alternative 3: 95.0% accurate, 4.1× speedup?

      \[\begin{array}{l} \\ \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2, u4\right) - u1, u3 \cdot \mathsf{fma}\left(-3, amt, 4\right)\right)\right) - u4\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \end{array} \]
      (FPCore (u2 u3 u1 amt u4)
       :precision binary32
       (fma
        amt
        (fma
         amt
         (*
          0.5
          (fma
           -5.0
           u2
           (-
            (fma 2.0 u1 (fma amt (- (fma 3.0 u2 u4) u1) (* u3 (fma -3.0 amt 4.0))))
            u4)))
         (* 0.5 (- u3 u1)))
        (* u2 1.52587890625e-5)))
      float code(float u2, float u3, float u1, float amt, float u4) {
      	return fmaf(amt, fmaf(amt, (0.5f * fmaf(-5.0f, u2, (fmaf(2.0f, u1, fmaf(amt, (fmaf(3.0f, u2, u4) - u1), (u3 * fmaf(-3.0f, amt, 4.0f)))) - u4))), (0.5f * (u3 - u1))), (u2 * 1.52587890625e-5f));
      }
      
      function code(u2, u3, u1, amt, u4)
      	return fma(amt, fma(amt, Float32(Float32(0.5) * fma(Float32(-5.0), u2, Float32(fma(Float32(2.0), u1, fma(amt, Float32(fma(Float32(3.0), u2, u4) - u1), Float32(u3 * fma(Float32(-3.0), amt, Float32(4.0))))) - u4))), Float32(Float32(0.5) * Float32(u3 - u1))), Float32(u2 * Float32(1.52587890625e-5)))
      end
      
      \begin{array}{l}
      
      \\
      \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2, u4\right) - u1, u3 \cdot \mathsf{fma}\left(-3, amt, 4\right)\right)\right) - u4\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)
      \end{array}
      
      Derivation
      1. Initial program 75.5%

        \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
      2. Add Preprocessing
      3. Taylor expanded in amt around 0

        \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
      4. Step-by-step derivation
        1. +-commutativeN/A

          \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
        2. lower-fma.f32N/A

          \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
      5. Applied rewrites94.9%

        \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
      6. Taylor expanded in u3 around 0

        \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(\left(-5 \cdot u2 + \left(2 \cdot u1 + \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - u1\right) + u3 \cdot \left(4 + -3 \cdot amt\right)\right)\right)\right) - \color{blue}{u4}\right), \left(u3 - u1\right) \cdot \frac{1}{2}\right), u2 \cdot \frac{1}{65536}\right) \]
      7. Step-by-step derivation
        1. Applied rewrites95.7%

          \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(-5, \color{blue}{u2}, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2, u4\right) - u1, u3 \cdot \mathsf{fma}\left(-3, amt, 4\right)\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]
        2. Final simplification95.7%

          \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2, u4\right) - u1, u3 \cdot \mathsf{fma}\left(-3, amt, 4\right)\right)\right) - u4\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]
        3. Add Preprocessing

        Alternative 4: 94.9% accurate, 4.1× speedup?

        \[\begin{array}{l} \\ \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(u2, \mathsf{fma}\left(3, amt, -5\right), \mathsf{fma}\left(2, u1, \mathsf{fma}\left(amt, \mathsf{fma}\left(-3, u3, u4\right) - u1, u3 \cdot 4\right) - u4\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \end{array} \]
        (FPCore (u2 u3 u1 amt u4)
         :precision binary32
         (fma
          amt
          (fma
           amt
           (*
            0.5
            (fma
             u2
             (fma 3.0 amt -5.0)
             (fma 2.0 u1 (- (fma amt (- (fma -3.0 u3 u4) u1) (* u3 4.0)) u4))))
           (* 0.5 (- u3 u1)))
          (* u2 1.52587890625e-5)))
        float code(float u2, float u3, float u1, float amt, float u4) {
        	return fmaf(amt, fmaf(amt, (0.5f * fmaf(u2, fmaf(3.0f, amt, -5.0f), fmaf(2.0f, u1, (fmaf(amt, (fmaf(-3.0f, u3, u4) - u1), (u3 * 4.0f)) - u4)))), (0.5f * (u3 - u1))), (u2 * 1.52587890625e-5f));
        }
        
        function code(u2, u3, u1, amt, u4)
        	return fma(amt, fma(amt, Float32(Float32(0.5) * fma(u2, fma(Float32(3.0), amt, Float32(-5.0)), fma(Float32(2.0), u1, Float32(fma(amt, Float32(fma(Float32(-3.0), u3, u4) - u1), Float32(u3 * Float32(4.0))) - u4)))), Float32(Float32(0.5) * Float32(u3 - u1))), Float32(u2 * Float32(1.52587890625e-5)))
        end
        
        \begin{array}{l}
        
        \\
        \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(u2, \mathsf{fma}\left(3, amt, -5\right), \mathsf{fma}\left(2, u1, \mathsf{fma}\left(amt, \mathsf{fma}\left(-3, u3, u4\right) - u1, u3 \cdot 4\right) - u4\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)
        \end{array}
        
        Derivation
        1. Initial program 75.5%

          \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
        2. Add Preprocessing
        3. Taylor expanded in amt around 0

          \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
        4. Step-by-step derivation
          1. +-commutativeN/A

            \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
          2. lower-fma.f32N/A

            \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
        5. Applied rewrites94.9%

          \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
        6. Taylor expanded in u2 around 0

          \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u2 \cdot \left(3 \cdot amt - 5\right)\right) + \color{blue}{\frac{1}{2} \cdot \left(\left(2 \cdot u1 + \left(4 \cdot u3 + amt \cdot \left(\left(u4 + -3 \cdot u3\right) - u1\right)\right)\right) - u4\right)}, \left(u3 - u1\right) \cdot \frac{1}{2}\right), u2 \cdot \frac{1}{65536}\right) \]
        7. Step-by-step derivation
          1. Applied rewrites95.5%

            \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \color{blue}{\mathsf{fma}\left(u2, \mathsf{fma}\left(3, amt, -5\right), \mathsf{fma}\left(2, u1, \mathsf{fma}\left(amt, \mathsf{fma}\left(-3, u3, u4\right) - u1, 4 \cdot u3\right) - u4\right)\right)}, \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]
          2. Final simplification95.5%

            \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(u2, \mathsf{fma}\left(3, amt, -5\right), \mathsf{fma}\left(2, u1, \mathsf{fma}\left(amt, \mathsf{fma}\left(-3, u3, u4\right) - u1, u3 \cdot 4\right) - u4\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]
          3. Add Preprocessing

          Alternative 5: 85.1% accurate, 4.3× speedup?

          \[\begin{array}{l} \\ \begin{array}{l} t_0 := \mathsf{fma}\left(amt, 0.5 \cdot \left(u3 + amt \cdot \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right), u3 \cdot 4\right) - u4\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{if}\;u3 \leq -2:\\ \;\;\;\;t_0\\ \mathbf{elif}\;u3 \leq 40000:\\ \;\;\;\;\mathsf{fma}\left(amt, \mathsf{fma}\left(amt \cdot 0.5, \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2, u4\right) - u1, 2 \cdot u1\right) - u4\right), u1 \cdot -0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \end{array} \]
          (FPCore (u2 u3 u1 amt u4)
           :precision binary32
           (let* ((t_0
                   (fma
                    amt
                    (*
                     0.5
                     (+
                      u3
                      (*
                       amt
                       (fma
                        -5.0
                        u2
                        (- (fma amt (fma 3.0 (- u2 u3) u4) (* u3 4.0)) u4)))))
                    (* u2 1.52587890625e-5))))
             (if (<= u3 -2.0)
               t_0
               (if (<= u3 40000.0)
                 (fma
                  amt
                  (fma
                   (* amt 0.5)
                   (fma -5.0 u2 (- (fma amt (- (fma 3.0 u2 u4) u1) (* 2.0 u1)) u4))
                   (* u1 -0.5))
                  (* u2 1.52587890625e-5))
                 t_0))))
          float code(float u2, float u3, float u1, float amt, float u4) {
          	float t_0 = fmaf(amt, (0.5f * (u3 + (amt * fmaf(-5.0f, u2, (fmaf(amt, fmaf(3.0f, (u2 - u3), u4), (u3 * 4.0f)) - u4))))), (u2 * 1.52587890625e-5f));
          	float tmp;
          	if (u3 <= -2.0f) {
          		tmp = t_0;
          	} else if (u3 <= 40000.0f) {
          		tmp = fmaf(amt, fmaf((amt * 0.5f), fmaf(-5.0f, u2, (fmaf(amt, (fmaf(3.0f, u2, u4) - u1), (2.0f * u1)) - u4)), (u1 * -0.5f)), (u2 * 1.52587890625e-5f));
          	} else {
          		tmp = t_0;
          	}
          	return tmp;
          }
          
          function code(u2, u3, u1, amt, u4)
          	t_0 = fma(amt, Float32(Float32(0.5) * Float32(u3 + Float32(amt * fma(Float32(-5.0), u2, Float32(fma(amt, fma(Float32(3.0), Float32(u2 - u3), u4), Float32(u3 * Float32(4.0))) - u4))))), Float32(u2 * Float32(1.52587890625e-5)))
          	tmp = Float32(0.0)
          	if (u3 <= Float32(-2.0))
          		tmp = t_0;
          	elseif (u3 <= Float32(40000.0))
          		tmp = fma(amt, fma(Float32(amt * Float32(0.5)), fma(Float32(-5.0), u2, Float32(fma(amt, Float32(fma(Float32(3.0), u2, u4) - u1), Float32(Float32(2.0) * u1)) - u4)), Float32(u1 * Float32(-0.5))), Float32(u2 * Float32(1.52587890625e-5)));
          	else
          		tmp = t_0;
          	end
          	return tmp
          end
          
          \begin{array}{l}
          
          \\
          \begin{array}{l}
          t_0 := \mathsf{fma}\left(amt, 0.5 \cdot \left(u3 + amt \cdot \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right), u3 \cdot 4\right) - u4\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\
          \mathbf{if}\;u3 \leq -2:\\
          \;\;\;\;t_0\\
          
          \mathbf{elif}\;u3 \leq 40000:\\
          \;\;\;\;\mathsf{fma}\left(amt, \mathsf{fma}\left(amt \cdot 0.5, \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2, u4\right) - u1, 2 \cdot u1\right) - u4\right), u1 \cdot -0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\
          
          \mathbf{else}:\\
          \;\;\;\;t_0\\
          
          
          \end{array}
          \end{array}
          
          Derivation
          1. Split input into 2 regimes
          2. if u3 < -2 or 4e4 < u3

            1. Initial program 71.8%

              \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
            2. Add Preprocessing
            3. Taylor expanded in amt around 0

              \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
            4. Step-by-step derivation
              1. +-commutativeN/A

                \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
              2. lower-fma.f32N/A

                \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
            5. Applied rewrites95.6%

              \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
            6. Taylor expanded in u1 around 0

              \[\leadsto \mathsf{fma}\left(amt, \frac{1}{2} \cdot u3 + \color{blue}{\frac{1}{2} \cdot \left(amt \cdot \left(\left(-5 \cdot u2 + \left(4 \cdot u3 + amt \cdot \left(u4 + 3 \cdot \left(u2 - u3\right)\right)\right)\right) - u4\right)\right)}, u2 \cdot \frac{1}{65536}\right) \]
            7. Step-by-step derivation
              1. Applied rewrites86.4%

                \[\leadsto \mathsf{fma}\left(amt, 0.5 \cdot \color{blue}{\left(u3 + amt \cdot \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right), 4 \cdot u3\right) - u4\right)\right)}, u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]

              if -2 < u3 < 4e4

              1. Initial program 78.3%

                \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
              2. Add Preprocessing
              3. Taylor expanded in amt around 0

                \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
              4. Step-by-step derivation
                1. +-commutativeN/A

                  \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                2. lower-fma.f32N/A

                  \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
              5. Applied rewrites94.4%

                \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
              6. Taylor expanded in u3 around 0

                \[\leadsto \mathsf{fma}\left(amt, \frac{-1}{2} \cdot u1 + \color{blue}{\frac{1}{2} \cdot \left(amt \cdot \left(\left(-5 \cdot u2 + \left(2 \cdot u1 + amt \cdot \left(\left(u4 + 3 \cdot u2\right) - u1\right)\right)\right) - u4\right)\right)}, u2 \cdot \frac{1}{65536}\right) \]
              7. Step-by-step derivation
                1. Applied rewrites91.7%

                  \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(0.5 \cdot amt, \color{blue}{\mathsf{fma}\left(-5, u2, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2, u4\right) - u1, 2 \cdot u1\right) - u4\right)}, -0.5 \cdot u1\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]
              8. Recombined 2 regimes into one program.
              9. Final simplification89.5%

                \[\leadsto \begin{array}{l} \mathbf{if}\;u3 \leq -2:\\ \;\;\;\;\mathsf{fma}\left(amt, 0.5 \cdot \left(u3 + amt \cdot \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right), u3 \cdot 4\right) - u4\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{elif}\;u3 \leq 40000:\\ \;\;\;\;\mathsf{fma}\left(amt, \mathsf{fma}\left(amt \cdot 0.5, \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2, u4\right) - u1, 2 \cdot u1\right) - u4\right), u1 \cdot -0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(amt, 0.5 \cdot \left(u3 + amt \cdot \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right), u3 \cdot 4\right) - u4\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \end{array} \]
              10. Add Preprocessing

              Alternative 6: 94.3% accurate, 4.3× speedup?

              \[\begin{array}{l} \\ \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(u1, 2 - amt, \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right), u3 \cdot 4\right) - u4\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \end{array} \]
              (FPCore (u2 u3 u1 amt u4)
               :precision binary32
               (fma
                amt
                (fma
                 amt
                 (*
                  0.5
                  (fma
                   u1
                   (- 2.0 amt)
                   (fma -5.0 u2 (- (fma amt (fma 3.0 (- u2 u3) u4) (* u3 4.0)) u4))))
                 (* 0.5 (- u3 u1)))
                (* u2 1.52587890625e-5)))
              float code(float u2, float u3, float u1, float amt, float u4) {
              	return fmaf(amt, fmaf(amt, (0.5f * fmaf(u1, (2.0f - amt), fmaf(-5.0f, u2, (fmaf(amt, fmaf(3.0f, (u2 - u3), u4), (u3 * 4.0f)) - u4)))), (0.5f * (u3 - u1))), (u2 * 1.52587890625e-5f));
              }
              
              function code(u2, u3, u1, amt, u4)
              	return fma(amt, fma(amt, Float32(Float32(0.5) * fma(u1, Float32(Float32(2.0) - amt), fma(Float32(-5.0), u2, Float32(fma(amt, fma(Float32(3.0), Float32(u2 - u3), u4), Float32(u3 * Float32(4.0))) - u4)))), Float32(Float32(0.5) * Float32(u3 - u1))), Float32(u2 * Float32(1.52587890625e-5)))
              end
              
              \begin{array}{l}
              
              \\
              \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(u1, 2 - amt, \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right), u3 \cdot 4\right) - u4\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)
              \end{array}
              
              Derivation
              1. Initial program 75.5%

                \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
              2. Add Preprocessing
              3. Taylor expanded in amt around 0

                \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
              4. Step-by-step derivation
                1. +-commutativeN/A

                  \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                2. lower-fma.f32N/A

                  \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
              5. Applied rewrites94.9%

                \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
              6. Taylor expanded in u1 around 0

                \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u1 \cdot \left(2 + -1 \cdot amt\right)\right) + \color{blue}{\frac{1}{2} \cdot \left(\left(-5 \cdot u2 + \left(4 \cdot u3 + amt \cdot \left(u4 + 3 \cdot \left(u2 - u3\right)\right)\right)\right) - u4\right)}, \left(u3 - u1\right) \cdot \frac{1}{2}\right), u2 \cdot \frac{1}{65536}\right) \]
              7. Step-by-step derivation
                1. Applied rewrites95.0%

                  \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \color{blue}{\mathsf{fma}\left(u1, 2 - amt, \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right), 4 \cdot u3\right) - u4\right)\right)}, \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]
                2. Final simplification95.0%

                  \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(u1, 2 - amt, \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right), u3 \cdot 4\right) - u4\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]
                3. Add Preprocessing

                Alternative 7: 85.1% accurate, 4.5× speedup?

                \[\begin{array}{l} \\ \begin{array}{l} t_0 := \mathsf{fma}\left(amt, 0.5 \cdot \left(u3 + amt \cdot \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right), u3 \cdot 4\right) - u4\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{if}\;u2 \leq -5000:\\ \;\;\;\;t_0\\ \mathbf{elif}\;u2 \leq 199999996861349900:\\ \;\;\;\;amt \cdot \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, u4 - \mathsf{fma}\left(3, u3, u1\right), \mathsf{fma}\left(2, u1, \mathsf{fma}\left(4, u3, -u4\right)\right)\right), 0.5 \cdot \left(u3 - u1\right)\right)\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \end{array} \]
                (FPCore (u2 u3 u1 amt u4)
                 :precision binary32
                 (let* ((t_0
                         (fma
                          amt
                          (*
                           0.5
                           (+
                            u3
                            (*
                             amt
                             (fma
                              -5.0
                              u2
                              (- (fma amt (fma 3.0 (- u2 u3) u4) (* u3 4.0)) u4)))))
                          (* u2 1.52587890625e-5))))
                   (if (<= u2 -5000.0)
                     t_0
                     (if (<= u2 199999996861349900.0)
                       (*
                        amt
                        (fma
                         amt
                         (*
                          0.5
                          (fma amt (- u4 (fma 3.0 u3 u1)) (fma 2.0 u1 (fma 4.0 u3 (- u4)))))
                         (* 0.5 (- u3 u1))))
                       t_0))))
                float code(float u2, float u3, float u1, float amt, float u4) {
                	float t_0 = fmaf(amt, (0.5f * (u3 + (amt * fmaf(-5.0f, u2, (fmaf(amt, fmaf(3.0f, (u2 - u3), u4), (u3 * 4.0f)) - u4))))), (u2 * 1.52587890625e-5f));
                	float tmp;
                	if (u2 <= -5000.0f) {
                		tmp = t_0;
                	} else if (u2 <= 199999996861349900.0f) {
                		tmp = amt * fmaf(amt, (0.5f * fmaf(amt, (u4 - fmaf(3.0f, u3, u1)), fmaf(2.0f, u1, fmaf(4.0f, u3, -u4)))), (0.5f * (u3 - u1)));
                	} else {
                		tmp = t_0;
                	}
                	return tmp;
                }
                
                function code(u2, u3, u1, amt, u4)
                	t_0 = fma(amt, Float32(Float32(0.5) * Float32(u3 + Float32(amt * fma(Float32(-5.0), u2, Float32(fma(amt, fma(Float32(3.0), Float32(u2 - u3), u4), Float32(u3 * Float32(4.0))) - u4))))), Float32(u2 * Float32(1.52587890625e-5)))
                	tmp = Float32(0.0)
                	if (u2 <= Float32(-5000.0))
                		tmp = t_0;
                	elseif (u2 <= Float32(199999996861349900.0))
                		tmp = Float32(amt * fma(amt, Float32(Float32(0.5) * fma(amt, Float32(u4 - fma(Float32(3.0), u3, u1)), fma(Float32(2.0), u1, fma(Float32(4.0), u3, Float32(-u4))))), Float32(Float32(0.5) * Float32(u3 - u1))));
                	else
                		tmp = t_0;
                	end
                	return tmp
                end
                
                \begin{array}{l}
                
                \\
                \begin{array}{l}
                t_0 := \mathsf{fma}\left(amt, 0.5 \cdot \left(u3 + amt \cdot \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right), u3 \cdot 4\right) - u4\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\
                \mathbf{if}\;u2 \leq -5000:\\
                \;\;\;\;t_0\\
                
                \mathbf{elif}\;u2 \leq 199999996861349900:\\
                \;\;\;\;amt \cdot \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, u4 - \mathsf{fma}\left(3, u3, u1\right), \mathsf{fma}\left(2, u1, \mathsf{fma}\left(4, u3, -u4\right)\right)\right), 0.5 \cdot \left(u3 - u1\right)\right)\\
                
                \mathbf{else}:\\
                \;\;\;\;t_0\\
                
                
                \end{array}
                \end{array}
                
                Derivation
                1. Split input into 2 regimes
                2. if u2 < -5e3 or 1.99999997e17 < u2

                  1. Initial program 65.1%

                    \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                  2. Add Preprocessing
                  3. Taylor expanded in amt around 0

                    \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                  4. Step-by-step derivation
                    1. +-commutativeN/A

                      \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                    2. lower-fma.f32N/A

                      \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                  5. Applied rewrites92.7%

                    \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                  6. Taylor expanded in u1 around 0

                    \[\leadsto \mathsf{fma}\left(amt, \frac{1}{2} \cdot u3 + \color{blue}{\frac{1}{2} \cdot \left(amt \cdot \left(\left(-5 \cdot u2 + \left(4 \cdot u3 + amt \cdot \left(u4 + 3 \cdot \left(u2 - u3\right)\right)\right)\right) - u4\right)\right)}, u2 \cdot \frac{1}{65536}\right) \]
                  7. Step-by-step derivation
                    1. Applied rewrites83.8%

                      \[\leadsto \mathsf{fma}\left(amt, 0.5 \cdot \color{blue}{\left(u3 + amt \cdot \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right), 4 \cdot u3\right) - u4\right)\right)}, u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]

                    if -5e3 < u2 < 1.99999997e17

                    1. Initial program 81.3%

                      \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                    2. Add Preprocessing
                    3. Taylor expanded in u2 around 0

                      \[\leadsto \color{blue}{\frac{1}{131072} \cdot \left(65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right) + \left(65536 \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right)\right) + 65536 \cdot \left({amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right)\right)\right)} \]
                    4. Step-by-step derivation
                      1. +-commutativeN/A

                        \[\leadsto \frac{1}{131072} \cdot \color{blue}{\left(\left(65536 \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right)\right) + 65536 \cdot \left({amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right)\right) + 65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right)\right)} \]
                      2. distribute-lft-inN/A

                        \[\leadsto \color{blue}{\frac{1}{131072} \cdot \left(65536 \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right)\right) + 65536 \cdot \left({amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right)\right) + \frac{1}{131072} \cdot \left(65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right)\right)} \]
                      3. distribute-lft-outN/A

                        \[\leadsto \frac{1}{131072} \cdot \color{blue}{\left(65536 \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right)\right)} + \frac{1}{131072} \cdot \left(65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right)\right) \]
                      4. associate-*r*N/A

                        \[\leadsto \color{blue}{\left(\frac{1}{131072} \cdot 65536\right) \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right)} + \frac{1}{131072} \cdot \left(65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right)\right) \]
                      5. metadata-evalN/A

                        \[\leadsto \color{blue}{\frac{1}{2}} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{131072} \cdot \left(65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right)\right) \]
                      6. associate-*r*N/A

                        \[\leadsto \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \color{blue}{\left(\frac{1}{131072} \cdot 65536\right) \cdot \left(amt \cdot \left(u3 - u1\right)\right)} \]
                      7. metadata-evalN/A

                        \[\leadsto \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \color{blue}{\frac{1}{2}} \cdot \left(amt \cdot \left(u3 - u1\right)\right) \]
                      8. *-commutativeN/A

                        \[\leadsto \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \color{blue}{\left(amt \cdot \left(u3 - u1\right)\right) \cdot \frac{1}{2}} \]
                      9. associate-*r*N/A

                        \[\leadsto \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \color{blue}{amt \cdot \left(\left(u3 - u1\right) \cdot \frac{1}{2}\right)} \]
                      10. *-commutativeN/A

                        \[\leadsto \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + amt \cdot \color{blue}{\left(\frac{1}{2} \cdot \left(u3 - u1\right)\right)} \]
                    5. Applied rewrites87.3%

                      \[\leadsto \color{blue}{\mathsf{fma}\left(0.5, \mathsf{fma}\left(amt \cdot \left(amt \cdot amt\right), u4 - \mathsf{fma}\left(3, u3, u1\right), amt \cdot \left(amt \cdot \mathsf{fma}\left(2, u1, u3 \cdot 4 - u4\right)\right)\right), \left(amt \cdot \left(u3 - u1\right)\right) \cdot 0.5\right)} \]
                    6. Taylor expanded in amt around 0

                      \[\leadsto amt \cdot \color{blue}{\left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right)\right)\right)} \]
                    7. Step-by-step derivation
                      1. Applied rewrites89.2%

                        \[\leadsto amt \cdot \color{blue}{\mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, u4 - \mathsf{fma}\left(3, u3, u1\right), \mathsf{fma}\left(2, u1, \mathsf{fma}\left(4, u3, -u4\right)\right)\right), 0.5 \cdot \left(u3 - u1\right)\right)} \]
                    8. Recombined 2 regimes into one program.
                    9. Final simplification87.3%

                      \[\leadsto \begin{array}{l} \mathbf{if}\;u2 \leq -5000:\\ \;\;\;\;\mathsf{fma}\left(amt, 0.5 \cdot \left(u3 + amt \cdot \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right), u3 \cdot 4\right) - u4\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{elif}\;u2 \leq 199999996861349900:\\ \;\;\;\;amt \cdot \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, u4 - \mathsf{fma}\left(3, u3, u1\right), \mathsf{fma}\left(2, u1, \mathsf{fma}\left(4, u3, -u4\right)\right)\right), 0.5 \cdot \left(u3 - u1\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(amt, 0.5 \cdot \left(u3 + amt \cdot \mathsf{fma}\left(-5, u2, \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right), u3 \cdot 4\right) - u4\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \end{array} \]
                    10. Add Preprocessing

                    Alternative 8: 79.8% accurate, 4.5× speedup?

                    \[\begin{array}{l} \\ \begin{array}{l} t_0 := 0.5 \cdot \left(u3 - u1\right)\\ \mathbf{if}\;u2 \leq -2.0000000276968557 \cdot 10^{+24}:\\ \;\;\;\;u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{elif}\;u2 \leq 18000000404716257000:\\ \;\;\;\;amt \cdot \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, u4 - \mathsf{fma}\left(3, u3, u1\right), \mathsf{fma}\left(2, u1, \mathsf{fma}\left(4, u3, -u4\right)\right)\right), t_0\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u2 \cdot \mathsf{fma}\left(3, amt, -5\right)\right), t_0\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \end{array} \end{array} \]
                    (FPCore (u2 u3 u1 amt u4)
                     :precision binary32
                     (let* ((t_0 (* 0.5 (- u3 u1))))
                       (if (<= u2 -2.0000000276968557e+24)
                         (* u2 (fma (* 0.5 (* amt amt)) (fma 3.0 amt -5.0) 1.52587890625e-5))
                         (if (<= u2 18000000404716257000.0)
                           (*
                            amt
                            (fma
                             amt
                             (*
                              0.5
                              (fma amt (- u4 (fma 3.0 u3 u1)) (fma 2.0 u1 (fma 4.0 u3 (- u4)))))
                             t_0))
                           (fma
                            amt
                            (fma amt (* 0.5 (* u2 (fma 3.0 amt -5.0))) t_0)
                            (* u2 1.52587890625e-5))))))
                    float code(float u2, float u3, float u1, float amt, float u4) {
                    	float t_0 = 0.5f * (u3 - u1);
                    	float tmp;
                    	if (u2 <= -2.0000000276968557e+24f) {
                    		tmp = u2 * fmaf((0.5f * (amt * amt)), fmaf(3.0f, amt, -5.0f), 1.52587890625e-5f);
                    	} else if (u2 <= 18000000404716257000.0f) {
                    		tmp = amt * fmaf(amt, (0.5f * fmaf(amt, (u4 - fmaf(3.0f, u3, u1)), fmaf(2.0f, u1, fmaf(4.0f, u3, -u4)))), t_0);
                    	} else {
                    		tmp = fmaf(amt, fmaf(amt, (0.5f * (u2 * fmaf(3.0f, amt, -5.0f))), t_0), (u2 * 1.52587890625e-5f));
                    	}
                    	return tmp;
                    }
                    
                    function code(u2, u3, u1, amt, u4)
                    	t_0 = Float32(Float32(0.5) * Float32(u3 - u1))
                    	tmp = Float32(0.0)
                    	if (u2 <= Float32(-2.0000000276968557e+24))
                    		tmp = Float32(u2 * fma(Float32(Float32(0.5) * Float32(amt * amt)), fma(Float32(3.0), amt, Float32(-5.0)), Float32(1.52587890625e-5)));
                    	elseif (u2 <= Float32(18000000404716257000.0))
                    		tmp = Float32(amt * fma(amt, Float32(Float32(0.5) * fma(amt, Float32(u4 - fma(Float32(3.0), u3, u1)), fma(Float32(2.0), u1, fma(Float32(4.0), u3, Float32(-u4))))), t_0));
                    	else
                    		tmp = fma(amt, fma(amt, Float32(Float32(0.5) * Float32(u2 * fma(Float32(3.0), amt, Float32(-5.0)))), t_0), Float32(u2 * Float32(1.52587890625e-5)));
                    	end
                    	return tmp
                    end
                    
                    \begin{array}{l}
                    
                    \\
                    \begin{array}{l}
                    t_0 := 0.5 \cdot \left(u3 - u1\right)\\
                    \mathbf{if}\;u2 \leq -2.0000000276968557 \cdot 10^{+24}:\\
                    \;\;\;\;u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\
                    
                    \mathbf{elif}\;u2 \leq 18000000404716257000:\\
                    \;\;\;\;amt \cdot \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, u4 - \mathsf{fma}\left(3, u3, u1\right), \mathsf{fma}\left(2, u1, \mathsf{fma}\left(4, u3, -u4\right)\right)\right), t_0\right)\\
                    
                    \mathbf{else}:\\
                    \;\;\;\;\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u2 \cdot \mathsf{fma}\left(3, amt, -5\right)\right), t_0\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\
                    
                    
                    \end{array}
                    \end{array}
                    
                    Derivation
                    1. Split input into 3 regimes
                    2. if u2 < -2.00000003e24

                      1. Initial program 42.0%

                        \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                      2. Add Preprocessing
                      3. Taylor expanded in amt around 0

                        \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                      4. Step-by-step derivation
                        1. +-commutativeN/A

                          \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                        2. lower-fma.f32N/A

                          \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                      5. Applied rewrites86.9%

                        \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                      6. Taylor expanded in u2 around inf

                        \[\leadsto u2 \cdot \color{blue}{\left(\frac{1}{65536} + \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(3 \cdot amt - 5\right)\right)\right)} \]
                      7. Step-by-step derivation
                        1. Applied rewrites78.3%

                          \[\leadsto u2 \cdot \color{blue}{\mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)} \]

                        if -2.00000003e24 < u2 < 1.80000004e19

                        1. Initial program 80.2%

                          \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                        2. Add Preprocessing
                        3. Taylor expanded in u2 around 0

                          \[\leadsto \color{blue}{\frac{1}{131072} \cdot \left(65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right) + \left(65536 \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right)\right) + 65536 \cdot \left({amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right)\right)\right)} \]
                        4. Step-by-step derivation
                          1. +-commutativeN/A

                            \[\leadsto \frac{1}{131072} \cdot \color{blue}{\left(\left(65536 \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right)\right) + 65536 \cdot \left({amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right)\right) + 65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right)\right)} \]
                          2. distribute-lft-inN/A

                            \[\leadsto \color{blue}{\frac{1}{131072} \cdot \left(65536 \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right)\right) + 65536 \cdot \left({amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right)\right) + \frac{1}{131072} \cdot \left(65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right)\right)} \]
                          3. distribute-lft-outN/A

                            \[\leadsto \frac{1}{131072} \cdot \color{blue}{\left(65536 \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right)\right)} + \frac{1}{131072} \cdot \left(65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right)\right) \]
                          4. associate-*r*N/A

                            \[\leadsto \color{blue}{\left(\frac{1}{131072} \cdot 65536\right) \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right)} + \frac{1}{131072} \cdot \left(65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right)\right) \]
                          5. metadata-evalN/A

                            \[\leadsto \color{blue}{\frac{1}{2}} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{131072} \cdot \left(65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right)\right) \]
                          6. associate-*r*N/A

                            \[\leadsto \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \color{blue}{\left(\frac{1}{131072} \cdot 65536\right) \cdot \left(amt \cdot \left(u3 - u1\right)\right)} \]
                          7. metadata-evalN/A

                            \[\leadsto \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \color{blue}{\frac{1}{2}} \cdot \left(amt \cdot \left(u3 - u1\right)\right) \]
                          8. *-commutativeN/A

                            \[\leadsto \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \color{blue}{\left(amt \cdot \left(u3 - u1\right)\right) \cdot \frac{1}{2}} \]
                          9. associate-*r*N/A

                            \[\leadsto \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \color{blue}{amt \cdot \left(\left(u3 - u1\right) \cdot \frac{1}{2}\right)} \]
                          10. *-commutativeN/A

                            \[\leadsto \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + amt \cdot \color{blue}{\left(\frac{1}{2} \cdot \left(u3 - u1\right)\right)} \]
                        5. Applied rewrites80.9%

                          \[\leadsto \color{blue}{\mathsf{fma}\left(0.5, \mathsf{fma}\left(amt \cdot \left(amt \cdot amt\right), u4 - \mathsf{fma}\left(3, u3, u1\right), amt \cdot \left(amt \cdot \mathsf{fma}\left(2, u1, u3 \cdot 4 - u4\right)\right)\right), \left(amt \cdot \left(u3 - u1\right)\right) \cdot 0.5\right)} \]
                        6. Taylor expanded in amt around 0

                          \[\leadsto amt \cdot \color{blue}{\left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right)\right)\right)} \]
                        7. Step-by-step derivation
                          1. Applied rewrites82.6%

                            \[\leadsto amt \cdot \color{blue}{\mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, u4 - \mathsf{fma}\left(3, u3, u1\right), \mathsf{fma}\left(2, u1, \mathsf{fma}\left(4, u3, -u4\right)\right)\right), 0.5 \cdot \left(u3 - u1\right)\right)} \]

                          if 1.80000004e19 < u2

                          1. Initial program 72.4%

                            \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                          2. Add Preprocessing
                          3. Taylor expanded in amt around 0

                            \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                          4. Step-by-step derivation
                            1. +-commutativeN/A

                              \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                            2. lower-fma.f32N/A

                              \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                          5. Applied rewrites95.5%

                            \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                          6. Taylor expanded in u2 around inf

                            \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u2 \cdot \color{blue}{\left(3 \cdot amt - 5\right)}\right), \left(u3 - u1\right) \cdot \frac{1}{2}\right), u2 \cdot \frac{1}{65536}\right) \]
                          7. Step-by-step derivation
                            1. Applied rewrites80.9%

                              \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u2 \cdot \color{blue}{\mathsf{fma}\left(3, amt, -5\right)}\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]
                          8. Recombined 3 regimes into one program.
                          9. Final simplification82.0%

                            \[\leadsto \begin{array}{l} \mathbf{if}\;u2 \leq -2.0000000276968557 \cdot 10^{+24}:\\ \;\;\;\;u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{elif}\;u2 \leq 18000000404716257000:\\ \;\;\;\;amt \cdot \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, u4 - \mathsf{fma}\left(3, u3, u1\right), \mathsf{fma}\left(2, u1, \mathsf{fma}\left(4, u3, -u4\right)\right)\right), 0.5 \cdot \left(u3 - u1\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u2 \cdot \mathsf{fma}\left(3, amt, -5\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \end{array} \]
                          10. Add Preprocessing

                          Alternative 9: 79.6% accurate, 4.9× speedup?

                          \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;u2 \leq -2.0000000276968557 \cdot 10^{+24}:\\ \;\;\;\;u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{elif}\;u2 \leq 18000000404716257000:\\ \;\;\;\;amt \cdot \left(0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(amt, \mathsf{fma}\left(-3, u3, u4\right) - u1, u3 \cdot 4\right) - u4\right), u3 - u1\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u2 \cdot \mathsf{fma}\left(3, amt, -5\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \end{array} \end{array} \]
                          (FPCore (u2 u3 u1 amt u4)
                           :precision binary32
                           (if (<= u2 -2.0000000276968557e+24)
                             (* u2 (fma (* 0.5 (* amt amt)) (fma 3.0 amt -5.0) 1.52587890625e-5))
                             (if (<= u2 18000000404716257000.0)
                               (*
                                amt
                                (*
                                 0.5
                                 (fma
                                  amt
                                  (fma 2.0 u1 (- (fma amt (- (fma -3.0 u3 u4) u1) (* u3 4.0)) u4))
                                  (- u3 u1))))
                               (fma
                                amt
                                (fma amt (* 0.5 (* u2 (fma 3.0 amt -5.0))) (* 0.5 (- u3 u1)))
                                (* u2 1.52587890625e-5)))))
                          float code(float u2, float u3, float u1, float amt, float u4) {
                          	float tmp;
                          	if (u2 <= -2.0000000276968557e+24f) {
                          		tmp = u2 * fmaf((0.5f * (amt * amt)), fmaf(3.0f, amt, -5.0f), 1.52587890625e-5f);
                          	} else if (u2 <= 18000000404716257000.0f) {
                          		tmp = amt * (0.5f * fmaf(amt, fmaf(2.0f, u1, (fmaf(amt, (fmaf(-3.0f, u3, u4) - u1), (u3 * 4.0f)) - u4)), (u3 - u1)));
                          	} else {
                          		tmp = fmaf(amt, fmaf(amt, (0.5f * (u2 * fmaf(3.0f, amt, -5.0f))), (0.5f * (u3 - u1))), (u2 * 1.52587890625e-5f));
                          	}
                          	return tmp;
                          }
                          
                          function code(u2, u3, u1, amt, u4)
                          	tmp = Float32(0.0)
                          	if (u2 <= Float32(-2.0000000276968557e+24))
                          		tmp = Float32(u2 * fma(Float32(Float32(0.5) * Float32(amt * amt)), fma(Float32(3.0), amt, Float32(-5.0)), Float32(1.52587890625e-5)));
                          	elseif (u2 <= Float32(18000000404716257000.0))
                          		tmp = Float32(amt * Float32(Float32(0.5) * fma(amt, fma(Float32(2.0), u1, Float32(fma(amt, Float32(fma(Float32(-3.0), u3, u4) - u1), Float32(u3 * Float32(4.0))) - u4)), Float32(u3 - u1))));
                          	else
                          		tmp = fma(amt, fma(amt, Float32(Float32(0.5) * Float32(u2 * fma(Float32(3.0), amt, Float32(-5.0)))), Float32(Float32(0.5) * Float32(u3 - u1))), Float32(u2 * Float32(1.52587890625e-5)));
                          	end
                          	return tmp
                          end
                          
                          \begin{array}{l}
                          
                          \\
                          \begin{array}{l}
                          \mathbf{if}\;u2 \leq -2.0000000276968557 \cdot 10^{+24}:\\
                          \;\;\;\;u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\
                          
                          \mathbf{elif}\;u2 \leq 18000000404716257000:\\
                          \;\;\;\;amt \cdot \left(0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(amt, \mathsf{fma}\left(-3, u3, u4\right) - u1, u3 \cdot 4\right) - u4\right), u3 - u1\right)\right)\\
                          
                          \mathbf{else}:\\
                          \;\;\;\;\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u2 \cdot \mathsf{fma}\left(3, amt, -5\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\
                          
                          
                          \end{array}
                          \end{array}
                          
                          Derivation
                          1. Split input into 3 regimes
                          2. if u2 < -2.00000003e24

                            1. Initial program 42.0%

                              \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                            2. Add Preprocessing
                            3. Taylor expanded in amt around 0

                              \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                            4. Step-by-step derivation
                              1. +-commutativeN/A

                                \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                              2. lower-fma.f32N/A

                                \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                            5. Applied rewrites86.9%

                              \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                            6. Taylor expanded in u2 around inf

                              \[\leadsto u2 \cdot \color{blue}{\left(\frac{1}{65536} + \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(3 \cdot amt - 5\right)\right)\right)} \]
                            7. Step-by-step derivation
                              1. Applied rewrites78.3%

                                \[\leadsto u2 \cdot \color{blue}{\mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)} \]

                              if -2.00000003e24 < u2 < 1.80000004e19

                              1. Initial program 80.2%

                                \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                              2. Add Preprocessing
                              3. Taylor expanded in amt around 0

                                \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                              4. Step-by-step derivation
                                1. +-commutativeN/A

                                  \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                2. lower-fma.f32N/A

                                  \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                              5. Applied rewrites95.9%

                                \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                              6. Taylor expanded in u2 around 0

                                \[\leadsto amt \cdot \color{blue}{\left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(2 \cdot u1 + \left(4 \cdot u3 + amt \cdot \left(\left(u4 + -3 \cdot u3\right) - u1\right)\right)\right) - u4\right)\right) + \frac{1}{2} \cdot \left(u3 - u1\right)\right)} \]
                              7. Step-by-step derivation
                                1. Applied rewrites82.0%

                                  \[\leadsto amt \cdot \color{blue}{\left(0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(amt, \mathsf{fma}\left(-3, u3, u4\right) - u1, 4 \cdot u3\right) - u4\right), u3 - u1\right)\right)} \]

                                if 1.80000004e19 < u2

                                1. Initial program 72.4%

                                  \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                2. Add Preprocessing
                                3. Taylor expanded in amt around 0

                                  \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                4. Step-by-step derivation
                                  1. +-commutativeN/A

                                    \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                  2. lower-fma.f32N/A

                                    \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                5. Applied rewrites95.5%

                                  \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                6. Taylor expanded in u2 around inf

                                  \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u2 \cdot \color{blue}{\left(3 \cdot amt - 5\right)}\right), \left(u3 - u1\right) \cdot \frac{1}{2}\right), u2 \cdot \frac{1}{65536}\right) \]
                                7. Step-by-step derivation
                                  1. Applied rewrites80.9%

                                    \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u2 \cdot \color{blue}{\mathsf{fma}\left(3, amt, -5\right)}\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]
                                8. Recombined 3 regimes into one program.
                                9. Final simplification81.5%

                                  \[\leadsto \begin{array}{l} \mathbf{if}\;u2 \leq -2.0000000276968557 \cdot 10^{+24}:\\ \;\;\;\;u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{elif}\;u2 \leq 18000000404716257000:\\ \;\;\;\;amt \cdot \left(0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(amt, \mathsf{fma}\left(-3, u3, u4\right) - u1, u3 \cdot 4\right) - u4\right), u3 - u1\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u2 \cdot \mathsf{fma}\left(3, amt, -5\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \end{array} \]
                                10. Add Preprocessing

                                Alternative 10: 47.5% accurate, 5.5× speedup?

                                \[\begin{array}{l} \\ \begin{array}{l} t_0 := 0.5 \cdot \left(u3 - u1\right)\\ t_1 := \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u2 \cdot \mathsf{fma}\left(3, amt, -5\right)\right), t_0\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{if}\;u2 \leq -1370:\\ \;\;\;\;t_1\\ \mathbf{elif}\;u2 \leq 2000000:\\ \;\;\;\;\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u4 \cdot \left(amt + -1\right)\right), t_0\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \end{array} \]
                                (FPCore (u2 u3 u1 amt u4)
                                 :precision binary32
                                 (let* ((t_0 (* 0.5 (- u3 u1)))
                                        (t_1
                                         (fma
                                          amt
                                          (fma amt (* 0.5 (* u2 (fma 3.0 amt -5.0))) t_0)
                                          (* u2 1.52587890625e-5))))
                                   (if (<= u2 -1370.0)
                                     t_1
                                     (if (<= u2 2000000.0)
                                       (fma
                                        amt
                                        (fma amt (* 0.5 (* u4 (+ amt -1.0))) t_0)
                                        (* u2 1.52587890625e-5))
                                       t_1))))
                                float code(float u2, float u3, float u1, float amt, float u4) {
                                	float t_0 = 0.5f * (u3 - u1);
                                	float t_1 = fmaf(amt, fmaf(amt, (0.5f * (u2 * fmaf(3.0f, amt, -5.0f))), t_0), (u2 * 1.52587890625e-5f));
                                	float tmp;
                                	if (u2 <= -1370.0f) {
                                		tmp = t_1;
                                	} else if (u2 <= 2000000.0f) {
                                		tmp = fmaf(amt, fmaf(amt, (0.5f * (u4 * (amt + -1.0f))), t_0), (u2 * 1.52587890625e-5f));
                                	} else {
                                		tmp = t_1;
                                	}
                                	return tmp;
                                }
                                
                                function code(u2, u3, u1, amt, u4)
                                	t_0 = Float32(Float32(0.5) * Float32(u3 - u1))
                                	t_1 = fma(amt, fma(amt, Float32(Float32(0.5) * Float32(u2 * fma(Float32(3.0), amt, Float32(-5.0)))), t_0), Float32(u2 * Float32(1.52587890625e-5)))
                                	tmp = Float32(0.0)
                                	if (u2 <= Float32(-1370.0))
                                		tmp = t_1;
                                	elseif (u2 <= Float32(2000000.0))
                                		tmp = fma(amt, fma(amt, Float32(Float32(0.5) * Float32(u4 * Float32(amt + Float32(-1.0)))), t_0), Float32(u2 * Float32(1.52587890625e-5)));
                                	else
                                		tmp = t_1;
                                	end
                                	return tmp
                                end
                                
                                \begin{array}{l}
                                
                                \\
                                \begin{array}{l}
                                t_0 := 0.5 \cdot \left(u3 - u1\right)\\
                                t_1 := \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u2 \cdot \mathsf{fma}\left(3, amt, -5\right)\right), t_0\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\
                                \mathbf{if}\;u2 \leq -1370:\\
                                \;\;\;\;t_1\\
                                
                                \mathbf{elif}\;u2 \leq 2000000:\\
                                \;\;\;\;\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u4 \cdot \left(amt + -1\right)\right), t_0\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\
                                
                                \mathbf{else}:\\
                                \;\;\;\;t_1\\
                                
                                
                                \end{array}
                                \end{array}
                                
                                Derivation
                                1. Split input into 2 regimes
                                2. if u2 < -1370 or 2e6 < u2

                                  1. Initial program 65.6%

                                    \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                  2. Add Preprocessing
                                  3. Taylor expanded in amt around 0

                                    \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                  4. Step-by-step derivation
                                    1. +-commutativeN/A

                                      \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                    2. lower-fma.f32N/A

                                      \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                  5. Applied rewrites92.9%

                                    \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                  6. Taylor expanded in u2 around inf

                                    \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u2 \cdot \color{blue}{\left(3 \cdot amt - 5\right)}\right), \left(u3 - u1\right) \cdot \frac{1}{2}\right), u2 \cdot \frac{1}{65536}\right) \]
                                  7. Step-by-step derivation
                                    1. Applied rewrites57.2%

                                      \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u2 \cdot \color{blue}{\mathsf{fma}\left(3, amt, -5\right)}\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]

                                    if -1370 < u2 < 2e6

                                    1. Initial program 82.9%

                                      \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                    2. Add Preprocessing
                                    3. Taylor expanded in amt around 0

                                      \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                    4. Step-by-step derivation
                                      1. +-commutativeN/A

                                        \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                      2. lower-fma.f32N/A

                                        \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                    5. Applied rewrites96.4%

                                      \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                    6. Taylor expanded in u4 around inf

                                      \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u4 \cdot \color{blue}{\left(amt - 1\right)}\right), \left(u3 - u1\right) \cdot \frac{1}{2}\right), u2 \cdot \frac{1}{65536}\right) \]
                                    7. Step-by-step derivation
                                      1. Applied rewrites47.9%

                                        \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u4 \cdot \color{blue}{\left(amt + -1\right)}\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]
                                    8. Recombined 2 regimes into one program.
                                    9. Final simplification51.9%

                                      \[\leadsto \begin{array}{l} \mathbf{if}\;u2 \leq -1370:\\ \;\;\;\;\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u2 \cdot \mathsf{fma}\left(3, amt, -5\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{elif}\;u2 \leq 2000000:\\ \;\;\;\;\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u4 \cdot \left(amt + -1\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u2 \cdot \mathsf{fma}\left(3, amt, -5\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \end{array} \]
                                    10. Add Preprocessing

                                    Alternative 11: 40.3% accurate, 5.8× speedup?

                                    \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;u2 \leq -5000000:\\ \;\;\;\;u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{elif}\;u2 \leq -1.0000000272452012 \cdot 10^{-27}:\\ \;\;\;\;\left(u3 \cdot amt\right) \cdot \mathsf{fma}\left(amt \cdot 0.5, \mathsf{fma}\left(-3, amt, 4\right), 0.5\right)\\ \mathbf{elif}\;u2 \leq 5000000:\\ \;\;\;\;\mathsf{fma}\left(amt, 0.5 \cdot \left(\left(amt + -1\right) \cdot \left(amt \cdot u4\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(amt, \left(amt \cdot 0.5\right) \cdot \left(u2 \cdot \mathsf{fma}\left(3, amt, -5\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \end{array} \end{array} \]
                                    (FPCore (u2 u3 u1 amt u4)
                                     :precision binary32
                                     (if (<= u2 -5000000.0)
                                       (* u2 (fma (* 0.5 (* amt amt)) (fma 3.0 amt -5.0) 1.52587890625e-5))
                                       (if (<= u2 -1.0000000272452012e-27)
                                         (* (* u3 amt) (fma (* amt 0.5) (fma -3.0 amt 4.0) 0.5))
                                         (if (<= u2 5000000.0)
                                           (fma amt (* 0.5 (* (+ amt -1.0) (* amt u4))) (* u2 1.52587890625e-5))
                                           (fma
                                            amt
                                            (* (* amt 0.5) (* u2 (fma 3.0 amt -5.0)))
                                            (* u2 1.52587890625e-5))))))
                                    float code(float u2, float u3, float u1, float amt, float u4) {
                                    	float tmp;
                                    	if (u2 <= -5000000.0f) {
                                    		tmp = u2 * fmaf((0.5f * (amt * amt)), fmaf(3.0f, amt, -5.0f), 1.52587890625e-5f);
                                    	} else if (u2 <= -1.0000000272452012e-27f) {
                                    		tmp = (u3 * amt) * fmaf((amt * 0.5f), fmaf(-3.0f, amt, 4.0f), 0.5f);
                                    	} else if (u2 <= 5000000.0f) {
                                    		tmp = fmaf(amt, (0.5f * ((amt + -1.0f) * (amt * u4))), (u2 * 1.52587890625e-5f));
                                    	} else {
                                    		tmp = fmaf(amt, ((amt * 0.5f) * (u2 * fmaf(3.0f, amt, -5.0f))), (u2 * 1.52587890625e-5f));
                                    	}
                                    	return tmp;
                                    }
                                    
                                    function code(u2, u3, u1, amt, u4)
                                    	tmp = Float32(0.0)
                                    	if (u2 <= Float32(-5000000.0))
                                    		tmp = Float32(u2 * fma(Float32(Float32(0.5) * Float32(amt * amt)), fma(Float32(3.0), amt, Float32(-5.0)), Float32(1.52587890625e-5)));
                                    	elseif (u2 <= Float32(-1.0000000272452012e-27))
                                    		tmp = Float32(Float32(u3 * amt) * fma(Float32(amt * Float32(0.5)), fma(Float32(-3.0), amt, Float32(4.0)), Float32(0.5)));
                                    	elseif (u2 <= Float32(5000000.0))
                                    		tmp = fma(amt, Float32(Float32(0.5) * Float32(Float32(amt + Float32(-1.0)) * Float32(amt * u4))), Float32(u2 * Float32(1.52587890625e-5)));
                                    	else
                                    		tmp = fma(amt, Float32(Float32(amt * Float32(0.5)) * Float32(u2 * fma(Float32(3.0), amt, Float32(-5.0)))), Float32(u2 * Float32(1.52587890625e-5)));
                                    	end
                                    	return tmp
                                    end
                                    
                                    \begin{array}{l}
                                    
                                    \\
                                    \begin{array}{l}
                                    \mathbf{if}\;u2 \leq -5000000:\\
                                    \;\;\;\;u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\
                                    
                                    \mathbf{elif}\;u2 \leq -1.0000000272452012 \cdot 10^{-27}:\\
                                    \;\;\;\;\left(u3 \cdot amt\right) \cdot \mathsf{fma}\left(amt \cdot 0.5, \mathsf{fma}\left(-3, amt, 4\right), 0.5\right)\\
                                    
                                    \mathbf{elif}\;u2 \leq 5000000:\\
                                    \;\;\;\;\mathsf{fma}\left(amt, 0.5 \cdot \left(\left(amt + -1\right) \cdot \left(amt \cdot u4\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\
                                    
                                    \mathbf{else}:\\
                                    \;\;\;\;\mathsf{fma}\left(amt, \left(amt \cdot 0.5\right) \cdot \left(u2 \cdot \mathsf{fma}\left(3, amt, -5\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\
                                    
                                    
                                    \end{array}
                                    \end{array}
                                    
                                    Derivation
                                    1. Split input into 4 regimes
                                    2. if u2 < -5e6

                                      1. Initial program 63.3%

                                        \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                      2. Add Preprocessing
                                      3. Taylor expanded in amt around 0

                                        \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                      4. Step-by-step derivation
                                        1. +-commutativeN/A

                                          \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                        2. lower-fma.f32N/A

                                          \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                      5. Applied rewrites90.8%

                                        \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                      6. Taylor expanded in u2 around inf

                                        \[\leadsto u2 \cdot \color{blue}{\left(\frac{1}{65536} + \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(3 \cdot amt - 5\right)\right)\right)} \]
                                      7. Step-by-step derivation
                                        1. Applied rewrites55.2%

                                          \[\leadsto u2 \cdot \color{blue}{\mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)} \]

                                        if -5e6 < u2 < -1.00000003e-27

                                        1. Initial program 83.1%

                                          \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                        2. Add Preprocessing
                                        3. Taylor expanded in amt around 0

                                          \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                        4. Step-by-step derivation
                                          1. +-commutativeN/A

                                            \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                          2. lower-fma.f32N/A

                                            \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                        5. Applied rewrites96.1%

                                          \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                        6. Taylor expanded in u3 around inf

                                          \[\leadsto amt \cdot \color{blue}{\left(u3 \cdot \left(\frac{1}{2} + \frac{1}{2} \cdot \left(amt \cdot \left(4 + -3 \cdot amt\right)\right)\right)\right)} \]
                                        7. Step-by-step derivation
                                          1. Applied rewrites40.1%

                                            \[\leadsto \left(amt \cdot u3\right) \cdot \color{blue}{\mathsf{fma}\left(0.5 \cdot amt, \mathsf{fma}\left(-3, amt, 4\right), 0.5\right)} \]

                                          if -1.00000003e-27 < u2 < 5e6

                                          1. Initial program 82.3%

                                            \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                          2. Add Preprocessing
                                          3. Taylor expanded in amt around 0

                                            \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                          4. Step-by-step derivation
                                            1. +-commutativeN/A

                                              \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                            2. lower-fma.f32N/A

                                              \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                          5. Applied rewrites96.6%

                                            \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                          6. Taylor expanded in u4 around inf

                                            \[\leadsto \mathsf{fma}\left(amt, \frac{1}{2} \cdot \color{blue}{\left(amt \cdot \left(u4 \cdot \left(amt - 1\right)\right)\right)}, u2 \cdot \frac{1}{65536}\right) \]
                                          7. Step-by-step derivation
                                            1. Applied rewrites45.4%

                                              \[\leadsto \mathsf{fma}\left(amt, 0.5 \cdot \color{blue}{\left(\left(amt \cdot u4\right) \cdot \left(amt + -1\right)\right)}, u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]

                                            if 5e6 < u2

                                            1. Initial program 67.5%

                                              \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                            2. Add Preprocessing
                                            3. Taylor expanded in amt around 0

                                              \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                            4. Step-by-step derivation
                                              1. +-commutativeN/A

                                                \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                              2. lower-fma.f32N/A

                                                \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                            5. Applied rewrites95.3%

                                              \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                            6. Taylor expanded in u2 around inf

                                              \[\leadsto \mathsf{fma}\left(amt, \frac{1}{2} \cdot \color{blue}{\left(amt \cdot \left(u2 \cdot \left(3 \cdot amt - 5\right)\right)\right)}, u2 \cdot \frac{1}{65536}\right) \]
                                            7. Step-by-step derivation
                                              1. Applied rewrites57.0%

                                                \[\leadsto \mathsf{fma}\left(amt, \left(0.5 \cdot amt\right) \cdot \color{blue}{\left(u2 \cdot \mathsf{fma}\left(3, amt, -5\right)\right)}, u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]
                                            8. Recombined 4 regimes into one program.
                                            9. Final simplification48.3%

                                              \[\leadsto \begin{array}{l} \mathbf{if}\;u2 \leq -5000000:\\ \;\;\;\;u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{elif}\;u2 \leq -1.0000000272452012 \cdot 10^{-27}:\\ \;\;\;\;\left(u3 \cdot amt\right) \cdot \mathsf{fma}\left(amt \cdot 0.5, \mathsf{fma}\left(-3, amt, 4\right), 0.5\right)\\ \mathbf{elif}\;u2 \leq 5000000:\\ \;\;\;\;\mathsf{fma}\left(amt, 0.5 \cdot \left(\left(amt + -1\right) \cdot \left(amt \cdot u4\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(amt, \left(amt \cdot 0.5\right) \cdot \left(u2 \cdot \mathsf{fma}\left(3, amt, -5\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \end{array} \]
                                            10. Add Preprocessing

                                            Alternative 12: 46.0% accurate, 5.8× speedup?

                                            \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;u2 \leq -200000:\\ \;\;\;\;u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{elif}\;u2 \leq 15000000:\\ \;\;\;\;\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u4 \cdot \left(amt + -1\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(amt, \left(amt \cdot 0.5\right) \cdot \left(u2 \cdot \mathsf{fma}\left(3, amt, -5\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \end{array} \end{array} \]
                                            (FPCore (u2 u3 u1 amt u4)
                                             :precision binary32
                                             (if (<= u2 -200000.0)
                                               (* u2 (fma (* 0.5 (* amt amt)) (fma 3.0 amt -5.0) 1.52587890625e-5))
                                               (if (<= u2 15000000.0)
                                                 (fma
                                                  amt
                                                  (fma amt (* 0.5 (* u4 (+ amt -1.0))) (* 0.5 (- u3 u1)))
                                                  (* u2 1.52587890625e-5))
                                                 (fma
                                                  amt
                                                  (* (* amt 0.5) (* u2 (fma 3.0 amt -5.0)))
                                                  (* u2 1.52587890625e-5)))))
                                            float code(float u2, float u3, float u1, float amt, float u4) {
                                            	float tmp;
                                            	if (u2 <= -200000.0f) {
                                            		tmp = u2 * fmaf((0.5f * (amt * amt)), fmaf(3.0f, amt, -5.0f), 1.52587890625e-5f);
                                            	} else if (u2 <= 15000000.0f) {
                                            		tmp = fmaf(amt, fmaf(amt, (0.5f * (u4 * (amt + -1.0f))), (0.5f * (u3 - u1))), (u2 * 1.52587890625e-5f));
                                            	} else {
                                            		tmp = fmaf(amt, ((amt * 0.5f) * (u2 * fmaf(3.0f, amt, -5.0f))), (u2 * 1.52587890625e-5f));
                                            	}
                                            	return tmp;
                                            }
                                            
                                            function code(u2, u3, u1, amt, u4)
                                            	tmp = Float32(0.0)
                                            	if (u2 <= Float32(-200000.0))
                                            		tmp = Float32(u2 * fma(Float32(Float32(0.5) * Float32(amt * amt)), fma(Float32(3.0), amt, Float32(-5.0)), Float32(1.52587890625e-5)));
                                            	elseif (u2 <= Float32(15000000.0))
                                            		tmp = fma(amt, fma(amt, Float32(Float32(0.5) * Float32(u4 * Float32(amt + Float32(-1.0)))), Float32(Float32(0.5) * Float32(u3 - u1))), Float32(u2 * Float32(1.52587890625e-5)));
                                            	else
                                            		tmp = fma(amt, Float32(Float32(amt * Float32(0.5)) * Float32(u2 * fma(Float32(3.0), amt, Float32(-5.0)))), Float32(u2 * Float32(1.52587890625e-5)));
                                            	end
                                            	return tmp
                                            end
                                            
                                            \begin{array}{l}
                                            
                                            \\
                                            \begin{array}{l}
                                            \mathbf{if}\;u2 \leq -200000:\\
                                            \;\;\;\;u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\
                                            
                                            \mathbf{elif}\;u2 \leq 15000000:\\
                                            \;\;\;\;\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u4 \cdot \left(amt + -1\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\
                                            
                                            \mathbf{else}:\\
                                            \;\;\;\;\mathsf{fma}\left(amt, \left(amt \cdot 0.5\right) \cdot \left(u2 \cdot \mathsf{fma}\left(3, amt, -5\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\
                                            
                                            
                                            \end{array}
                                            \end{array}
                                            
                                            Derivation
                                            1. Split input into 3 regimes
                                            2. if u2 < -2e5

                                              1. Initial program 62.9%

                                                \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                              2. Add Preprocessing
                                              3. Taylor expanded in amt around 0

                                                \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                              4. Step-by-step derivation
                                                1. +-commutativeN/A

                                                  \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                                2. lower-fma.f32N/A

                                                  \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                              5. Applied rewrites91.1%

                                                \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                              6. Taylor expanded in u2 around inf

                                                \[\leadsto u2 \cdot \color{blue}{\left(\frac{1}{65536} + \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(3 \cdot amt - 5\right)\right)\right)} \]
                                              7. Step-by-step derivation
                                                1. Applied rewrites54.1%

                                                  \[\leadsto u2 \cdot \color{blue}{\mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)} \]

                                                if -2e5 < u2 < 1.5e7

                                                1. Initial program 82.5%

                                                  \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                                2. Add Preprocessing
                                                3. Taylor expanded in amt around 0

                                                  \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                                4. Step-by-step derivation
                                                  1. +-commutativeN/A

                                                    \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                                  2. lower-fma.f32N/A

                                                    \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                                5. Applied rewrites96.1%

                                                  \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                                6. Taylor expanded in u4 around inf

                                                  \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u4 \cdot \color{blue}{\left(amt - 1\right)}\right), \left(u3 - u1\right) \cdot \frac{1}{2}\right), u2 \cdot \frac{1}{65536}\right) \]
                                                7. Step-by-step derivation
                                                  1. Applied rewrites47.2%

                                                    \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u4 \cdot \color{blue}{\left(amt + -1\right)}\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]

                                                  if 1.5e7 < u2

                                                  1. Initial program 69.0%

                                                    \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                                  2. Add Preprocessing
                                                  3. Taylor expanded in amt around 0

                                                    \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                                  4. Step-by-step derivation
                                                    1. +-commutativeN/A

                                                      \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                                    2. lower-fma.f32N/A

                                                      \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                                  5. Applied rewrites96.0%

                                                    \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                                  6. Taylor expanded in u2 around inf

                                                    \[\leadsto \mathsf{fma}\left(amt, \frac{1}{2} \cdot \color{blue}{\left(amt \cdot \left(u2 \cdot \left(3 \cdot amt - 5\right)\right)\right)}, u2 \cdot \frac{1}{65536}\right) \]
                                                  7. Step-by-step derivation
                                                    1. Applied rewrites58.1%

                                                      \[\leadsto \mathsf{fma}\left(amt, \left(0.5 \cdot amt\right) \cdot \color{blue}{\left(u2 \cdot \mathsf{fma}\left(3, amt, -5\right)\right)}, u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]
                                                  8. Recombined 3 regimes into one program.
                                                  9. Final simplification50.8%

                                                    \[\leadsto \begin{array}{l} \mathbf{if}\;u2 \leq -200000:\\ \;\;\;\;u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{elif}\;u2 \leq 15000000:\\ \;\;\;\;\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u4 \cdot \left(amt + -1\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(amt, \left(amt \cdot 0.5\right) \cdot \left(u2 \cdot \mathsf{fma}\left(3, amt, -5\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \end{array} \]
                                                  10. Add Preprocessing

                                                  Alternative 13: 40.9% accurate, 5.8× speedup?

                                                  \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;u4 \leq -1499999942100385800:\\ \;\;\;\;\left(u4 \cdot 0.5\right) \cdot \mathsf{fma}\left(amt, amt \cdot amt, amt \cdot \left(-amt\right)\right)\\ \mathbf{elif}\;u4 \leq 39999999311872:\\ \;\;\;\;\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u1 \cdot \left(2 - amt\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(0.5 \cdot \left(amt \cdot amt\right)\right) \cdot \left(u4 \cdot \left(amt + -1\right)\right)\\ \end{array} \end{array} \]
                                                  (FPCore (u2 u3 u1 amt u4)
                                                   :precision binary32
                                                   (if (<= u4 -1499999942100385800.0)
                                                     (* (* u4 0.5) (fma amt (* amt amt) (* amt (- amt))))
                                                     (if (<= u4 39999999311872.0)
                                                       (fma
                                                        amt
                                                        (fma amt (* 0.5 (* u1 (- 2.0 amt))) (* 0.5 (- u3 u1)))
                                                        (* u2 1.52587890625e-5))
                                                       (* (* 0.5 (* amt amt)) (* u4 (+ amt -1.0))))))
                                                  float code(float u2, float u3, float u1, float amt, float u4) {
                                                  	float tmp;
                                                  	if (u4 <= -1499999942100385800.0f) {
                                                  		tmp = (u4 * 0.5f) * fmaf(amt, (amt * amt), (amt * -amt));
                                                  	} else if (u4 <= 39999999311872.0f) {
                                                  		tmp = fmaf(amt, fmaf(amt, (0.5f * (u1 * (2.0f - amt))), (0.5f * (u3 - u1))), (u2 * 1.52587890625e-5f));
                                                  	} else {
                                                  		tmp = (0.5f * (amt * amt)) * (u4 * (amt + -1.0f));
                                                  	}
                                                  	return tmp;
                                                  }
                                                  
                                                  function code(u2, u3, u1, amt, u4)
                                                  	tmp = Float32(0.0)
                                                  	if (u4 <= Float32(-1499999942100385800.0))
                                                  		tmp = Float32(Float32(u4 * Float32(0.5)) * fma(amt, Float32(amt * amt), Float32(amt * Float32(-amt))));
                                                  	elseif (u4 <= Float32(39999999311872.0))
                                                  		tmp = fma(amt, fma(amt, Float32(Float32(0.5) * Float32(u1 * Float32(Float32(2.0) - amt))), Float32(Float32(0.5) * Float32(u3 - u1))), Float32(u2 * Float32(1.52587890625e-5)));
                                                  	else
                                                  		tmp = Float32(Float32(Float32(0.5) * Float32(amt * amt)) * Float32(u4 * Float32(amt + Float32(-1.0))));
                                                  	end
                                                  	return tmp
                                                  end
                                                  
                                                  \begin{array}{l}
                                                  
                                                  \\
                                                  \begin{array}{l}
                                                  \mathbf{if}\;u4 \leq -1499999942100385800:\\
                                                  \;\;\;\;\left(u4 \cdot 0.5\right) \cdot \mathsf{fma}\left(amt, amt \cdot amt, amt \cdot \left(-amt\right)\right)\\
                                                  
                                                  \mathbf{elif}\;u4 \leq 39999999311872:\\
                                                  \;\;\;\;\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u1 \cdot \left(2 - amt\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\
                                                  
                                                  \mathbf{else}:\\
                                                  \;\;\;\;\left(0.5 \cdot \left(amt \cdot amt\right)\right) \cdot \left(u4 \cdot \left(amt + -1\right)\right)\\
                                                  
                                                  
                                                  \end{array}
                                                  \end{array}
                                                  
                                                  Derivation
                                                  1. Split input into 3 regimes
                                                  2. if u4 < -1.4999999e18

                                                    1. Initial program 59.6%

                                                      \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                                    2. Add Preprocessing
                                                    3. Taylor expanded in u2 around 0

                                                      \[\leadsto \color{blue}{\frac{1}{131072} \cdot \left(65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right) + \left(65536 \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right)\right) + 65536 \cdot \left({amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right)\right)\right)} \]
                                                    4. Step-by-step derivation
                                                      1. +-commutativeN/A

                                                        \[\leadsto \frac{1}{131072} \cdot \color{blue}{\left(\left(65536 \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right)\right) + 65536 \cdot \left({amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right)\right) + 65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right)\right)} \]
                                                      2. distribute-lft-inN/A

                                                        \[\leadsto \color{blue}{\frac{1}{131072} \cdot \left(65536 \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right)\right) + 65536 \cdot \left({amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right)\right) + \frac{1}{131072} \cdot \left(65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right)\right)} \]
                                                      3. distribute-lft-outN/A

                                                        \[\leadsto \frac{1}{131072} \cdot \color{blue}{\left(65536 \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right)\right)} + \frac{1}{131072} \cdot \left(65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right)\right) \]
                                                      4. associate-*r*N/A

                                                        \[\leadsto \color{blue}{\left(\frac{1}{131072} \cdot 65536\right) \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right)} + \frac{1}{131072} \cdot \left(65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right)\right) \]
                                                      5. metadata-evalN/A

                                                        \[\leadsto \color{blue}{\frac{1}{2}} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{131072} \cdot \left(65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right)\right) \]
                                                      6. associate-*r*N/A

                                                        \[\leadsto \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \color{blue}{\left(\frac{1}{131072} \cdot 65536\right) \cdot \left(amt \cdot \left(u3 - u1\right)\right)} \]
                                                      7. metadata-evalN/A

                                                        \[\leadsto \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \color{blue}{\frac{1}{2}} \cdot \left(amt \cdot \left(u3 - u1\right)\right) \]
                                                      8. *-commutativeN/A

                                                        \[\leadsto \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \color{blue}{\left(amt \cdot \left(u3 - u1\right)\right) \cdot \frac{1}{2}} \]
                                                      9. associate-*r*N/A

                                                        \[\leadsto \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \color{blue}{amt \cdot \left(\left(u3 - u1\right) \cdot \frac{1}{2}\right)} \]
                                                      10. *-commutativeN/A

                                                        \[\leadsto \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + amt \cdot \color{blue}{\left(\frac{1}{2} \cdot \left(u3 - u1\right)\right)} \]
                                                    5. Applied rewrites83.5%

                                                      \[\leadsto \color{blue}{\mathsf{fma}\left(0.5, \mathsf{fma}\left(amt \cdot \left(amt \cdot amt\right), u4 - \mathsf{fma}\left(3, u3, u1\right), amt \cdot \left(amt \cdot \mathsf{fma}\left(2, u1, u3 \cdot 4 - u4\right)\right)\right), \left(amt \cdot \left(u3 - u1\right)\right) \cdot 0.5\right)} \]
                                                    6. Taylor expanded in u4 around inf

                                                      \[\leadsto \frac{1}{2} \cdot \color{blue}{\left(u4 \cdot \left(-1 \cdot {amt}^{2} + {amt}^{3}\right)\right)} \]
                                                    7. Step-by-step derivation
                                                      1. Applied rewrites68.0%

                                                        \[\leadsto \left(0.5 \cdot u4\right) \cdot \color{blue}{\mathsf{fma}\left(amt, amt \cdot amt, -amt \cdot amt\right)} \]

                                                      if -1.4999999e18 < u4 < 3.99999993e13

                                                      1. Initial program 77.7%

                                                        \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                                      2. Add Preprocessing
                                                      3. Taylor expanded in amt around 0

                                                        \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                                      4. Step-by-step derivation
                                                        1. +-commutativeN/A

                                                          \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                                        2. lower-fma.f32N/A

                                                          \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                                      5. Applied rewrites93.9%

                                                        \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                                      6. Taylor expanded in u1 around inf

                                                        \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u1 \cdot \color{blue}{\left(2 + -1 \cdot amt\right)}\right), \left(u3 - u1\right) \cdot \frac{1}{2}\right), u2 \cdot \frac{1}{65536}\right) \]
                                                      7. Step-by-step derivation
                                                        1. Applied rewrites36.0%

                                                          \[\leadsto \mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u1 \cdot \color{blue}{\left(2 - amt\right)}\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]

                                                        if 3.99999993e13 < u4

                                                        1. Initial program 79.5%

                                                          \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                                        2. Add Preprocessing
                                                        3. Taylor expanded in amt around 0

                                                          \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                                        4. Step-by-step derivation
                                                          1. +-commutativeN/A

                                                            \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                                          2. lower-fma.f32N/A

                                                            \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                                        5. Applied rewrites96.5%

                                                          \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                                        6. Taylor expanded in u4 around inf

                                                          \[\leadsto \frac{1}{2} \cdot \color{blue}{\left({amt}^{2} \cdot \left(u4 \cdot \left(amt - 1\right)\right)\right)} \]
                                                        7. Step-by-step derivation
                                                          1. Applied rewrites62.4%

                                                            \[\leadsto \left(0.5 \cdot \left(amt \cdot amt\right)\right) \cdot \color{blue}{\left(u4 \cdot \left(amt + -1\right)\right)} \]
                                                        8. Recombined 3 regimes into one program.
                                                        9. Final simplification45.3%

                                                          \[\leadsto \begin{array}{l} \mathbf{if}\;u4 \leq -1499999942100385800:\\ \;\;\;\;\left(u4 \cdot 0.5\right) \cdot \mathsf{fma}\left(amt, amt \cdot amt, amt \cdot \left(-amt\right)\right)\\ \mathbf{elif}\;u4 \leq 39999999311872:\\ \;\;\;\;\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \left(u1 \cdot \left(2 - amt\right)\right), 0.5 \cdot \left(u3 - u1\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(0.5 \cdot \left(amt \cdot amt\right)\right) \cdot \left(u4 \cdot \left(amt + -1\right)\right)\\ \end{array} \]
                                                        10. Add Preprocessing

                                                        Alternative 14: 40.5% accurate, 6.2× speedup?

                                                        \[\begin{array}{l} \\ \begin{array}{l} t_0 := u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{if}\;u2 \leq -5000000:\\ \;\;\;\;t_0\\ \mathbf{elif}\;u2 \leq -1.0000000272452012 \cdot 10^{-27}:\\ \;\;\;\;\left(u3 \cdot amt\right) \cdot \mathsf{fma}\left(amt \cdot 0.5, \mathsf{fma}\left(-3, amt, 4\right), 0.5\right)\\ \mathbf{elif}\;u2 \leq 5000000:\\ \;\;\;\;\mathsf{fma}\left(amt, 0.5 \cdot \left(\left(amt + -1\right) \cdot \left(amt \cdot u4\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \end{array} \]
                                                        (FPCore (u2 u3 u1 amt u4)
                                                         :precision binary32
                                                         (let* ((t_0
                                                                 (* u2 (fma (* 0.5 (* amt amt)) (fma 3.0 amt -5.0) 1.52587890625e-5))))
                                                           (if (<= u2 -5000000.0)
                                                             t_0
                                                             (if (<= u2 -1.0000000272452012e-27)
                                                               (* (* u3 amt) (fma (* amt 0.5) (fma -3.0 amt 4.0) 0.5))
                                                               (if (<= u2 5000000.0)
                                                                 (fma amt (* 0.5 (* (+ amt -1.0) (* amt u4))) (* u2 1.52587890625e-5))
                                                                 t_0)))))
                                                        float code(float u2, float u3, float u1, float amt, float u4) {
                                                        	float t_0 = u2 * fmaf((0.5f * (amt * amt)), fmaf(3.0f, amt, -5.0f), 1.52587890625e-5f);
                                                        	float tmp;
                                                        	if (u2 <= -5000000.0f) {
                                                        		tmp = t_0;
                                                        	} else if (u2 <= -1.0000000272452012e-27f) {
                                                        		tmp = (u3 * amt) * fmaf((amt * 0.5f), fmaf(-3.0f, amt, 4.0f), 0.5f);
                                                        	} else if (u2 <= 5000000.0f) {
                                                        		tmp = fmaf(amt, (0.5f * ((amt + -1.0f) * (amt * u4))), (u2 * 1.52587890625e-5f));
                                                        	} else {
                                                        		tmp = t_0;
                                                        	}
                                                        	return tmp;
                                                        }
                                                        
                                                        function code(u2, u3, u1, amt, u4)
                                                        	t_0 = Float32(u2 * fma(Float32(Float32(0.5) * Float32(amt * amt)), fma(Float32(3.0), amt, Float32(-5.0)), Float32(1.52587890625e-5)))
                                                        	tmp = Float32(0.0)
                                                        	if (u2 <= Float32(-5000000.0))
                                                        		tmp = t_0;
                                                        	elseif (u2 <= Float32(-1.0000000272452012e-27))
                                                        		tmp = Float32(Float32(u3 * amt) * fma(Float32(amt * Float32(0.5)), fma(Float32(-3.0), amt, Float32(4.0)), Float32(0.5)));
                                                        	elseif (u2 <= Float32(5000000.0))
                                                        		tmp = fma(amt, Float32(Float32(0.5) * Float32(Float32(amt + Float32(-1.0)) * Float32(amt * u4))), Float32(u2 * Float32(1.52587890625e-5)));
                                                        	else
                                                        		tmp = t_0;
                                                        	end
                                                        	return tmp
                                                        end
                                                        
                                                        \begin{array}{l}
                                                        
                                                        \\
                                                        \begin{array}{l}
                                                        t_0 := u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\
                                                        \mathbf{if}\;u2 \leq -5000000:\\
                                                        \;\;\;\;t_0\\
                                                        
                                                        \mathbf{elif}\;u2 \leq -1.0000000272452012 \cdot 10^{-27}:\\
                                                        \;\;\;\;\left(u3 \cdot amt\right) \cdot \mathsf{fma}\left(amt \cdot 0.5, \mathsf{fma}\left(-3, amt, 4\right), 0.5\right)\\
                                                        
                                                        \mathbf{elif}\;u2 \leq 5000000:\\
                                                        \;\;\;\;\mathsf{fma}\left(amt, 0.5 \cdot \left(\left(amt + -1\right) \cdot \left(amt \cdot u4\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\
                                                        
                                                        \mathbf{else}:\\
                                                        \;\;\;\;t_0\\
                                                        
                                                        
                                                        \end{array}
                                                        \end{array}
                                                        
                                                        Derivation
                                                        1. Split input into 3 regimes
                                                        2. if u2 < -5e6 or 5e6 < u2

                                                          1. Initial program 65.2%

                                                            \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                                          2. Add Preprocessing
                                                          3. Taylor expanded in amt around 0

                                                            \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                                          4. Step-by-step derivation
                                                            1. +-commutativeN/A

                                                              \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                                            2. lower-fma.f32N/A

                                                              \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                                          5. Applied rewrites92.8%

                                                            \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                                          6. Taylor expanded in u2 around inf

                                                            \[\leadsto u2 \cdot \color{blue}{\left(\frac{1}{65536} + \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(3 \cdot amt - 5\right)\right)\right)} \]
                                                          7. Step-by-step derivation
                                                            1. Applied rewrites56.0%

                                                              \[\leadsto u2 \cdot \color{blue}{\mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)} \]

                                                            if -5e6 < u2 < -1.00000003e-27

                                                            1. Initial program 83.1%

                                                              \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                                            2. Add Preprocessing
                                                            3. Taylor expanded in amt around 0

                                                              \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                                            4. Step-by-step derivation
                                                              1. +-commutativeN/A

                                                                \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                                              2. lower-fma.f32N/A

                                                                \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                                            5. Applied rewrites96.1%

                                                              \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                                            6. Taylor expanded in u3 around inf

                                                              \[\leadsto amt \cdot \color{blue}{\left(u3 \cdot \left(\frac{1}{2} + \frac{1}{2} \cdot \left(amt \cdot \left(4 + -3 \cdot amt\right)\right)\right)\right)} \]
                                                            7. Step-by-step derivation
                                                              1. Applied rewrites40.1%

                                                                \[\leadsto \left(amt \cdot u3\right) \cdot \color{blue}{\mathsf{fma}\left(0.5 \cdot amt, \mathsf{fma}\left(-3, amt, 4\right), 0.5\right)} \]

                                                              if -1.00000003e-27 < u2 < 5e6

                                                              1. Initial program 82.3%

                                                                \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                                              2. Add Preprocessing
                                                              3. Taylor expanded in amt around 0

                                                                \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                                              4. Step-by-step derivation
                                                                1. +-commutativeN/A

                                                                  \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                                                2. lower-fma.f32N/A

                                                                  \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                                              5. Applied rewrites96.6%

                                                                \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                                              6. Taylor expanded in u4 around inf

                                                                \[\leadsto \mathsf{fma}\left(amt, \frac{1}{2} \cdot \color{blue}{\left(amt \cdot \left(u4 \cdot \left(amt - 1\right)\right)\right)}, u2 \cdot \frac{1}{65536}\right) \]
                                                              7. Step-by-step derivation
                                                                1. Applied rewrites45.4%

                                                                  \[\leadsto \mathsf{fma}\left(amt, 0.5 \cdot \color{blue}{\left(\left(amt \cdot u4\right) \cdot \left(amt + -1\right)\right)}, u2 \cdot 1.52587890625 \cdot 10^{-5}\right) \]
                                                              8. Recombined 3 regimes into one program.
                                                              9. Final simplification48.3%

                                                                \[\leadsto \begin{array}{l} \mathbf{if}\;u2 \leq -5000000:\\ \;\;\;\;u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{elif}\;u2 \leq -1.0000000272452012 \cdot 10^{-27}:\\ \;\;\;\;\left(u3 \cdot amt\right) \cdot \mathsf{fma}\left(amt \cdot 0.5, \mathsf{fma}\left(-3, amt, 4\right), 0.5\right)\\ \mathbf{elif}\;u2 \leq 5000000:\\ \;\;\;\;\mathsf{fma}\left(amt, 0.5 \cdot \left(\left(amt + -1\right) \cdot \left(amt \cdot u4\right)\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{else}:\\ \;\;\;\;u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\ \end{array} \]
                                                              10. Add Preprocessing

                                                              Alternative 15: 40.5% accurate, 6.5× speedup?

                                                              \[\begin{array}{l} \\ \begin{array}{l} t_0 := 0.5 \cdot \left(amt \cdot amt\right)\\ t_1 := u2 \cdot \mathsf{fma}\left(t_0, \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{if}\;u2 \leq -5000000:\\ \;\;\;\;t_1\\ \mathbf{elif}\;u2 \leq -1.0000000272452012 \cdot 10^{-27}:\\ \;\;\;\;\left(u3 \cdot amt\right) \cdot \mathsf{fma}\left(amt \cdot 0.5, \mathsf{fma}\left(-3, amt, 4\right), 0.5\right)\\ \mathbf{elif}\;u2 \leq 5000000:\\ \;\;\;\;t_0 \cdot \left(u4 \cdot \left(amt + -1\right)\right)\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \end{array} \]
                                                              (FPCore (u2 u3 u1 amt u4)
                                                               :precision binary32
                                                               (let* ((t_0 (* 0.5 (* amt amt)))
                                                                      (t_1 (* u2 (fma t_0 (fma 3.0 amt -5.0) 1.52587890625e-5))))
                                                                 (if (<= u2 -5000000.0)
                                                                   t_1
                                                                   (if (<= u2 -1.0000000272452012e-27)
                                                                     (* (* u3 amt) (fma (* amt 0.5) (fma -3.0 amt 4.0) 0.5))
                                                                     (if (<= u2 5000000.0) (* t_0 (* u4 (+ amt -1.0))) t_1)))))
                                                              float code(float u2, float u3, float u1, float amt, float u4) {
                                                              	float t_0 = 0.5f * (amt * amt);
                                                              	float t_1 = u2 * fmaf(t_0, fmaf(3.0f, amt, -5.0f), 1.52587890625e-5f);
                                                              	float tmp;
                                                              	if (u2 <= -5000000.0f) {
                                                              		tmp = t_1;
                                                              	} else if (u2 <= -1.0000000272452012e-27f) {
                                                              		tmp = (u3 * amt) * fmaf((amt * 0.5f), fmaf(-3.0f, amt, 4.0f), 0.5f);
                                                              	} else if (u2 <= 5000000.0f) {
                                                              		tmp = t_0 * (u4 * (amt + -1.0f));
                                                              	} else {
                                                              		tmp = t_1;
                                                              	}
                                                              	return tmp;
                                                              }
                                                              
                                                              function code(u2, u3, u1, amt, u4)
                                                              	t_0 = Float32(Float32(0.5) * Float32(amt * amt))
                                                              	t_1 = Float32(u2 * fma(t_0, fma(Float32(3.0), amt, Float32(-5.0)), Float32(1.52587890625e-5)))
                                                              	tmp = Float32(0.0)
                                                              	if (u2 <= Float32(-5000000.0))
                                                              		tmp = t_1;
                                                              	elseif (u2 <= Float32(-1.0000000272452012e-27))
                                                              		tmp = Float32(Float32(u3 * amt) * fma(Float32(amt * Float32(0.5)), fma(Float32(-3.0), amt, Float32(4.0)), Float32(0.5)));
                                                              	elseif (u2 <= Float32(5000000.0))
                                                              		tmp = Float32(t_0 * Float32(u4 * Float32(amt + Float32(-1.0))));
                                                              	else
                                                              		tmp = t_1;
                                                              	end
                                                              	return tmp
                                                              end
                                                              
                                                              \begin{array}{l}
                                                              
                                                              \\
                                                              \begin{array}{l}
                                                              t_0 := 0.5 \cdot \left(amt \cdot amt\right)\\
                                                              t_1 := u2 \cdot \mathsf{fma}\left(t_0, \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\
                                                              \mathbf{if}\;u2 \leq -5000000:\\
                                                              \;\;\;\;t_1\\
                                                              
                                                              \mathbf{elif}\;u2 \leq -1.0000000272452012 \cdot 10^{-27}:\\
                                                              \;\;\;\;\left(u3 \cdot amt\right) \cdot \mathsf{fma}\left(amt \cdot 0.5, \mathsf{fma}\left(-3, amt, 4\right), 0.5\right)\\
                                                              
                                                              \mathbf{elif}\;u2 \leq 5000000:\\
                                                              \;\;\;\;t_0 \cdot \left(u4 \cdot \left(amt + -1\right)\right)\\
                                                              
                                                              \mathbf{else}:\\
                                                              \;\;\;\;t_1\\
                                                              
                                                              
                                                              \end{array}
                                                              \end{array}
                                                              
                                                              Derivation
                                                              1. Split input into 3 regimes
                                                              2. if u2 < -5e6 or 5e6 < u2

                                                                1. Initial program 65.2%

                                                                  \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                                                2. Add Preprocessing
                                                                3. Taylor expanded in amt around 0

                                                                  \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                                                4. Step-by-step derivation
                                                                  1. +-commutativeN/A

                                                                    \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                                                  2. lower-fma.f32N/A

                                                                    \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                                                5. Applied rewrites92.8%

                                                                  \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                                                6. Taylor expanded in u2 around inf

                                                                  \[\leadsto u2 \cdot \color{blue}{\left(\frac{1}{65536} + \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(3 \cdot amt - 5\right)\right)\right)} \]
                                                                7. Step-by-step derivation
                                                                  1. Applied rewrites56.0%

                                                                    \[\leadsto u2 \cdot \color{blue}{\mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)} \]

                                                                  if -5e6 < u2 < -1.00000003e-27

                                                                  1. Initial program 83.1%

                                                                    \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                                                  2. Add Preprocessing
                                                                  3. Taylor expanded in amt around 0

                                                                    \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                                                  4. Step-by-step derivation
                                                                    1. +-commutativeN/A

                                                                      \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                                                    2. lower-fma.f32N/A

                                                                      \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                                                  5. Applied rewrites96.1%

                                                                    \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                                                  6. Taylor expanded in u3 around inf

                                                                    \[\leadsto amt \cdot \color{blue}{\left(u3 \cdot \left(\frac{1}{2} + \frac{1}{2} \cdot \left(amt \cdot \left(4 + -3 \cdot amt\right)\right)\right)\right)} \]
                                                                  7. Step-by-step derivation
                                                                    1. Applied rewrites40.1%

                                                                      \[\leadsto \left(amt \cdot u3\right) \cdot \color{blue}{\mathsf{fma}\left(0.5 \cdot amt, \mathsf{fma}\left(-3, amt, 4\right), 0.5\right)} \]

                                                                    if -1.00000003e-27 < u2 < 5e6

                                                                    1. Initial program 82.3%

                                                                      \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                                                    2. Add Preprocessing
                                                                    3. Taylor expanded in amt around 0

                                                                      \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                                                    4. Step-by-step derivation
                                                                      1. +-commutativeN/A

                                                                        \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                                                      2. lower-fma.f32N/A

                                                                        \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                                                    5. Applied rewrites96.6%

                                                                      \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                                                    6. Taylor expanded in u4 around inf

                                                                      \[\leadsto \frac{1}{2} \cdot \color{blue}{\left({amt}^{2} \cdot \left(u4 \cdot \left(amt - 1\right)\right)\right)} \]
                                                                    7. Step-by-step derivation
                                                                      1. Applied rewrites45.4%

                                                                        \[\leadsto \left(0.5 \cdot \left(amt \cdot amt\right)\right) \cdot \color{blue}{\left(u4 \cdot \left(amt + -1\right)\right)} \]
                                                                    8. Recombined 3 regimes into one program.
                                                                    9. Final simplification48.3%

                                                                      \[\leadsto \begin{array}{l} \mathbf{if}\;u2 \leq -5000000:\\ \;\;\;\;u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{elif}\;u2 \leq -1.0000000272452012 \cdot 10^{-27}:\\ \;\;\;\;\left(u3 \cdot amt\right) \cdot \mathsf{fma}\left(amt \cdot 0.5, \mathsf{fma}\left(-3, amt, 4\right), 0.5\right)\\ \mathbf{elif}\;u2 \leq 5000000:\\ \;\;\;\;\left(0.5 \cdot \left(amt \cdot amt\right)\right) \cdot \left(u4 \cdot \left(amt + -1\right)\right)\\ \mathbf{else}:\\ \;\;\;\;u2 \cdot \mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\ \end{array} \]
                                                                    10. Add Preprocessing

                                                                    Alternative 16: 39.5% accurate, 7.4× speedup?

                                                                    \[\begin{array}{l} \\ \begin{array}{l} t_0 := 0.5 \cdot \left(amt \cdot amt\right)\\ t_1 := u2 \cdot \mathsf{fma}\left(t_0, \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\ \mathbf{if}\;u2 \leq -1370:\\ \;\;\;\;t_1\\ \mathbf{elif}\;u2 \leq 5000000:\\ \;\;\;\;t_0 \cdot \left(u4 \cdot \left(amt + -1\right)\right)\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \end{array} \]
                                                                    (FPCore (u2 u3 u1 amt u4)
                                                                     :precision binary32
                                                                     (let* ((t_0 (* 0.5 (* amt amt)))
                                                                            (t_1 (* u2 (fma t_0 (fma 3.0 amt -5.0) 1.52587890625e-5))))
                                                                       (if (<= u2 -1370.0)
                                                                         t_1
                                                                         (if (<= u2 5000000.0) (* t_0 (* u4 (+ amt -1.0))) t_1))))
                                                                    float code(float u2, float u3, float u1, float amt, float u4) {
                                                                    	float t_0 = 0.5f * (amt * amt);
                                                                    	float t_1 = u2 * fmaf(t_0, fmaf(3.0f, amt, -5.0f), 1.52587890625e-5f);
                                                                    	float tmp;
                                                                    	if (u2 <= -1370.0f) {
                                                                    		tmp = t_1;
                                                                    	} else if (u2 <= 5000000.0f) {
                                                                    		tmp = t_0 * (u4 * (amt + -1.0f));
                                                                    	} else {
                                                                    		tmp = t_1;
                                                                    	}
                                                                    	return tmp;
                                                                    }
                                                                    
                                                                    function code(u2, u3, u1, amt, u4)
                                                                    	t_0 = Float32(Float32(0.5) * Float32(amt * amt))
                                                                    	t_1 = Float32(u2 * fma(t_0, fma(Float32(3.0), amt, Float32(-5.0)), Float32(1.52587890625e-5)))
                                                                    	tmp = Float32(0.0)
                                                                    	if (u2 <= Float32(-1370.0))
                                                                    		tmp = t_1;
                                                                    	elseif (u2 <= Float32(5000000.0))
                                                                    		tmp = Float32(t_0 * Float32(u4 * Float32(amt + Float32(-1.0))));
                                                                    	else
                                                                    		tmp = t_1;
                                                                    	end
                                                                    	return tmp
                                                                    end
                                                                    
                                                                    \begin{array}{l}
                                                                    
                                                                    \\
                                                                    \begin{array}{l}
                                                                    t_0 := 0.5 \cdot \left(amt \cdot amt\right)\\
                                                                    t_1 := u2 \cdot \mathsf{fma}\left(t_0, \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)\\
                                                                    \mathbf{if}\;u2 \leq -1370:\\
                                                                    \;\;\;\;t_1\\
                                                                    
                                                                    \mathbf{elif}\;u2 \leq 5000000:\\
                                                                    \;\;\;\;t_0 \cdot \left(u4 \cdot \left(amt + -1\right)\right)\\
                                                                    
                                                                    \mathbf{else}:\\
                                                                    \;\;\;\;t_1\\
                                                                    
                                                                    
                                                                    \end{array}
                                                                    \end{array}
                                                                    
                                                                    Derivation
                                                                    1. Split input into 2 regimes
                                                                    2. if u2 < -1370 or 5e6 < u2

                                                                      1. Initial program 65.4%

                                                                        \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                                                      2. Add Preprocessing
                                                                      3. Taylor expanded in amt around 0

                                                                        \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                                                      4. Step-by-step derivation
                                                                        1. +-commutativeN/A

                                                                          \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                                                        2. lower-fma.f32N/A

                                                                          \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                                                      5. Applied rewrites92.9%

                                                                        \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                                                      6. Taylor expanded in u2 around inf

                                                                        \[\leadsto u2 \cdot \color{blue}{\left(\frac{1}{65536} + \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(3 \cdot amt - 5\right)\right)\right)} \]
                                                                      7. Step-by-step derivation
                                                                        1. Applied rewrites54.7%

                                                                          \[\leadsto u2 \cdot \color{blue}{\mathsf{fma}\left(0.5 \cdot \left(amt \cdot amt\right), \mathsf{fma}\left(3, amt, -5\right), 1.52587890625 \cdot 10^{-5}\right)} \]

                                                                        if -1370 < u2 < 5e6

                                                                        1. Initial program 82.9%

                                                                          \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                                                        2. Add Preprocessing
                                                                        3. Taylor expanded in amt around 0

                                                                          \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                                                        4. Step-by-step derivation
                                                                          1. +-commutativeN/A

                                                                            \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                                                          2. lower-fma.f32N/A

                                                                            \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                                                        5. Applied rewrites96.4%

                                                                          \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                                                        6. Taylor expanded in u4 around inf

                                                                          \[\leadsto \frac{1}{2} \cdot \color{blue}{\left({amt}^{2} \cdot \left(u4 \cdot \left(amt - 1\right)\right)\right)} \]
                                                                        7. Step-by-step derivation
                                                                          1. Applied rewrites37.6%

                                                                            \[\leadsto \left(0.5 \cdot \left(amt \cdot amt\right)\right) \cdot \color{blue}{\left(u4 \cdot \left(amt + -1\right)\right)} \]
                                                                        8. Recombined 2 regimes into one program.
                                                                        9. Add Preprocessing

                                                                        Alternative 17: 37.0% accurate, 7.6× speedup?

                                                                        \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(0.5 \cdot \left(amt \cdot amt\right)\right) \cdot \left(u4 \cdot \left(amt + -1\right)\right)\\ \mathbf{if}\;u4 \leq -50000000188416:\\ \;\;\;\;t_0\\ \mathbf{elif}\;u4 \leq 39999999311872:\\ \;\;\;\;amt \cdot \left(\left(-u1\right) \cdot \mathsf{fma}\left(0.5, amt \cdot \left(amt + -2\right), 0.5\right)\right)\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \end{array} \]
                                                                        (FPCore (u2 u3 u1 amt u4)
                                                                         :precision binary32
                                                                         (let* ((t_0 (* (* 0.5 (* amt amt)) (* u4 (+ amt -1.0)))))
                                                                           (if (<= u4 -50000000188416.0)
                                                                             t_0
                                                                             (if (<= u4 39999999311872.0)
                                                                               (* amt (* (- u1) (fma 0.5 (* amt (+ amt -2.0)) 0.5)))
                                                                               t_0))))
                                                                        float code(float u2, float u3, float u1, float amt, float u4) {
                                                                        	float t_0 = (0.5f * (amt * amt)) * (u4 * (amt + -1.0f));
                                                                        	float tmp;
                                                                        	if (u4 <= -50000000188416.0f) {
                                                                        		tmp = t_0;
                                                                        	} else if (u4 <= 39999999311872.0f) {
                                                                        		tmp = amt * (-u1 * fmaf(0.5f, (amt * (amt + -2.0f)), 0.5f));
                                                                        	} else {
                                                                        		tmp = t_0;
                                                                        	}
                                                                        	return tmp;
                                                                        }
                                                                        
                                                                        function code(u2, u3, u1, amt, u4)
                                                                        	t_0 = Float32(Float32(Float32(0.5) * Float32(amt * amt)) * Float32(u4 * Float32(amt + Float32(-1.0))))
                                                                        	tmp = Float32(0.0)
                                                                        	if (u4 <= Float32(-50000000188416.0))
                                                                        		tmp = t_0;
                                                                        	elseif (u4 <= Float32(39999999311872.0))
                                                                        		tmp = Float32(amt * Float32(Float32(-u1) * fma(Float32(0.5), Float32(amt * Float32(amt + Float32(-2.0))), Float32(0.5))));
                                                                        	else
                                                                        		tmp = t_0;
                                                                        	end
                                                                        	return tmp
                                                                        end
                                                                        
                                                                        \begin{array}{l}
                                                                        
                                                                        \\
                                                                        \begin{array}{l}
                                                                        t_0 := \left(0.5 \cdot \left(amt \cdot amt\right)\right) \cdot \left(u4 \cdot \left(amt + -1\right)\right)\\
                                                                        \mathbf{if}\;u4 \leq -50000000188416:\\
                                                                        \;\;\;\;t_0\\
                                                                        
                                                                        \mathbf{elif}\;u4 \leq 39999999311872:\\
                                                                        \;\;\;\;amt \cdot \left(\left(-u1\right) \cdot \mathsf{fma}\left(0.5, amt \cdot \left(amt + -2\right), 0.5\right)\right)\\
                                                                        
                                                                        \mathbf{else}:\\
                                                                        \;\;\;\;t_0\\
                                                                        
                                                                        
                                                                        \end{array}
                                                                        \end{array}
                                                                        
                                                                        Derivation
                                                                        1. Split input into 2 regimes
                                                                        2. if u4 < -5.00000002e13 or 3.99999993e13 < u4

                                                                          1. Initial program 71.2%

                                                                            \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                                                          2. Add Preprocessing
                                                                          3. Taylor expanded in amt around 0

                                                                            \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                                                          4. Step-by-step derivation
                                                                            1. +-commutativeN/A

                                                                              \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                                                            2. lower-fma.f32N/A

                                                                              \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                                                          5. Applied rewrites96.0%

                                                                            \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                                                          6. Taylor expanded in u4 around inf

                                                                            \[\leadsto \frac{1}{2} \cdot \color{blue}{\left({amt}^{2} \cdot \left(u4 \cdot \left(amt - 1\right)\right)\right)} \]
                                                                          7. Step-by-step derivation
                                                                            1. Applied rewrites59.6%

                                                                              \[\leadsto \left(0.5 \cdot \left(amt \cdot amt\right)\right) \cdot \color{blue}{\left(u4 \cdot \left(amt + -1\right)\right)} \]

                                                                            if -5.00000002e13 < u4 < 3.99999993e13

                                                                            1. Initial program 77.9%

                                                                              \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                                                            2. Add Preprocessing
                                                                            3. Taylor expanded in amt around 0

                                                                              \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                                                            4. Step-by-step derivation
                                                                              1. +-commutativeN/A

                                                                                \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                                                              2. lower-fma.f32N/A

                                                                                \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                                                            5. Applied rewrites94.3%

                                                                              \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                                                            6. Taylor expanded in u1 around -inf

                                                                              \[\leadsto -1 \cdot \color{blue}{\left(amt \cdot \left(u1 \cdot \left(\frac{1}{2} + \frac{1}{2} \cdot \left(amt \cdot \left(amt - 2\right)\right)\right)\right)\right)} \]
                                                                            7. Step-by-step derivation
                                                                              1. Applied rewrites31.9%

                                                                                \[\leadsto \left(-amt\right) \cdot \color{blue}{\left(u1 \cdot \mathsf{fma}\left(0.5, amt \cdot \left(amt + -2\right), 0.5\right)\right)} \]
                                                                            8. Recombined 2 regimes into one program.
                                                                            9. Final simplification41.8%

                                                                              \[\leadsto \begin{array}{l} \mathbf{if}\;u4 \leq -50000000188416:\\ \;\;\;\;\left(0.5 \cdot \left(amt \cdot amt\right)\right) \cdot \left(u4 \cdot \left(amt + -1\right)\right)\\ \mathbf{elif}\;u4 \leq 39999999311872:\\ \;\;\;\;amt \cdot \left(\left(-u1\right) \cdot \mathsf{fma}\left(0.5, amt \cdot \left(amt + -2\right), 0.5\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(0.5 \cdot \left(amt \cdot amt\right)\right) \cdot \left(u4 \cdot \left(amt + -1\right)\right)\\ \end{array} \]
                                                                            10. Add Preprocessing

                                                                            Alternative 18: 37.0% accurate, 8.0× speedup?

                                                                            \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(0.5 \cdot \left(amt \cdot amt\right)\right) \cdot \left(u4 \cdot \left(amt + -1\right)\right)\\ \mathbf{if}\;u4 \leq -50000000188416:\\ \;\;\;\;t_0\\ \mathbf{elif}\;u4 \leq 39999999311872:\\ \;\;\;\;\left(u1 \cdot amt\right) \cdot \mathsf{fma}\left(0.5, amt \cdot \left(2 - amt\right), -0.5\right)\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \end{array} \]
                                                                            (FPCore (u2 u3 u1 amt u4)
                                                                             :precision binary32
                                                                             (let* ((t_0 (* (* 0.5 (* amt amt)) (* u4 (+ amt -1.0)))))
                                                                               (if (<= u4 -50000000188416.0)
                                                                                 t_0
                                                                                 (if (<= u4 39999999311872.0)
                                                                                   (* (* u1 amt) (fma 0.5 (* amt (- 2.0 amt)) -0.5))
                                                                                   t_0))))
                                                                            float code(float u2, float u3, float u1, float amt, float u4) {
                                                                            	float t_0 = (0.5f * (amt * amt)) * (u4 * (amt + -1.0f));
                                                                            	float tmp;
                                                                            	if (u4 <= -50000000188416.0f) {
                                                                            		tmp = t_0;
                                                                            	} else if (u4 <= 39999999311872.0f) {
                                                                            		tmp = (u1 * amt) * fmaf(0.5f, (amt * (2.0f - amt)), -0.5f);
                                                                            	} else {
                                                                            		tmp = t_0;
                                                                            	}
                                                                            	return tmp;
                                                                            }
                                                                            
                                                                            function code(u2, u3, u1, amt, u4)
                                                                            	t_0 = Float32(Float32(Float32(0.5) * Float32(amt * amt)) * Float32(u4 * Float32(amt + Float32(-1.0))))
                                                                            	tmp = Float32(0.0)
                                                                            	if (u4 <= Float32(-50000000188416.0))
                                                                            		tmp = t_0;
                                                                            	elseif (u4 <= Float32(39999999311872.0))
                                                                            		tmp = Float32(Float32(u1 * amt) * fma(Float32(0.5), Float32(amt * Float32(Float32(2.0) - amt)), Float32(-0.5)));
                                                                            	else
                                                                            		tmp = t_0;
                                                                            	end
                                                                            	return tmp
                                                                            end
                                                                            
                                                                            \begin{array}{l}
                                                                            
                                                                            \\
                                                                            \begin{array}{l}
                                                                            t_0 := \left(0.5 \cdot \left(amt \cdot amt\right)\right) \cdot \left(u4 \cdot \left(amt + -1\right)\right)\\
                                                                            \mathbf{if}\;u4 \leq -50000000188416:\\
                                                                            \;\;\;\;t_0\\
                                                                            
                                                                            \mathbf{elif}\;u4 \leq 39999999311872:\\
                                                                            \;\;\;\;\left(u1 \cdot amt\right) \cdot \mathsf{fma}\left(0.5, amt \cdot \left(2 - amt\right), -0.5\right)\\
                                                                            
                                                                            \mathbf{else}:\\
                                                                            \;\;\;\;t_0\\
                                                                            
                                                                            
                                                                            \end{array}
                                                                            \end{array}
                                                                            
                                                                            Derivation
                                                                            1. Split input into 2 regimes
                                                                            2. if u4 < -5.00000002e13 or 3.99999993e13 < u4

                                                                              1. Initial program 71.2%

                                                                                \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                                                              2. Add Preprocessing
                                                                              3. Taylor expanded in amt around 0

                                                                                \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                                                              4. Step-by-step derivation
                                                                                1. +-commutativeN/A

                                                                                  \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                                                                2. lower-fma.f32N/A

                                                                                  \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                                                              5. Applied rewrites96.0%

                                                                                \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                                                              6. Taylor expanded in u4 around inf

                                                                                \[\leadsto \frac{1}{2} \cdot \color{blue}{\left({amt}^{2} \cdot \left(u4 \cdot \left(amt - 1\right)\right)\right)} \]
                                                                              7. Step-by-step derivation
                                                                                1. Applied rewrites59.6%

                                                                                  \[\leadsto \left(0.5 \cdot \left(amt \cdot amt\right)\right) \cdot \color{blue}{\left(u4 \cdot \left(amt + -1\right)\right)} \]

                                                                                if -5.00000002e13 < u4 < 3.99999993e13

                                                                                1. Initial program 77.9%

                                                                                  \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                                                                2. Add Preprocessing
                                                                                3. Taylor expanded in amt around 0

                                                                                  \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                                                                4. Step-by-step derivation
                                                                                  1. +-commutativeN/A

                                                                                    \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                                                                  2. lower-fma.f32N/A

                                                                                    \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                                                                5. Applied rewrites94.3%

                                                                                  \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                                                                6. Taylor expanded in u1 around inf

                                                                                  \[\leadsto amt \cdot \color{blue}{\left(u1 \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(2 + -1 \cdot amt\right)\right) - \frac{1}{2}\right)\right)} \]
                                                                                7. Step-by-step derivation
                                                                                  1. Applied rewrites31.9%

                                                                                    \[\leadsto \left(amt \cdot u1\right) \cdot \color{blue}{\mathsf{fma}\left(0.5, amt \cdot \left(2 - amt\right), -0.5\right)} \]
                                                                                8. Recombined 2 regimes into one program.
                                                                                9. Final simplification41.7%

                                                                                  \[\leadsto \begin{array}{l} \mathbf{if}\;u4 \leq -50000000188416:\\ \;\;\;\;\left(0.5 \cdot \left(amt \cdot amt\right)\right) \cdot \left(u4 \cdot \left(amt + -1\right)\right)\\ \mathbf{elif}\;u4 \leq 39999999311872:\\ \;\;\;\;\left(u1 \cdot amt\right) \cdot \mathsf{fma}\left(0.5, amt \cdot \left(2 - amt\right), -0.5\right)\\ \mathbf{else}:\\ \;\;\;\;\left(0.5 \cdot \left(amt \cdot amt\right)\right) \cdot \left(u4 \cdot \left(amt + -1\right)\right)\\ \end{array} \]
                                                                                10. Add Preprocessing

                                                                                Alternative 19: 25.2% accurate, 12.4× speedup?

                                                                                \[\begin{array}{l} \\ \left(0.5 \cdot \left(amt \cdot amt\right)\right) \cdot \left(u4 \cdot \left(amt + -1\right)\right) \end{array} \]
                                                                                (FPCore (u2 u3 u1 amt u4)
                                                                                 :precision binary32
                                                                                 (* (* 0.5 (* amt amt)) (* u4 (+ amt -1.0))))
                                                                                float code(float u2, float u3, float u1, float amt, float u4) {
                                                                                	return (0.5f * (amt * amt)) * (u4 * (amt + -1.0f));
                                                                                }
                                                                                
                                                                                real(4) function code(u2, u3, u1, amt, u4)
                                                                                    real(4), intent (in) :: u2
                                                                                    real(4), intent (in) :: u3
                                                                                    real(4), intent (in) :: u1
                                                                                    real(4), intent (in) :: amt
                                                                                    real(4), intent (in) :: u4
                                                                                    code = (0.5e0 * (amt * amt)) * (u4 * (amt + (-1.0e0)))
                                                                                end function
                                                                                
                                                                                function code(u2, u3, u1, amt, u4)
                                                                                	return Float32(Float32(Float32(0.5) * Float32(amt * amt)) * Float32(u4 * Float32(amt + Float32(-1.0))))
                                                                                end
                                                                                
                                                                                function tmp = code(u2, u3, u1, amt, u4)
                                                                                	tmp = (single(0.5) * (amt * amt)) * (u4 * (amt + single(-1.0)));
                                                                                end
                                                                                
                                                                                \begin{array}{l}
                                                                                
                                                                                \\
                                                                                \left(0.5 \cdot \left(amt \cdot amt\right)\right) \cdot \left(u4 \cdot \left(amt + -1\right)\right)
                                                                                \end{array}
                                                                                
                                                                                Derivation
                                                                                1. Initial program 75.5%

                                                                                  \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                                                                2. Add Preprocessing
                                                                                3. Taylor expanded in amt around 0

                                                                                  \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2 + amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right)} \]
                                                                                4. Step-by-step derivation
                                                                                  1. +-commutativeN/A

                                                                                    \[\leadsto \color{blue}{amt \cdot \left(\frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right)\right) + \frac{1}{65536} \cdot u2} \]
                                                                                  2. lower-fma.f32N/A

                                                                                    \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \frac{1}{2} \cdot \left(u3 - u1\right) + amt \cdot \left(\frac{1}{2} \cdot \left(amt \cdot \left(\left(u4 + 3 \cdot u2\right) - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - \left(u4 + 5 \cdot u2\right)\right)\right), \frac{1}{65536} \cdot u2\right)} \]
                                                                                5. Applied rewrites94.9%

                                                                                  \[\leadsto \color{blue}{\mathsf{fma}\left(amt, \mathsf{fma}\left(amt, 0.5 \cdot \mathsf{fma}\left(amt, \mathsf{fma}\left(3, u2 - u3, u4\right) - u1, \mathsf{fma}\left(2, u1, \mathsf{fma}\left(u3, 4, u2 \cdot -5\right)\right) - u4\right), \left(u3 - u1\right) \cdot 0.5\right), u2 \cdot 1.52587890625 \cdot 10^{-5}\right)} \]
                                                                                6. Taylor expanded in u4 around inf

                                                                                  \[\leadsto \frac{1}{2} \cdot \color{blue}{\left({amt}^{2} \cdot \left(u4 \cdot \left(amt - 1\right)\right)\right)} \]
                                                                                7. Step-by-step derivation
                                                                                  1. Applied rewrites27.5%

                                                                                    \[\leadsto \left(0.5 \cdot \left(amt \cdot amt\right)\right) \cdot \color{blue}{\left(u4 \cdot \left(amt + -1\right)\right)} \]
                                                                                  2. Add Preprocessing

                                                                                  Alternative 20: 15.7% accurate, 21.3× speedup?

                                                                                  \[\begin{array}{l} \\ \left(u3 - u1\right) \cdot \left(amt \cdot 0.5\right) \end{array} \]
                                                                                  (FPCore (u2 u3 u1 amt u4) :precision binary32 (* (- u3 u1) (* amt 0.5)))
                                                                                  float code(float u2, float u3, float u1, float amt, float u4) {
                                                                                  	return (u3 - u1) * (amt * 0.5f);
                                                                                  }
                                                                                  
                                                                                  real(4) function code(u2, u3, u1, amt, u4)
                                                                                      real(4), intent (in) :: u2
                                                                                      real(4), intent (in) :: u3
                                                                                      real(4), intent (in) :: u1
                                                                                      real(4), intent (in) :: amt
                                                                                      real(4), intent (in) :: u4
                                                                                      code = (u3 - u1) * (amt * 0.5e0)
                                                                                  end function
                                                                                  
                                                                                  function code(u2, u3, u1, amt, u4)
                                                                                  	return Float32(Float32(u3 - u1) * Float32(amt * Float32(0.5)))
                                                                                  end
                                                                                  
                                                                                  function tmp = code(u2, u3, u1, amt, u4)
                                                                                  	tmp = (u3 - u1) * (amt * single(0.5));
                                                                                  end
                                                                                  
                                                                                  \begin{array}{l}
                                                                                  
                                                                                  \\
                                                                                  \left(u3 - u1\right) \cdot \left(amt \cdot 0.5\right)
                                                                                  \end{array}
                                                                                  
                                                                                  Derivation
                                                                                  1. Initial program 75.5%

                                                                                    \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                                                                  2. Add Preprocessing
                                                                                  3. Taylor expanded in u2 around 0

                                                                                    \[\leadsto \color{blue}{\frac{1}{131072} \cdot \left(65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right) + \left(65536 \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right)\right) + 65536 \cdot \left({amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right)\right)\right)} \]
                                                                                  4. Step-by-step derivation
                                                                                    1. +-commutativeN/A

                                                                                      \[\leadsto \frac{1}{131072} \cdot \color{blue}{\left(\left(65536 \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right)\right) + 65536 \cdot \left({amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right)\right) + 65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right)\right)} \]
                                                                                    2. distribute-lft-inN/A

                                                                                      \[\leadsto \color{blue}{\frac{1}{131072} \cdot \left(65536 \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right)\right) + 65536 \cdot \left({amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right)\right) + \frac{1}{131072} \cdot \left(65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right)\right)} \]
                                                                                    3. distribute-lft-outN/A

                                                                                      \[\leadsto \frac{1}{131072} \cdot \color{blue}{\left(65536 \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right)\right)} + \frac{1}{131072} \cdot \left(65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right)\right) \]
                                                                                    4. associate-*r*N/A

                                                                                      \[\leadsto \color{blue}{\left(\frac{1}{131072} \cdot 65536\right) \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right)} + \frac{1}{131072} \cdot \left(65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right)\right) \]
                                                                                    5. metadata-evalN/A

                                                                                      \[\leadsto \color{blue}{\frac{1}{2}} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \frac{1}{131072} \cdot \left(65536 \cdot \left(amt \cdot \left(u3 - u1\right)\right)\right) \]
                                                                                    6. associate-*r*N/A

                                                                                      \[\leadsto \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \color{blue}{\left(\frac{1}{131072} \cdot 65536\right) \cdot \left(amt \cdot \left(u3 - u1\right)\right)} \]
                                                                                    7. metadata-evalN/A

                                                                                      \[\leadsto \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \color{blue}{\frac{1}{2}} \cdot \left(amt \cdot \left(u3 - u1\right)\right) \]
                                                                                    8. *-commutativeN/A

                                                                                      \[\leadsto \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \color{blue}{\left(amt \cdot \left(u3 - u1\right)\right) \cdot \frac{1}{2}} \]
                                                                                    9. associate-*r*N/A

                                                                                      \[\leadsto \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + \color{blue}{amt \cdot \left(\left(u3 - u1\right) \cdot \frac{1}{2}\right)} \]
                                                                                    10. *-commutativeN/A

                                                                                      \[\leadsto \frac{1}{2} \cdot \left({amt}^{2} \cdot \left(\left(2 \cdot u1 + 4 \cdot u3\right) - u4\right) + {amt}^{3} \cdot \left(u4 - \left(u1 + 3 \cdot u3\right)\right)\right) + amt \cdot \color{blue}{\left(\frac{1}{2} \cdot \left(u3 - u1\right)\right)} \]
                                                                                  5. Applied rewrites67.4%

                                                                                    \[\leadsto \color{blue}{\mathsf{fma}\left(0.5, \mathsf{fma}\left(amt \cdot \left(amt \cdot amt\right), u4 - \mathsf{fma}\left(3, u3, u1\right), amt \cdot \left(amt \cdot \mathsf{fma}\left(2, u1, u3 \cdot 4 - u4\right)\right)\right), \left(amt \cdot \left(u3 - u1\right)\right) \cdot 0.5\right)} \]
                                                                                  6. Taylor expanded in amt around 0

                                                                                    \[\leadsto \frac{1}{2} \cdot \color{blue}{\left(amt \cdot \left(u3 - u1\right)\right)} \]
                                                                                  7. Step-by-step derivation
                                                                                    1. Applied rewrites14.9%

                                                                                      \[\leadsto \left(0.5 \cdot amt\right) \cdot \color{blue}{\left(u3 - u1\right)} \]
                                                                                    2. Final simplification14.9%

                                                                                      \[\leadsto \left(u3 - u1\right) \cdot \left(amt \cdot 0.5\right) \]
                                                                                    3. Add Preprocessing

                                                                                    Alternative 21: 4.1% accurate, 49.7× speedup?

                                                                                    \[\begin{array}{l} \\ u2 \cdot 1.52587890625 \cdot 10^{-5} \end{array} \]
                                                                                    (FPCore (u2 u3 u1 amt u4) :precision binary32 (* u2 1.52587890625e-5))
                                                                                    float code(float u2, float u3, float u1, float amt, float u4) {
                                                                                    	return u2 * 1.52587890625e-5f;
                                                                                    }
                                                                                    
                                                                                    real(4) function code(u2, u3, u1, amt, u4)
                                                                                        real(4), intent (in) :: u2
                                                                                        real(4), intent (in) :: u3
                                                                                        real(4), intent (in) :: u1
                                                                                        real(4), intent (in) :: amt
                                                                                        real(4), intent (in) :: u4
                                                                                        code = u2 * 1.52587890625e-5
                                                                                    end function
                                                                                    
                                                                                    function code(u2, u3, u1, amt, u4)
                                                                                    	return Float32(u2 * Float32(1.52587890625e-5))
                                                                                    end
                                                                                    
                                                                                    function tmp = code(u2, u3, u1, amt, u4)
                                                                                    	tmp = u2 * single(1.52587890625e-5);
                                                                                    end
                                                                                    
                                                                                    \begin{array}{l}
                                                                                    
                                                                                    \\
                                                                                    u2 \cdot 1.52587890625 \cdot 10^{-5}
                                                                                    \end{array}
                                                                                    
                                                                                    Derivation
                                                                                    1. Initial program 75.5%

                                                                                      \[7.62939453125 \cdot 10^{-6} \cdot \left(\left(\left(2 \cdot u2 + \left(u3 - u1\right) \cdot \left(amt \cdot 65536\right)\right) + \left(\left(\left(2 \cdot u1 - 5 \cdot u2\right) + 4 \cdot u3\right) - u4\right) \cdot \left({amt}^{2} \cdot 65536\right)\right) + \left(\left(\left(3 \cdot u2 - u1\right) - 3 \cdot u3\right) + u4\right) \cdot \left({amt}^{3} \cdot 65536\right)\right) \]
                                                                                    2. Add Preprocessing
                                                                                    3. Taylor expanded in amt around 0

                                                                                      \[\leadsto \color{blue}{\frac{1}{65536} \cdot u2} \]
                                                                                    4. Step-by-step derivation
                                                                                      1. *-commutativeN/A

                                                                                        \[\leadsto \color{blue}{u2 \cdot \frac{1}{65536}} \]
                                                                                      2. lower-*.f324.4

                                                                                        \[\leadsto \color{blue}{u2 \cdot 1.52587890625 \cdot 10^{-5}} \]
                                                                                    5. Applied rewrites4.4%

                                                                                      \[\leadsto \color{blue}{u2 \cdot 1.52587890625 \cdot 10^{-5}} \]
                                                                                    6. Add Preprocessing

                                                                                    Reproduce

                                                                                    ?
                                                                                    herbie shell --seed 5 
                                                                                    (FPCore (u2 u3 u1 amt u4)
                                                                                      :name "(* 7.62939453125e-6 (+ (+ (+ (* 2.0 u2) (* (- u3 u1) (* amt 65536))) (* (- (+ (- (* 2.0 u1) (* 5.0 u2)) (* 4.0 u3)) u4) (* (pow amt 2) 65536))) (* (+ (- (- (* 3.0 u2) u1) (* 3.0 u3)) u4) (* (pow amt 3) 65536))))"
                                                                                      :precision binary32
                                                                                      :pre (and (<= 0.5 amt) (<= amt 1.0))
                                                                                      (* 7.62939453125e-6 (+ (+ (+ (* 2.0 u2) (* (- u3 u1) (* amt 65536.0))) (* (- (+ (- (* 2.0 u1) (* 5.0 u2)) (* 4.0 u3)) u4) (* (pow amt 2.0) 65536.0))) (* (+ (- (- (* 3.0 u2) u1) (* 3.0 u3)) u4) (* (pow amt 3.0) 65536.0)))))