Initial program 28.3
\[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}
\]
Taylor expanded in b around inf 5.8
\[\leadsto \color{blue}{-0.5625 \cdot \frac{{c}^{3} \cdot {a}^{2}}{{b}^{5}} + \left(-0.16666666666666666 \cdot \frac{{\left(-1.125 \cdot \left({c}^{2} \cdot {a}^{2}\right)\right)}^{2} + 5.0625 \cdot \left({c}^{4} \cdot {a}^{4}\right)}{a \cdot {b}^{7}} + \left(-0.5 \cdot \frac{c}{b} + -0.375 \cdot \frac{{c}^{2} \cdot a}{{b}^{3}}\right)\right)}
\]
Simplified5.8
\[\leadsto \color{blue}{\mathsf{fma}\left(-0.5625, \left(a \cdot a\right) \cdot \frac{{c}^{3}}{{b}^{5}}, \mathsf{fma}\left(-0.5, \frac{c}{b}, \mathsf{fma}\left(-0.375, a \cdot \frac{c \cdot c}{{b}^{3}}, \frac{\left(\left({c}^{4} \cdot {a}^{4}\right) \cdot 6.328125\right) \cdot -0.16666666666666666}{a \cdot {b}^{7}}\right)\right)\right)}
\]
Proof
(fma.f64 -9/16 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 -1/2 (/.f64 c b) (fma.f64 -3/8 (*.f64 a (/.f64 (*.f64 c c) (pow.f64 b 3))) (/.f64 (*.f64 (*.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) 405/64) -1/6) (*.f64 a (pow.f64 b 7)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 -9/16 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 a 2)) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 -1/2 (/.f64 c b) (fma.f64 -3/8 (*.f64 a (/.f64 (*.f64 c c) (pow.f64 b 3))) (/.f64 (*.f64 (*.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) 405/64) -1/6) (*.f64 a (pow.f64 b 7)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 -9/16 (Rewrite<= *-commutative_binary64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 2))) (fma.f64 -1/2 (/.f64 c b) (fma.f64 -3/8 (*.f64 a (/.f64 (*.f64 c c) (pow.f64 b 3))) (/.f64 (*.f64 (*.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) 405/64) -1/6) (*.f64 a (pow.f64 b 7)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 -9/16 (Rewrite=> associate-*l/_binary64 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (fma.f64 -1/2 (/.f64 c b) (fma.f64 -3/8 (*.f64 a (/.f64 (*.f64 c c) (pow.f64 b 3))) (/.f64 (*.f64 (*.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) 405/64) -1/6) (*.f64 a (pow.f64 b 7)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (fma.f64 -3/8 (*.f64 a (/.f64 (Rewrite<= unpow2_binary64 (pow.f64 c 2)) (pow.f64 b 3))) (/.f64 (*.f64 (*.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) 405/64) -1/6) (*.f64 a (pow.f64 b 7)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (fma.f64 -3/8 (Rewrite<= *-commutative_binary64 (*.f64 (/.f64 (pow.f64 c 2) (pow.f64 b 3)) a)) (/.f64 (*.f64 (*.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) 405/64) -1/6) (*.f64 a (pow.f64 b 7)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (fma.f64 -3/8 (Rewrite=> associate-*l/_binary64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (/.f64 (*.f64 (*.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) 405/64) -1/6) (*.f64 a (pow.f64 b 7)))))): 0 points increase in error, 1 points decrease in error
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (fma.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 (*.f64 (*.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (Rewrite<= metadata-eval (+.f64 81/64 81/16))) -1/6) (*.f64 a (pow.f64 b 7)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (fma.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 (*.f64 (*.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (+.f64 (Rewrite<= metadata-eval (*.f64 -9/8 -9/8)) 81/16)) -1/6) (*.f64 a (pow.f64 b 7)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (fma.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 (*.f64 (Rewrite<= distribute-rgt-out_binary64 (+.f64 (*.f64 (*.f64 -9/8 -9/8) (*.f64 (pow.f64 c 4) (pow.f64 a 4))) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4))))) -1/6) (*.f64 a (pow.f64 b 7)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (fma.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 (*.f64 (+.f64 (*.f64 (*.f64 -9/8 -9/8) (*.f64 (pow.f64 c (Rewrite<= metadata-eval (*.f64 2 2))) (pow.f64 a 4))) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) -1/6) (*.f64 a (pow.f64 b 7)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (fma.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 (*.f64 (+.f64 (*.f64 (*.f64 -9/8 -9/8) (*.f64 (Rewrite<= pow-sqr_binary64 (*.f64 (pow.f64 c 2) (pow.f64 c 2))) (pow.f64 a 4))) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) -1/6) (*.f64 a (pow.f64 b 7)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (fma.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 (*.f64 (+.f64 (*.f64 (*.f64 -9/8 -9/8) (*.f64 (*.f64 (pow.f64 c 2) (pow.f64 c 2)) (pow.f64 a (Rewrite<= metadata-eval (*.f64 2 2))))) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) -1/6) (*.f64 a (pow.f64 b 7)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (fma.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 (*.f64 (+.f64 (*.f64 (*.f64 -9/8 -9/8) (*.f64 (*.f64 (pow.f64 c 2) (pow.f64 c 2)) (Rewrite<= pow-sqr_binary64 (*.f64 (pow.f64 a 2) (pow.f64 a 2))))) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) -1/6) (*.f64 a (pow.f64 b 7)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (fma.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 (*.f64 (+.f64 (*.f64 (*.f64 -9/8 -9/8) (Rewrite=> unswap-sqr_binary64 (*.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (*.f64 (pow.f64 c 2) (pow.f64 a 2))))) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) -1/6) (*.f64 a (pow.f64 b 7)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (fma.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 (*.f64 (+.f64 (Rewrite<= swap-sqr_binary64 (*.f64 (*.f64 -9/8 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) (*.f64 -9/8 (*.f64 (pow.f64 c 2) (pow.f64 a 2))))) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) -1/6) (*.f64 a (pow.f64 b 7)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (fma.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 (*.f64 (+.f64 (Rewrite<= unpow2_binary64 (pow.f64 (*.f64 -9/8 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2)) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) -1/6) (*.f64 a (pow.f64 b 7)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (fma.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (Rewrite<= associate-*l/_binary64 (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 -9/8 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (*.f64 a (pow.f64 b 7))) -1/6))))): 0 points increase in error, 0 points decrease in error
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (fma.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (Rewrite<= *-commutative_binary64 (*.f64 -1/6 (/.f64 (+.f64 (pow.f64 (*.f64 -9/8 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (*.f64 a (pow.f64 b 7)))))))): 0 points increase in error, 0 points decrease in error
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (Rewrite<= fma-def_binary64 (+.f64 (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 -1/6 (/.f64 (+.f64 (pow.f64 (*.f64 -9/8 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (*.f64 a (pow.f64 b 7)))))))): 0 points increase in error, 0 points decrease in error
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)) (Rewrite<= fma-def_binary64 (+.f64 (*.f64 -1/2 (/.f64 c b)) (+.f64 (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 -1/6 (/.f64 (+.f64 (pow.f64 (*.f64 -9/8 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (*.f64 a (pow.f64 b 7)))))))): 0 points increase in error, 0 points decrease in error
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)) (Rewrite<= associate-+l+_binary64 (+.f64 (+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)))) (*.f64 -1/6 (/.f64 (+.f64 (pow.f64 (*.f64 -9/8 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (*.f64 a (pow.f64 b 7))))))): 14 points increase in error, 9 points decrease in error
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)) (Rewrite<= +-commutative_binary64 (+.f64 (*.f64 -1/6 (/.f64 (+.f64 (pow.f64 (*.f64 -9/8 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (*.f64 a (pow.f64 b 7)))) (+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))))))): 0 points increase in error, 0 points decrease in error
(Rewrite<= fma-def_binary64 (+.f64 (*.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 -1/6 (/.f64 (+.f64 (pow.f64 (*.f64 -9/8 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (*.f64 a (pow.f64 b 7)))) (+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))))))): 0 points increase in error, 0 points decrease in error
Taylor expanded in c around 0 5.8
\[\leadsto \mathsf{fma}\left(-0.5625, \left(a \cdot a\right) \cdot \frac{{c}^{3}}{{b}^{5}}, \mathsf{fma}\left(-0.5, \frac{c}{b}, \mathsf{fma}\left(-0.375, a \cdot \frac{c \cdot c}{{b}^{3}}, \frac{\color{blue}{-1.0546875 \cdot \left({c}^{4} \cdot {a}^{4}\right)}}{a \cdot {b}^{7}}\right)\right)\right)
\]
Simplified5.8
\[\leadsto \mathsf{fma}\left(-0.5625, \left(a \cdot a\right) \cdot \frac{{c}^{3}}{{b}^{5}}, \mathsf{fma}\left(-0.5, \frac{c}{b}, \mathsf{fma}\left(-0.375, a \cdot \frac{c \cdot c}{{b}^{3}}, \frac{\color{blue}{-1.0546875 \cdot {\left(c \cdot a\right)}^{4}}}{a \cdot {b}^{7}}\right)\right)\right)
\]
Proof
(*.f64 -135/128 (pow.f64 (*.f64 c a) 4)): 0 points increase in error, 0 points decrease in error
(*.f64 -135/128 (pow.f64 (*.f64 c a) (Rewrite<= metadata-eval (*.f64 2 2)))): 0 points increase in error, 0 points decrease in error
(*.f64 -135/128 (Rewrite<= pow-sqr_binary64 (*.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 (*.f64 c a) 2)))): 78 points increase in error, 55 points decrease in error
(*.f64 -135/128 (*.f64 (Rewrite=> unpow2_binary64 (*.f64 (*.f64 c a) (*.f64 c a))) (pow.f64 (*.f64 c a) 2))): 0 points increase in error, 0 points decrease in error
(*.f64 -135/128 (*.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (Rewrite=> unpow2_binary64 (*.f64 (*.f64 c a) (*.f64 c a))))): 0 points increase in error, 0 points decrease in error
(*.f64 -135/128 (*.f64 (Rewrite<= unswap-sqr_binary64 (*.f64 (*.f64 c c) (*.f64 a a))) (*.f64 (*.f64 c a) (*.f64 c a)))): 54 points increase in error, 67 points decrease in error
(*.f64 -135/128 (*.f64 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 c 2)) (*.f64 a a)) (*.f64 (*.f64 c a) (*.f64 c a)))): 0 points increase in error, 0 points decrease in error
(*.f64 -135/128 (*.f64 (*.f64 (pow.f64 c 2) (Rewrite<= unpow2_binary64 (pow.f64 a 2))) (*.f64 (*.f64 c a) (*.f64 c a)))): 0 points increase in error, 0 points decrease in error
(*.f64 -135/128 (*.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (Rewrite<= unswap-sqr_binary64 (*.f64 (*.f64 c c) (*.f64 a a))))): 58 points increase in error, 66 points decrease in error
(*.f64 -135/128 (*.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 c 2)) (*.f64 a a)))): 0 points increase in error, 0 points decrease in error
(*.f64 -135/128 (*.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (*.f64 (pow.f64 c 2) (Rewrite<= unpow2_binary64 (pow.f64 a 2))))): 0 points increase in error, 0 points decrease in error
(*.f64 -135/128 (Rewrite<= unswap-sqr_binary64 (*.f64 (*.f64 (pow.f64 c 2) (pow.f64 c 2)) (*.f64 (pow.f64 a 2) (pow.f64 a 2))))): 61 points increase in error, 61 points decrease in error
(*.f64 -135/128 (*.f64 (*.f64 (pow.f64 c 2) (pow.f64 c 2)) (Rewrite=> pow-sqr_binary64 (pow.f64 a (*.f64 2 2))))): 52 points increase in error, 64 points decrease in error
(*.f64 -135/128 (*.f64 (*.f64 (pow.f64 c 2) (pow.f64 c 2)) (pow.f64 a (Rewrite=> metadata-eval 4)))): 0 points increase in error, 0 points decrease in error
(*.f64 -135/128 (*.f64 (Rewrite=> pow-sqr_binary64 (pow.f64 c (*.f64 2 2))) (pow.f64 a 4))): 44 points increase in error, 51 points decrease in error
(*.f64 -135/128 (*.f64 (pow.f64 c (Rewrite=> metadata-eval 4)) (pow.f64 a 4))): 0 points increase in error, 0 points decrease in error
Applied egg-rr5.8
\[\leadsto \mathsf{fma}\left(-0.5625, \left(a \cdot a\right) \cdot \frac{{c}^{3}}{{b}^{5}}, \mathsf{fma}\left(-0.5, \frac{c}{b}, \mathsf{fma}\left(-0.375, a \cdot \color{blue}{\left(\frac{c}{b \cdot b} \cdot \frac{c}{b}\right)}, \frac{-1.0546875 \cdot {\left(c \cdot a\right)}^{4}}{a \cdot {b}^{7}}\right)\right)\right)
\]
Applied egg-rr5.8
\[\leadsto \mathsf{fma}\left(-0.5625, \left(a \cdot a\right) \cdot \color{blue}{\left(\left(c \cdot c\right) \cdot \left(c \cdot {b}^{-5}\right)\right)}, \mathsf{fma}\left(-0.5, \frac{c}{b}, \mathsf{fma}\left(-0.375, a \cdot \left(\frac{c}{b \cdot b} \cdot \frac{c}{b}\right), \frac{-1.0546875 \cdot {\left(c \cdot a\right)}^{4}}{a \cdot {b}^{7}}\right)\right)\right)
\]
Final simplification5.8
\[\leadsto \mathsf{fma}\left(-0.5625, \left(a \cdot a\right) \cdot \left(\left(c \cdot c\right) \cdot \left(c \cdot {b}^{-5}\right)\right), \mathsf{fma}\left(-0.5, \frac{c}{b}, \mathsf{fma}\left(-0.375, a \cdot \left(\frac{c}{b} \cdot \frac{c}{b \cdot b}\right), \frac{-1.0546875 \cdot {\left(a \cdot c\right)}^{4}}{a \cdot {b}^{7}}\right)\right)\right)
\]