Initial program 0.2
\[\left(\left(x - \frac{16}{116}\right) \cdot 3\right) \cdot y
\]
Simplified0.2
\[\leadsto \color{blue}{\mathsf{fma}\left(x, 3, -0.41379310344827586\right) \cdot y}
\]
Proof
(*.f64 (fma.f64 x 3 -12/29) y): 0 points increase in error, 0 points decrease in error
(*.f64 (fma.f64 x 3 (Rewrite<= metadata-eval (*.f64 3 -4/29))) y): 0 points increase in error, 0 points decrease in error
(*.f64 (fma.f64 x 3 (*.f64 3 (Rewrite<= metadata-eval (neg.f64 4/29)))) y): 0 points increase in error, 0 points decrease in error
(*.f64 (fma.f64 x 3 (*.f64 3 (neg.f64 (Rewrite<= metadata-eval (/.f64 16 116))))) y): 0 points increase in error, 0 points decrease in error
(*.f64 (Rewrite<= fma-def_binary64 (+.f64 (*.f64 x 3) (*.f64 3 (neg.f64 (/.f64 16 116))))) y): 0 points increase in error, 0 points decrease in error
(*.f64 (+.f64 (Rewrite<= *-commutative_binary64 (*.f64 3 x)) (*.f64 3 (neg.f64 (/.f64 16 116)))) y): 0 points increase in error, 0 points decrease in error
(*.f64 (Rewrite<= distribute-lft-in_binary64 (*.f64 3 (+.f64 x (neg.f64 (/.f64 16 116))))) y): 0 points increase in error, 0 points decrease in error
(*.f64 (*.f64 3 (Rewrite<= sub-neg_binary64 (-.f64 x (/.f64 16 116)))) y): 0 points increase in error, 0 points decrease in error
(*.f64 (Rewrite<= *-commutative_binary64 (*.f64 (-.f64 x (/.f64 16 116)) 3)) y): 0 points increase in error, 0 points decrease in error
Final simplification0.2
\[\leadsto \mathsf{fma}\left(x, 3, -0.41379310344827586\right) \cdot y
\]