Initial program 0.1
\[x + \frac{x - y}{2}
\]
Taylor expanded in x around 0 0.1
\[\leadsto \color{blue}{-0.5 \cdot y + 1.5 \cdot x}
\]
Simplified0
\[\leadsto \color{blue}{\mathsf{fma}\left(1.5, x, -0.5 \cdot y\right)}
\]
Proof
(fma.f64 3/2 x (*.f64 -1/2 y)): 0 points increase in error, 0 points decrease in error
(Rewrite<= fma-def_binary64 (+.f64 (*.f64 3/2 x) (*.f64 -1/2 y))): 18 points increase in error, 0 points decrease in error
(+.f64 (*.f64 (Rewrite<= metadata-eval (+.f64 1/2 1)) x) (*.f64 -1/2 y)): 0 points increase in error, 0 points decrease in error
(+.f64 (Rewrite<= distribute-lft1-in_binary64 (+.f64 (*.f64 1/2 x) x)) (*.f64 -1/2 y)): 0 points increase in error, 0 points decrease in error
(Rewrite<= +-commutative_binary64 (+.f64 (*.f64 -1/2 y) (+.f64 (*.f64 1/2 x) x))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1/2 y) (Rewrite=> distribute-lft1-in_binary64 (*.f64 (+.f64 1/2 1) x))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1/2 y) (*.f64 (Rewrite=> metadata-eval 3/2) x)): 0 points increase in error, 0 points decrease in error
Final simplification0
\[\leadsto \mathsf{fma}\left(1.5, x, -0.5 \cdot y\right)
\]