Initial program 0.2
\[\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 + a\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right)\right) - 1
\]
Taylor expanded in a around 0 0.3
\[\leadsto \left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 + a\right) + \color{blue}{{b}^{2}}\right)\right) - 1
\]
Simplified0.3
\[\leadsto \left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 + a\right) + \color{blue}{b \cdot b}\right)\right) - 1
\]
Proof
(*.f64 b b): 0 points increase in error, 0 points decrease in error
(Rewrite<= unpow2_binary64 (pow.f64 b 2)): 0 points increase in error, 0 points decrease in error
Taylor expanded in b around 0 0.2
\[\leadsto \color{blue}{\left(4 \cdot \left(\left(1 + a\right) \cdot {a}^{2}\right) + \left({\left({a}^{2}\right)}^{2} + \left({b}^{4} + \left(4 + 2 \cdot {a}^{2}\right) \cdot {b}^{2}\right)\right)\right)} - 1
\]
Simplified0.1
\[\leadsto \color{blue}{\left(\mathsf{fma}\left(4, \left(a + 1\right) \cdot \left(a \cdot a\right), {a}^{4}\right) + \left(\left(b \cdot b\right) \cdot \left(4 + 2 \cdot \left(a \cdot a\right)\right) + {b}^{4}\right)\right)} - 1
\]
Proof
(+.f64 (fma.f64 4 (*.f64 (+.f64 a 1) (*.f64 a a)) (pow.f64 a 4)) (+.f64 (*.f64 (*.f64 b b) (+.f64 4 (*.f64 2 (*.f64 a a)))) (pow.f64 b 4))): 0 points increase in error, 0 points decrease in error
(+.f64 (fma.f64 4 (*.f64 (Rewrite<= +-commutative_binary64 (+.f64 1 a)) (*.f64 a a)) (pow.f64 a 4)) (+.f64 (*.f64 (*.f64 b b) (+.f64 4 (*.f64 2 (*.f64 a a)))) (pow.f64 b 4))): 0 points increase in error, 0 points decrease in error
(+.f64 (fma.f64 4 (*.f64 (+.f64 1 a) (Rewrite<= unpow2_binary64 (pow.f64 a 2))) (pow.f64 a 4)) (+.f64 (*.f64 (*.f64 b b) (+.f64 4 (*.f64 2 (*.f64 a a)))) (pow.f64 b 4))): 0 points increase in error, 0 points decrease in error
(+.f64 (fma.f64 4 (*.f64 (+.f64 1 a) (pow.f64 a 2)) (pow.f64 a (Rewrite<= metadata-eval (*.f64 2 2)))) (+.f64 (*.f64 (*.f64 b b) (+.f64 4 (*.f64 2 (*.f64 a a)))) (pow.f64 b 4))): 0 points increase in error, 0 points decrease in error
(+.f64 (fma.f64 4 (*.f64 (+.f64 1 a) (pow.f64 a 2)) (Rewrite<= pow-sqr_binary64 (*.f64 (pow.f64 a 2) (pow.f64 a 2)))) (+.f64 (*.f64 (*.f64 b b) (+.f64 4 (*.f64 2 (*.f64 a a)))) (pow.f64 b 4))): 18 points increase in error, 1 points decrease in error
(+.f64 (fma.f64 4 (*.f64 (+.f64 1 a) (pow.f64 a 2)) (Rewrite<= unpow2_binary64 (pow.f64 (pow.f64 a 2) 2))) (+.f64 (*.f64 (*.f64 b b) (+.f64 4 (*.f64 2 (*.f64 a a)))) (pow.f64 b 4))): 0 points increase in error, 0 points decrease in error
(+.f64 (Rewrite<= fma-def_binary64 (+.f64 (*.f64 4 (*.f64 (+.f64 1 a) (pow.f64 a 2))) (pow.f64 (pow.f64 a 2) 2))) (+.f64 (*.f64 (*.f64 b b) (+.f64 4 (*.f64 2 (*.f64 a a)))) (pow.f64 b 4))): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (*.f64 4 (*.f64 (+.f64 1 a) (pow.f64 a 2))) (pow.f64 (pow.f64 a 2) 2)) (+.f64 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 b 2)) (+.f64 4 (*.f64 2 (*.f64 a a)))) (pow.f64 b 4))): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (*.f64 4 (*.f64 (+.f64 1 a) (pow.f64 a 2))) (pow.f64 (pow.f64 a 2) 2)) (+.f64 (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (Rewrite<= unpow2_binary64 (pow.f64 a 2))))) (pow.f64 b 4))): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (*.f64 4 (*.f64 (+.f64 1 a) (pow.f64 a 2))) (pow.f64 (pow.f64 a 2) 2)) (+.f64 (Rewrite<= *-commutative_binary64 (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2))) (pow.f64 b 4))): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (*.f64 4 (*.f64 (+.f64 1 a) (pow.f64 a 2))) (pow.f64 (pow.f64 a 2) 2)) (Rewrite<= +-commutative_binary64 (+.f64 (pow.f64 b 4) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2))))): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate-+r+_binary64 (+.f64 (*.f64 4 (*.f64 (+.f64 1 a) (pow.f64 a 2))) (+.f64 (pow.f64 (pow.f64 a 2) 2) (+.f64 (pow.f64 b 4) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2)))))): 0 points increase in error, 0 points decrease in error
Final simplification0.1
\[\leadsto \left(\mathsf{fma}\left(4, \left(a + 1\right) \cdot \left(a \cdot a\right), {a}^{4}\right) + \left(\left(b \cdot b\right) \cdot \left(4 + \left(a \cdot a\right) \cdot 2\right) + {b}^{4}\right)\right) + -1
\]