Initial program 0.1
\[3 \cdot \left(\left(\left(x \cdot 3\right) \cdot x - x \cdot 4\right) + 1\right)
\]
Simplified0.1
\[\leadsto \color{blue}{\mathsf{fma}\left(3, x \cdot \left(3 \cdot x - 4\right), 3\right)}
\]
Proof
(fma.f64 3 (*.f64 x (-.f64 (*.f64 3 x) 4)) 3): 0 points increase in error, 0 points decrease in error
(fma.f64 3 (*.f64 x (-.f64 (Rewrite<= *-commutative_binary64 (*.f64 x 3)) 4)) 3): 0 points increase in error, 0 points decrease in error
(fma.f64 3 (Rewrite<= distribute-lft-out--_binary64 (-.f64 (*.f64 x (*.f64 x 3)) (*.f64 x 4))) 3): 1 points increase in error, 0 points decrease in error
(fma.f64 3 (-.f64 (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 x 3) x)) (*.f64 x 4)) 3): 0 points increase in error, 0 points decrease in error
(Rewrite<= fma-def_binary64 (+.f64 (*.f64 3 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4))) 3)): 7 points increase in error, 4 points decrease in error
(+.f64 (*.f64 3 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4))) (Rewrite<= metadata-eval (*.f64 3 1))): 0 points increase in error, 0 points decrease in error
(Rewrite<= distribute-lft-in_binary64 (*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))): 3 points increase in error, 0 points decrease in error
Taylor expanded in x around 0 0.1
\[\leadsto \color{blue}{-12 \cdot x + \left(3 + 9 \cdot {x}^{2}\right)}
\]
Simplified0.1
\[\leadsto \color{blue}{\mathsf{fma}\left(-12, x, 3\right) + x \cdot \left(x \cdot 9\right)}
\]
Proof
(+.f64 (fma.f64 -12 x 3) (*.f64 x (*.f64 x 9))): 0 points increase in error, 0 points decrease in error
(+.f64 (Rewrite<= fma-def_binary64 (+.f64 (*.f64 -12 x) 3)) (*.f64 x (*.f64 x 9))): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (*.f64 -12 x) 3) (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 x x) 9))): 12 points increase in error, 14 points decrease in error
(+.f64 (+.f64 (*.f64 -12 x) 3) (Rewrite<= *-commutative_binary64 (*.f64 9 (*.f64 x x)))): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (*.f64 -12 x) 3) (*.f64 9 (Rewrite<= unpow2_binary64 (pow.f64 x 2)))): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate-+r+_binary64 (+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))): 0 points increase in error, 0 points decrease in error
Applied egg-rr0.1
\[\leadsto \color{blue}{\mathsf{fma}\left(x \cdot x, 9, \mathsf{fma}\left(-12, x, 3\right)\right)}
\]
Applied egg-rr0.1
\[\leadsto \mathsf{fma}\left(x \cdot x, 9, \color{blue}{x \cdot -12 + 3}\right)
\]
Final simplification0.1
\[\leadsto \mathsf{fma}\left(x \cdot x, 9, x \cdot -12 + 3\right)
\]