Simplified5.1
\[\leadsto \color{blue}{\mathsf{fma}\left(\varepsilon \cdot 5, {x}^{4}, \left(x \cdot x\right) \cdot \left({\varepsilon}^{3} \cdot 10 - \left(\left(\varepsilon \cdot \varepsilon\right) \cdot -10\right) \cdot x\right)\right)}
\]
Proof
(fma.f64 (*.f64 eps 5) (pow.f64 x 4) (*.f64 (*.f64 x x) (-.f64 (*.f64 (pow.f64 eps 3) 10) (*.f64 (*.f64 (*.f64 eps eps) -10) x)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (Rewrite<= *-commutative_binary64 (*.f64 5 eps)) (pow.f64 x 4) (*.f64 (*.f64 x x) (-.f64 (*.f64 (pow.f64 eps 3) 10) (*.f64 (*.f64 (*.f64 eps eps) -10) x)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (*.f64 (Rewrite<= metadata-eval (+.f64 4 1)) eps) (pow.f64 x 4) (*.f64 (*.f64 x x) (-.f64 (*.f64 (pow.f64 eps 3) 10) (*.f64 (*.f64 (*.f64 eps eps) -10) x)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (Rewrite<= distribute-lft1-in_binary64 (+.f64 (*.f64 4 eps) eps)) (pow.f64 x 4) (*.f64 (*.f64 x x) (-.f64 (*.f64 (pow.f64 eps 3) 10) (*.f64 (*.f64 (*.f64 eps eps) -10) x)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 x 2)) (-.f64 (*.f64 (pow.f64 eps 3) 10) (*.f64 (*.f64 (*.f64 eps eps) -10) x)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (*.f64 (pow.f64 x 2) (-.f64 (*.f64 (pow.f64 eps 3) (Rewrite<= metadata-eval (+.f64 6 4))) (*.f64 (*.f64 (*.f64 eps eps) -10) x)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (*.f64 (pow.f64 x 2) (-.f64 (*.f64 (pow.f64 eps 3) (+.f64 (Rewrite<= metadata-eval (+.f64 2 4)) 4)) (*.f64 (*.f64 (*.f64 eps eps) -10) x)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (*.f64 (pow.f64 x 2) (-.f64 (Rewrite<= distribute-lft-out_binary64 (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 2 4)) (*.f64 (pow.f64 eps 3) 4))) (*.f64 (*.f64 (*.f64 eps eps) -10) x)))): 1 points increase in error, 1 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (*.f64 (pow.f64 x 2) (-.f64 (+.f64 (*.f64 (Rewrite=> cube-mult_binary64 (*.f64 eps (*.f64 eps eps))) (+.f64 2 4)) (*.f64 (pow.f64 eps 3) 4)) (*.f64 (*.f64 (*.f64 eps eps) -10) x)))): 2 points increase in error, 2 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (*.f64 (pow.f64 x 2) (-.f64 (+.f64 (*.f64 (*.f64 eps (Rewrite<= unpow2_binary64 (pow.f64 eps 2))) (+.f64 2 4)) (*.f64 (pow.f64 eps 3) 4)) (*.f64 (*.f64 (*.f64 eps eps) -10) x)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (*.f64 (pow.f64 x 2) (-.f64 (+.f64 (Rewrite<= associate-*r*_binary64 (*.f64 eps (*.f64 (pow.f64 eps 2) (+.f64 2 4)))) (*.f64 (pow.f64 eps 3) 4)) (*.f64 (*.f64 (*.f64 eps eps) -10) x)))): 3 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (*.f64 (pow.f64 x 2) (-.f64 (+.f64 (*.f64 eps (Rewrite<= distribute-rgt-out_binary64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))))) (*.f64 (pow.f64 eps 3) 4)) (*.f64 (*.f64 (*.f64 eps eps) -10) x)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (*.f64 (pow.f64 x 2) (-.f64 (+.f64 (Rewrite<= *-commutative_binary64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps)) (*.f64 (pow.f64 eps 3) 4)) (*.f64 (*.f64 (*.f64 eps eps) -10) x)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (*.f64 (pow.f64 x 2) (-.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (Rewrite<= *-commutative_binary64 (*.f64 4 (pow.f64 eps 3)))) (*.f64 (*.f64 (*.f64 eps eps) -10) x)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (*.f64 (pow.f64 x 2) (-.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (*.f64 4 (pow.f64 eps 3))) (*.f64 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 eps 2)) -10) x)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (*.f64 (pow.f64 x 2) (-.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (*.f64 4 (pow.f64 eps 3))) (*.f64 (*.f64 (pow.f64 eps 2) (Rewrite<= metadata-eval (-.f64 -4 6))) x)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (*.f64 (pow.f64 x 2) (-.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (*.f64 4 (pow.f64 eps 3))) (*.f64 (*.f64 (pow.f64 eps 2) (-.f64 -4 (Rewrite<= metadata-eval (+.f64 2 4)))) x)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (*.f64 (pow.f64 x 2) (-.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (*.f64 4 (pow.f64 eps 3))) (*.f64 (Rewrite<= distribute-rgt-out--_binary64 (-.f64 (*.f64 -4 (pow.f64 eps 2)) (*.f64 (+.f64 2 4) (pow.f64 eps 2)))) x)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (*.f64 (pow.f64 x 2) (-.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (*.f64 4 (pow.f64 eps 3))) (*.f64 (-.f64 (*.f64 -4 (pow.f64 eps 2)) (Rewrite<= *-commutative_binary64 (*.f64 (pow.f64 eps 2) (+.f64 2 4)))) x)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (*.f64 (pow.f64 x 2) (-.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (*.f64 4 (pow.f64 eps 3))) (*.f64 (-.f64 (*.f64 -4 (pow.f64 eps 2)) (Rewrite<= distribute-rgt-out_binary64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))))) x)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (*.f64 (pow.f64 x 2) (-.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (*.f64 4 (pow.f64 eps 3))) (*.f64 (Rewrite<= unsub-neg_binary64 (+.f64 (*.f64 -4 (pow.f64 eps 2)) (neg.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2)))))) x)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (*.f64 (pow.f64 x 2) (-.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (*.f64 4 (pow.f64 eps 3))) (*.f64 (+.f64 (*.f64 -4 (pow.f64 eps 2)) (Rewrite<= mul-1-neg_binary64 (*.f64 -1 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2)))))) x)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (*.f64 (pow.f64 x 2) (-.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (*.f64 4 (pow.f64 eps 3))) (*.f64 (Rewrite<= +-commutative_binary64 (+.f64 (*.f64 -1 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2)))) (*.f64 -4 (pow.f64 eps 2)))) x)))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (Rewrite<= distribute-rgt-out--_binary64 (-.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (*.f64 4 (pow.f64 eps 3))) (pow.f64 x 2)) (*.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2)))) (*.f64 -4 (pow.f64 eps 2))) x) (pow.f64 x 2))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (-.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (*.f64 4 (pow.f64 eps 3))) (pow.f64 x 2)) (Rewrite<= associate-*r*_binary64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2)))) (*.f64 -4 (pow.f64 eps 2))) (*.f64 x (pow.f64 x 2)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (-.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (*.f64 4 (pow.f64 eps 3))) (pow.f64 x 2)) (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2)))) (*.f64 -4 (pow.f64 eps 2))) (*.f64 x (Rewrite=> unpow2_binary64 (*.f64 x x)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (-.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (*.f64 4 (pow.f64 eps 3))) (pow.f64 x 2)) (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2)))) (*.f64 -4 (pow.f64 eps 2))) (Rewrite<= cube-mult_binary64 (pow.f64 x 3))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (Rewrite<= unsub-neg_binary64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (*.f64 4 (pow.f64 eps 3))) (pow.f64 x 2)) (neg.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2)))) (*.f64 -4 (pow.f64 eps 2))) (pow.f64 x 3)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (*.f64 4 (pow.f64 eps 3))) (pow.f64 x 2)) (Rewrite<= mul-1-neg_binary64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2)))) (*.f64 -4 (pow.f64 eps 2))) (pow.f64 x 3)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4) (Rewrite<= +-commutative_binary64 (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2)))) (*.f64 -4 (pow.f64 eps 2))) (pow.f64 x 3))) (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (*.f64 4 (pow.f64 eps 3))) (pow.f64 x 2))))): 0 points increase in error, 0 points decrease in error
(Rewrite<= fma-def_binary64 (+.f64 (*.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2)))) (*.f64 -4 (pow.f64 eps 2))) (pow.f64 x 3))) (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (*.f64 4 (pow.f64 eps 3))) (pow.f64 x 2))))): 2 points increase in error, 0 points decrease in error
(Rewrite=> associate-+r+_binary64 (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4)) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2)))) (*.f64 -4 (pow.f64 eps 2))) (pow.f64 x 3)))) (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (*.f64 4 (pow.f64 eps 3))) (pow.f64 x 2)))): 1 points increase in error, 0 points decrease in error
(+.f64 (Rewrite<= +-commutative_binary64 (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2)))) (*.f64 -4 (pow.f64 eps 2))) (pow.f64 x 3))) (*.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4)))) (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (*.f64 4 (pow.f64 eps 3))) (pow.f64 x 2))): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate-+r+_binary64 (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2)))) (*.f64 -4 (pow.f64 eps 2))) (pow.f64 x 3))) (+.f64 (*.f64 (+.f64 (*.f64 4 eps) eps) (pow.f64 x 4)) (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps) (*.f64 4 (pow.f64 eps 3))) (pow.f64 x 2))))): 0 points increase in error, 0 points decrease in error
Simplified5.1
\[\leadsto \mathsf{fma}\left(\varepsilon \cdot 5, {x}^{4}, \color{blue}{\left(x \cdot x\right) \cdot \left(\left(10 \cdot \left(\varepsilon \cdot \varepsilon\right)\right) \cdot \left(\varepsilon + x\right)\right)}\right)
\]
Proof
(*.f64 (*.f64 x x) (*.f64 (*.f64 10 (*.f64 eps eps)) (+.f64 eps x))): 0 points increase in error, 0 points decrease in error
(*.f64 (*.f64 x x) (Rewrite<= distribute-rgt-out_binary64 (+.f64 (*.f64 eps (*.f64 10 (*.f64 eps eps))) (*.f64 x (*.f64 10 (*.f64 eps eps)))))): 0 points increase in error, 1 points decrease in error
(*.f64 (*.f64 x x) (+.f64 (*.f64 eps (Rewrite=> *-commutative_binary64 (*.f64 (*.f64 eps eps) 10))) (*.f64 x (*.f64 10 (*.f64 eps eps))))): 0 points increase in error, 0 points decrease in error
(*.f64 (*.f64 x x) (+.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 eps (*.f64 eps eps)) 10)) (*.f64 x (*.f64 10 (*.f64 eps eps))))): 3 points increase in error, 3 points decrease in error
(*.f64 (*.f64 x x) (+.f64 (*.f64 (Rewrite<= cube-mult_binary64 (pow.f64 eps 3)) 10) (*.f64 x (*.f64 10 (*.f64 eps eps))))): 4 points increase in error, 2 points decrease in error
(*.f64 (*.f64 x x) (Rewrite<= +-commutative_binary64 (+.f64 (*.f64 x (*.f64 10 (*.f64 eps eps))) (*.f64 (pow.f64 eps 3) 10)))): 0 points increase in error, 0 points decrease in error
(Rewrite<= distribute-rgt-out_binary64 (+.f64 (*.f64 (*.f64 x (*.f64 10 (*.f64 eps eps))) (*.f64 x x)) (*.f64 (*.f64 (pow.f64 eps 3) 10) (*.f64 x x)))): 2 points increase in error, 1 points decrease in error
(+.f64 (*.f64 (Rewrite=> *-commutative_binary64 (*.f64 (*.f64 10 (*.f64 eps eps)) x)) (*.f64 x x)) (*.f64 (*.f64 (pow.f64 eps 3) 10) (*.f64 x x))): 0 points increase in error, 0 points decrease in error
(+.f64 (Rewrite=> associate-*l*_binary64 (*.f64 (*.f64 10 (*.f64 eps eps)) (*.f64 x (*.f64 x x)))) (*.f64 (*.f64 (pow.f64 eps 3) 10) (*.f64 x x))): 1 points increase in error, 2 points decrease in error
(+.f64 (*.f64 (*.f64 10 (*.f64 eps eps)) (Rewrite<= cube-mult_binary64 (pow.f64 x 3))) (*.f64 (*.f64 (pow.f64 eps 3) 10) (*.f64 x x))): 2 points increase in error, 1 points decrease in error
(+.f64 (Rewrite<= associate-*r*_binary64 (*.f64 10 (*.f64 (*.f64 eps eps) (pow.f64 x 3)))) (*.f64 (*.f64 (pow.f64 eps 3) 10) (*.f64 x x))): 6 points increase in error, 3 points decrease in error
(+.f64 (*.f64 10 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 eps 2)) (pow.f64 x 3))) (*.f64 (*.f64 (pow.f64 eps 3) 10) (*.f64 x x))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 10 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 (Rewrite<= *-commutative_binary64 (*.f64 10 (pow.f64 eps 3))) (*.f64 x x))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 10 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (Rewrite<= associate-*r*_binary64 (*.f64 10 (*.f64 (pow.f64 eps 3) (*.f64 x x))))): 5 points increase in error, 2 points decrease in error
(+.f64 (*.f64 10 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 10 (*.f64 (pow.f64 eps 3) (Rewrite<= unpow2_binary64 (pow.f64 x 2))))): 0 points increase in error, 0 points decrease in error