Initial program 0.2
\[x + \left(\left(y - x\right) \cdot 6\right) \cdot z
\]
Taylor expanded in z around 0 0.2
\[\leadsto \color{blue}{6 \cdot \left(z \cdot \left(y - x\right)\right) + x}
\]
Taylor expanded in y around 0 0.2
\[\leadsto \color{blue}{\left(-6 \cdot \left(z \cdot x\right) + 6 \cdot \left(y \cdot z\right)\right)} + x
\]
Simplified0.2
\[\leadsto \color{blue}{\left(-6 \cdot z\right) \cdot \left(x - y\right)} + x
\]
Proof
(*.f64 (*.f64 -6 z) (-.f64 x y)): 0 points increase in error, 0 points decrease in error
(Rewrite=> associate-*l*_binary64 (*.f64 -6 (*.f64 z (-.f64 x y)))): 48 points increase in error, 50 points decrease in error
(*.f64 -6 (Rewrite<= distribute-rgt-out--_binary64 (-.f64 (*.f64 x z) (*.f64 y z)))): 3 points increase in error, 2 points decrease in error
(*.f64 -6 (-.f64 (Rewrite<= *-commutative_binary64 (*.f64 z x)) (*.f64 y z))): 0 points increase in error, 0 points decrease in error
(Rewrite<= distribute-lft-out--_binary64 (-.f64 (*.f64 -6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))): 2 points increase in error, 1 points decrease in error
(-.f64 (*.f64 -6 (*.f64 z x)) (*.f64 (Rewrite<= metadata-eval (neg.f64 6)) (*.f64 y z))): 0 points increase in error, 0 points decrease in error
(-.f64 (*.f64 -6 (*.f64 z x)) (Rewrite<= distribute-lft-neg-in_binary64 (neg.f64 (*.f64 6 (*.f64 y z))))): 0 points increase in error, 0 points decrease in error
(Rewrite=> fma-neg_binary64 (fma.f64 -6 (*.f64 z x) (neg.f64 (neg.f64 (*.f64 6 (*.f64 y z)))))): 5 points increase in error, 6 points decrease in error
(fma.f64 -6 (*.f64 z x) (Rewrite=> remove-double-neg_binary64 (*.f64 6 (*.f64 y z)))): 0 points increase in error, 0 points decrease in error
(Rewrite<= fma-def_binary64 (+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))): 6 points increase in error, 5 points decrease in error
Final simplification0.2
\[\leadsto x + \left(-6 \cdot z\right) \cdot \left(x - y\right)
\]