(/.f64 (/.f64 x (-.f64 y t)) (/.f64 z 2)): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 (/.f64 x (-.f64 y t)) 2) z)): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate-*l/_binary64 (*.f64 (/.f64 (/.f64 x (-.f64 y t)) z) 2)): 3 points increase in error, 0 points decrease in error
(*.f64 (Rewrite<= associate-/r*_binary64 (/.f64 x (*.f64 (-.f64 y t) z))) 2): 36 points increase in error, 64 points decrease in error
(Rewrite<= *-commutative_binary64 (*.f64 2 (/.f64 x (*.f64 (-.f64 y t) z)))): 0 points increase in error, 0 points decrease in error
if -inf.0 < (-.f64 (*.f64 y z) (*.f64 t z)) < 9.9999999999999993e260
Initial program 1.6
\[\frac{x \cdot 2}{y \cdot z - t \cdot z}
\]
Recombined 2 regimes into one program.
Final simplification1.2
\[\leadsto \begin{array}{l}
\mathbf{if}\;y \cdot z - z \cdot t \leq -\infty:\\
\;\;\;\;\frac{\frac{x}{y - t}}{\frac{z}{2}}\\
\mathbf{elif}\;y \cdot z - z \cdot t \leq 10^{+261}:\\
\;\;\;\;\frac{x \cdot 2}{y \cdot z - z \cdot t}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{y - t}}{\frac{z}{2}}\\
\end{array}
\]
herbie shell --seed 2022308
(FPCore (x y z t)
:name "Linear.Projection:infinitePerspective from linear-1.19.1.3, A"
:precision binary64
:herbie-target
(if (< (/ (* x 2.0) (- (* y z) (* t z))) -2.559141628295061e-13) (* (/ x (* (- y t) z)) 2.0) (if (< (/ (* x 2.0) (- (* y z) (* t z))) 1.045027827330126e-269) (/ (* (/ x z) 2.0) (- y t)) (* (/ x (* (- y t) z)) 2.0)))
(/ (* x 2.0) (- (* y z) (* t z))))