Initial program 0.0
\[x \cdot y - z \cdot t
\]
Taylor expanded in x around 0 0.0
\[\leadsto \color{blue}{-1 \cdot \left(t \cdot z\right) + y \cdot x}
\]
Simplified0.0
\[\leadsto \color{blue}{\mathsf{fma}\left(y, x, z \cdot \left(-t\right)\right)}
\]
Proof
(fma.f64 y x (*.f64 z (neg.f64 t))): 0 points increase in error, 0 points decrease in error
(fma.f64 y x (Rewrite<= distribute-rgt-neg-in_binary64 (neg.f64 (*.f64 z t)))): 0 points increase in error, 0 points decrease in error
(Rewrite=> fma-udef_binary64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 z t)))): 1 points increase in error, 0 points decrease in error
(+.f64 (Rewrite=> *-commutative_binary64 (*.f64 x y)) (neg.f64 (*.f64 z t))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 x y) (neg.f64 (Rewrite=> *-commutative_binary64 (*.f64 t z)))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 x y) (Rewrite<= mul-1-neg_binary64 (*.f64 -1 (*.f64 t z)))): 0 points increase in error, 0 points decrease in error
(Rewrite<= +-commutative_binary64 (+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 x y))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (*.f64 t z)) (Rewrite<= *-commutative_binary64 (*.f64 y x))): 0 points increase in error, 0 points decrease in error
Final simplification0.0
\[\leadsto \mathsf{fma}\left(y, x, z \cdot \left(-t\right)\right)
\]