Initial program 0.1
\[\left(d1 \cdot 3 + d1 \cdot d2\right) + d1 \cdot d3
\]
Simplified0.1
\[\leadsto \color{blue}{d1 \cdot \left(\left(3 + d2\right) + d3\right)}
\]
Proof
(*.f64 d1 (+.f64 (+.f64 3 d2) d3)): 0 points increase in error, 0 points decrease in error
(Rewrite<= distribute-lft-out_binary64 (+.f64 (*.f64 d1 (+.f64 3 d2)) (*.f64 d1 d3))): 5 points increase in error, 3 points decrease in error
(+.f64 (Rewrite<= distribute-lft-out_binary64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2))) (*.f64 d1 d3)): 1 points increase in error, 2 points decrease in error
Applied egg-rr0.1
\[\leadsto \color{blue}{\mathsf{fma}\left(d3, d1, d1 \cdot \left(3 + d2\right)\right)}
\]
Final simplification0.1
\[\leadsto \mathsf{fma}\left(d3, d1, d1 \cdot \left(3 + d2\right)\right)
\]