Initial program 0.0
\[\left(d1 \cdot d2 + \left(d3 + 5\right) \cdot d1\right) + d1 \cdot 32
\]
Simplified0.0
\[\leadsto \color{blue}{d1 \cdot \left(d3 + \left(37 + d2\right)\right)}
\]
Proof
(*.f64 d1 (+.f64 d3 (+.f64 37 d2))): 0 points increase in error, 0 points decrease in error
(*.f64 d1 (+.f64 d3 (+.f64 (Rewrite<= metadata-eval (+.f64 5 32)) d2))): 0 points increase in error, 0 points decrease in error
(*.f64 d1 (Rewrite<= associate-+l+_binary64 (+.f64 (+.f64 d3 (+.f64 5 32)) d2))): 0 points increase in error, 0 points decrease in error
(*.f64 d1 (+.f64 (Rewrite<= associate-+l+_binary64 (+.f64 (+.f64 d3 5) 32)) d2)): 0 points increase in error, 0 points decrease in error
(*.f64 d1 (Rewrite=> +-commutative_binary64 (+.f64 d2 (+.f64 (+.f64 d3 5) 32)))): 0 points increase in error, 0 points decrease in error
(*.f64 d1 (Rewrite<= associate-+l+_binary64 (+.f64 (+.f64 d2 (+.f64 d3 5)) 32))): 0 points increase in error, 0 points decrease in error
(Rewrite<= distribute-lft-out_binary64 (+.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 5))) (*.f64 d1 32))): 9 points increase in error, 0 points decrease in error
(+.f64 (Rewrite<= distribute-rgt-out_binary64 (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 d3 5) d1))) (*.f64 d1 32)): 3 points increase in error, 4 points decrease in error
(+.f64 (+.f64 (Rewrite<= *-commutative_binary64 (*.f64 d1 d2)) (*.f64 (+.f64 d3 5) d1)) (*.f64 d1 32)): 0 points increase in error, 0 points decrease in error
Applied egg-rr0.0
\[\leadsto \color{blue}{\mathsf{fma}\left(37 + d2, d1, d1 \cdot d3\right)}
\]
Final simplification0.0
\[\leadsto \mathsf{fma}\left(37 + d2, d1, d1 \cdot d3\right)
\]