Initial program 0.2
\[\left(d1 \cdot 10 + d1 \cdot d2\right) + d1 \cdot 20
\]
Simplified0.0
\[\leadsto \color{blue}{d1 \cdot \left(d2 + 30\right)}
\]
Proof
(*.f64 d1 (+.f64 d2 30)): 0 points increase in error, 0 points decrease in error
(*.f64 d1 (+.f64 d2 (Rewrite<= metadata-eval (+.f64 10 20)))): 0 points increase in error, 0 points decrease in error
(*.f64 d1 (Rewrite<= associate-+l+_binary64 (+.f64 (+.f64 d2 10) 20))): 0 points increase in error, 2 points decrease in error
(*.f64 d1 (+.f64 (Rewrite<= +-commutative_binary64 (+.f64 10 d2)) 20)): 0 points increase in error, 0 points decrease in error
(Rewrite<= distribute-lft-out_binary64 (+.f64 (*.f64 d1 (+.f64 10 d2)) (*.f64 d1 20))): 47 points increase in error, 1 points decrease in error
(+.f64 (Rewrite<= distribute-lft-out_binary64 (+.f64 (*.f64 d1 10) (*.f64 d1 d2))) (*.f64 d1 20)): 1 points increase in error, 1 points decrease in error
Taylor expanded in d2 around 0 0.0
\[\leadsto \color{blue}{d2 \cdot d1 + 30 \cdot d1}
\]
Applied egg-rr0.0
\[\leadsto \color{blue}{\mathsf{fma}\left(d1, 30, d2 \cdot d1\right)}
\]
Final simplification0.0
\[\leadsto \mathsf{fma}\left(d1, 30, d1 \cdot d2\right)
\]