Initial program 43.5
\[\frac{\left(-b\right) - \sqrt{b \cdot b - 4 \cdot \left(a \cdot c\right)}}{2 \cdot a}
\]
Simplified43.6
\[\leadsto \color{blue}{\frac{-0.5}{a} \cdot \left(b + \sqrt{\mathsf{fma}\left(a \cdot c, -4, b \cdot b\right)}\right)}
\]
Proof
(*.f64 (/.f64 -1/2 a) (+.f64 b (sqrt.f64 (fma.f64 (*.f64 a c) -4 (*.f64 b b))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 (Rewrite<= metadata-eval (/.f64 -1 2)) a) (+.f64 b (sqrt.f64 (fma.f64 (*.f64 a c) -4 (*.f64 b b))))): 0 points increase in error, 0 points decrease in error
(*.f64 (Rewrite<= associate-/r*_binary64 (/.f64 -1 (*.f64 2 a))) (+.f64 b (sqrt.f64 (fma.f64 (*.f64 a c) -4 (*.f64 b b))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -1 (*.f64 2 a)) (+.f64 b (sqrt.f64 (fma.f64 (*.f64 a c) (Rewrite<= metadata-eval (neg.f64 4)) (*.f64 b b))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -1 (*.f64 2 a)) (+.f64 b (sqrt.f64 (Rewrite<= fma-def_binary64 (+.f64 (*.f64 (*.f64 a c) (neg.f64 4)) (*.f64 b b)))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -1 (*.f64 2 a)) (+.f64 b (sqrt.f64 (+.f64 (Rewrite<= distribute-rgt-neg-in_binary64 (neg.f64 (*.f64 (*.f64 a c) 4))) (*.f64 b b))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -1 (*.f64 2 a)) (+.f64 b (sqrt.f64 (+.f64 (neg.f64 (Rewrite<= *-commutative_binary64 (*.f64 4 (*.f64 a c)))) (*.f64 b b))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -1 (*.f64 2 a)) (+.f64 b (sqrt.f64 (Rewrite<= +-commutative_binary64 (+.f64 (*.f64 b b) (neg.f64 (*.f64 4 (*.f64 a c)))))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -1 (*.f64 2 a)) (+.f64 b (sqrt.f64 (Rewrite<= sub-neg_binary64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -1 (*.f64 2 a)) (+.f64 b (Rewrite<= remove-double-neg_binary64 (neg.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -1 (*.f64 2 a)) (Rewrite<= sub-neg_binary64 (-.f64 b (neg.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -1 (*.f64 2 a)) (Rewrite=> sub-neg_binary64 (+.f64 b (neg.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -1 (*.f64 2 a)) (+.f64 b (Rewrite=> remove-double-neg_binary64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))): 0 points increase in error, 0 points decrease in error
(Rewrite=> associate-*l/_binary64 (/.f64 (*.f64 -1 (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (*.f64 2 a))): 7 points increase in error, 17 points decrease in error
(/.f64 (Rewrite<= neg-mul-1_binary64 (neg.f64 (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))) (*.f64 2 a)): 0 points increase in error, 0 points decrease in error
(/.f64 (Rewrite<= distribute-neg-out_binary64 (+.f64 (neg.f64 b) (neg.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))) (*.f64 2 a)): 0 points increase in error, 0 points decrease in error
(/.f64 (Rewrite<= sub-neg_binary64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (*.f64 2 a)): 0 points increase in error, 0 points decrease in error
Applied egg-rr45.3
\[\leadsto \frac{-0.5}{a} \cdot \left(b + \sqrt{\color{blue}{{\left(\sqrt[3]{\mathsf{fma}\left(a, c \cdot -4, b \cdot b\right)}\right)}^{3}}}\right)
\]
Applied egg-rr45.1
\[\leadsto \frac{-0.5}{a} \cdot \color{blue}{\left(\frac{b \cdot b}{b - \mathsf{hypot}\left(b, \sqrt{\left(a \cdot c\right) \cdot -4}\right)} - \frac{\mathsf{fma}\left(b, b, \left(a \cdot c\right) \cdot -4\right)}{b - \mathsf{hypot}\left(b, \sqrt{\left(a \cdot c\right) \cdot -4}\right)}\right)}
\]
Simplified29.9
\[\leadsto \frac{-0.5}{a} \cdot \color{blue}{\frac{\left(a \cdot c\right) \cdot -4}{\mathsf{hypot}\left(b, \sqrt{\left(a \cdot c\right) \cdot -4}\right) - b}}
\]
Proof
(/.f64 (*.f64 (*.f64 a c) -4) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4))) b)): 0 points increase in error, 0 points decrease in error
(/.f64 (Rewrite<= +-rgt-identity_binary64 (+.f64 (*.f64 (*.f64 a c) -4) 0)) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4))) b)): 0 points increase in error, 0 points decrease in error
(/.f64 (+.f64 (*.f64 (*.f64 a c) -4) (Rewrite<= +-inverses_binary64 (-.f64 (*.f64 b b) (*.f64 b b)))) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4))) b)): 29 points increase in error, 0 points decrease in error
(/.f64 (Rewrite<= associate--l+_binary64 (-.f64 (+.f64 (*.f64 (*.f64 a c) -4) (*.f64 b b)) (*.f64 b b))) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4))) b)): 9 points increase in error, 20 points decrease in error
(/.f64 (-.f64 (Rewrite<= +-commutative_binary64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4))) (*.f64 b b)) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4))) b)): 0 points increase in error, 0 points decrease in error
(/.f64 (-.f64 (Rewrite<= fma-udef_binary64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) (*.f64 b b)) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4))) b)): 0 points increase in error, 0 points decrease in error
(/.f64 (Rewrite=> sub-neg_binary64 (+.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) (neg.f64 (*.f64 b b)))) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4))) b)): 0 points increase in error, 0 points decrease in error
(/.f64 (Rewrite=> +-commutative_binary64 (+.f64 (neg.f64 (*.f64 b b)) (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4))) b)): 0 points increase in error, 0 points decrease in error
(/.f64 (+.f64 (Rewrite=> neg-sub0_binary64 (-.f64 0 (*.f64 b b))) (fma.f64 b b (*.f64 (*.f64 a c) -4))) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4))) b)): 0 points increase in error, 0 points decrease in error
(/.f64 (Rewrite<= associate--r-_binary64 (-.f64 0 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4))) b)): 0 points increase in error, 0 points decrease in error
(/.f64 (Rewrite<= neg-sub0_binary64 (neg.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4))) b)): 0 points increase in error, 0 points decrease in error
(/.f64 (neg.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (Rewrite=> sub-neg_binary64 (+.f64 (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4))) (neg.f64 b)))): 0 points increase in error, 0 points decrease in error
(/.f64 (neg.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (Rewrite=> +-commutative_binary64 (+.f64 (neg.f64 b) (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))))): 0 points increase in error, 0 points decrease in error
(/.f64 (neg.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (+.f64 (Rewrite=> neg-sub0_binary64 (-.f64 0 b)) (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4))))): 0 points increase in error, 0 points decrease in error
(/.f64 (neg.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (Rewrite<= associate--r-_binary64 (-.f64 0 (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4))))))): 0 points increase in error, 0 points decrease in error
(/.f64 (neg.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (Rewrite<= neg-sub0_binary64 (neg.f64 (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4))))))): 0 points increase in error, 0 points decrease in error
(/.f64 (Rewrite=> neg-mul-1_binary64 (*.f64 -1 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (neg.f64 (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))))): 0 points increase in error, 0 points decrease in error
(/.f64 (*.f64 -1 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (Rewrite=> neg-mul-1_binary64 (*.f64 -1 (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4))))))): 0 points increase in error, 0 points decrease in error
(Rewrite=> times-frac_binary64 (*.f64 (/.f64 -1 -1) (/.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4))) (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4))))))): 0 points increase in error, 0 points decrease in error
(*.f64 (Rewrite=> metadata-eval 1) (/.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4))) (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))))): 0 points increase in error, 0 points decrease in error
(Rewrite=> *-lft-identity_binary64 (/.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4))) (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))))): 0 points increase in error, 0 points decrease in error
(Rewrite=> div-sub_binary64 (-.f64 (/.f64 (*.f64 b b) (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4))))) (/.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4))))))): 0 points increase in error, 1 points decrease in error
Applied egg-rr28.3
\[\leadsto \color{blue}{0 + \frac{\frac{2 \cdot \left(a \cdot c\right)}{a}}{\mathsf{hypot}\left(b, \sqrt{a \cdot \left(c \cdot -4\right)}\right) - b}}
\]
Simplified23.0
\[\leadsto \color{blue}{1 \cdot \frac{c \cdot -2}{b - \mathsf{hypot}\left(b, \sqrt{a \cdot \left(c \cdot -4\right)}\right)}}
\]
Proof
(*.f64 1 (/.f64 (*.f64 c -2) (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))))): 0 points increase in error, 0 points decrease in error
(*.f64 (Rewrite<= *-inverses_binary64 (/.f64 a a)) (/.f64 (*.f64 c -2) (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 a a) (/.f64 (*.f64 c (Rewrite<= metadata-eval (*.f64 -4 1/2))) (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 a a) (/.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 c -4) 1/2)) (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))))): 1 points increase in error, 0 points decrease in error
(*.f64 (/.f64 a a) (/.f64 (*.f64 (*.f64 c -4) 1/2) (-.f64 (Rewrite<= remove-double-neg_binary64 (neg.f64 (neg.f64 b))) (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 a a) (/.f64 (*.f64 (*.f64 c -4) 1/2) (-.f64 (Rewrite=> neg-sub0_binary64 (-.f64 0 (neg.f64 b))) (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 a a) (/.f64 (*.f64 (*.f64 c -4) 1/2) (Rewrite<= associate--r+_binary64 (-.f64 0 (+.f64 (neg.f64 b) (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 a a) (/.f64 (*.f64 (*.f64 c -4) 1/2) (-.f64 0 (Rewrite<= +-commutative_binary64 (+.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) (neg.f64 b)))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 a a) (/.f64 (*.f64 (*.f64 c -4) 1/2) (-.f64 0 (Rewrite=> unsub-neg_binary64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 a a) (/.f64 (*.f64 (*.f64 c -4) 1/2) (Rewrite<= neg-sub0_binary64 (neg.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b))))): 0 points increase in error, 0 points decrease in error
(Rewrite<= times-frac_binary64 (/.f64 (*.f64 a (*.f64 (*.f64 c -4) 1/2)) (*.f64 a (neg.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b))))): 69 points increase in error, 4 points decrease in error
(/.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 a (*.f64 c -4)) 1/2)) (*.f64 a (neg.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)))): 0 points increase in error, 0 points decrease in error
(/.f64 (*.f64 (Rewrite=> associate-*r*_binary64 (*.f64 (*.f64 a c) -4)) 1/2) (*.f64 a (neg.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)))): 0 points increase in error, 1 points decrease in error
(/.f64 (Rewrite=> associate-*l*_binary64 (*.f64 (*.f64 a c) (*.f64 -4 1/2))) (*.f64 a (neg.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)))): 0 points increase in error, 0 points decrease in error
(/.f64 (*.f64 (*.f64 a c) (Rewrite=> metadata-eval -2)) (*.f64 a (neg.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)))): 0 points increase in error, 0 points decrease in error
(/.f64 (*.f64 (*.f64 a c) (Rewrite<= metadata-eval (*.f64 4 -1/2))) (*.f64 a (neg.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)))): 0 points increase in error, 0 points decrease in error
(/.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 (*.f64 a c) 4) -1/2)) (*.f64 a (neg.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)))): 0 points increase in error, 0 points decrease in error
(/.f64 (Rewrite=> *-commutative_binary64 (*.f64 -1/2 (*.f64 (*.f64 a c) 4))) (*.f64 a (neg.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)))): 0 points increase in error, 0 points decrease in error
(Rewrite=> times-frac_binary64 (*.f64 (/.f64 -1/2 a) (/.f64 (*.f64 (*.f64 a c) 4) (neg.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b))))): 31 points increase in error, 24 points decrease in error
(*.f64 (/.f64 (Rewrite<= metadata-eval (/.f64 1/2 -1)) a) (/.f64 (*.f64 (*.f64 a c) 4) (neg.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)))): 0 points increase in error, 0 points decrease in error
(*.f64 (Rewrite<= associate-/r*_binary64 (/.f64 1/2 (*.f64 -1 a))) (/.f64 (*.f64 (*.f64 a c) 4) (neg.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 1/2 (Rewrite<= neg-mul-1_binary64 (neg.f64 a))) (/.f64 (*.f64 (*.f64 a c) 4) (neg.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)))): 0 points increase in error, 0 points decrease in error
(Rewrite<= times-frac_binary64 (/.f64 (*.f64 1/2 (*.f64 (*.f64 a c) 4)) (*.f64 (neg.f64 a) (neg.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b))))): 24 points increase in error, 31 points decrease in error
(/.f64 (*.f64 1/2 (*.f64 (*.f64 a c) 4)) (Rewrite=> distribute-rgt-neg-out_binary64 (neg.f64 (*.f64 (neg.f64 a) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b))))): 0 points increase in error, 0 points decrease in error
(/.f64 (*.f64 1/2 (*.f64 (*.f64 a c) 4)) (neg.f64 (Rewrite=> distribute-lft-neg-out_binary64 (neg.f64 (*.f64 a (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)))))): 0 points increase in error, 0 points decrease in error
(/.f64 (*.f64 1/2 (*.f64 (*.f64 a c) 4)) (Rewrite=> remove-double-neg_binary64 (*.f64 a (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)))): 0 points increase in error, 0 points decrease in error
(/.f64 (Rewrite=> *-commutative_binary64 (*.f64 (*.f64 (*.f64 a c) 4) 1/2)) (*.f64 a (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b))): 0 points increase in error, 0 points decrease in error
(/.f64 (Rewrite=> associate-*l*_binary64 (*.f64 (*.f64 a c) (*.f64 4 1/2))) (*.f64 a (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b))): 0 points increase in error, 0 points decrease in error
(/.f64 (*.f64 (*.f64 a c) (Rewrite=> metadata-eval 2)) (*.f64 a (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b))): 0 points increase in error, 0 points decrease in error
(/.f64 (Rewrite<= *-commutative_binary64 (*.f64 2 (*.f64 a c))) (*.f64 a (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b))): 0 points increase in error, 0 points decrease in error
(Rewrite=> associate-/r*_binary64 (/.f64 (/.f64 (*.f64 2 (*.f64 a c)) a) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b))): 9 points increase in error, 30 points decrease in error
(Rewrite<= +-lft-identity_binary64 (+.f64 0 (/.f64 (/.f64 (*.f64 2 (*.f64 a c)) a) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)))): 0 points increase in error, 0 points decrease in error
Applied egg-rr17.4
\[\leadsto 1 \cdot \frac{c \cdot -2}{b - \mathsf{hypot}\left(b, \sqrt{\color{blue}{{\left({\left(a \cdot c\right)}^{2} \cdot 16\right)}^{0.5}}}\right)}
\]
Simplified7.1
\[\leadsto 1 \cdot \frac{c \cdot -2}{b - \mathsf{hypot}\left(b, \sqrt{\color{blue}{\left|a \cdot \left(c \cdot -4\right)\right|}}\right)}
\]
Proof
(fabs.f64 (*.f64 a (*.f64 c -4))): 0 points increase in error, 0 points decrease in error
(Rewrite<= rem-sqrt-square_binary64 (sqrt.f64 (*.f64 (*.f64 a (*.f64 c -4)) (*.f64 a (*.f64 c -4))))): 49 points increase in error, 34 points decrease in error
(sqrt.f64 (*.f64 (Rewrite=> associate-*r*_binary64 (*.f64 (*.f64 a c) -4)) (*.f64 a (*.f64 c -4)))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (*.f64 (*.f64 (*.f64 a c) -4) (Rewrite=> associate-*r*_binary64 (*.f64 (*.f64 a c) -4)))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (Rewrite=> swap-sqr_binary64 (*.f64 (*.f64 (*.f64 a c) (*.f64 a c)) (*.f64 -4 -4)))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 (*.f64 a c) 2)) (*.f64 -4 -4))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (*.f64 (pow.f64 (*.f64 a c) 2) (Rewrite=> metadata-eval 16))): 0 points increase in error, 0 points decrease in error
(Rewrite<= unpow1/2_binary64 (pow.f64 (*.f64 (pow.f64 (*.f64 a c) 2) 16) 1/2)): 0 points increase in error, 0 points decrease in error
Initial program 63.4
\[\frac{\left(-b\right) - \sqrt{b \cdot b - 4 \cdot \left(a \cdot c\right)}}{2 \cdot a}
\]
Simplified63.4
\[\leadsto \color{blue}{\frac{-0.5}{a} \cdot \left(b + \sqrt{\mathsf{fma}\left(a \cdot c, -4, b \cdot b\right)}\right)}
\]
Proof
(*.f64 (/.f64 -1/2 a) (+.f64 b (sqrt.f64 (fma.f64 (*.f64 a c) -4 (*.f64 b b))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 (Rewrite<= metadata-eval (/.f64 -1 2)) a) (+.f64 b (sqrt.f64 (fma.f64 (*.f64 a c) -4 (*.f64 b b))))): 0 points increase in error, 0 points decrease in error
(*.f64 (Rewrite<= associate-/r*_binary64 (/.f64 -1 (*.f64 2 a))) (+.f64 b (sqrt.f64 (fma.f64 (*.f64 a c) -4 (*.f64 b b))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -1 (*.f64 2 a)) (+.f64 b (sqrt.f64 (fma.f64 (*.f64 a c) (Rewrite<= metadata-eval (neg.f64 4)) (*.f64 b b))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -1 (*.f64 2 a)) (+.f64 b (sqrt.f64 (Rewrite<= fma-def_binary64 (+.f64 (*.f64 (*.f64 a c) (neg.f64 4)) (*.f64 b b)))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -1 (*.f64 2 a)) (+.f64 b (sqrt.f64 (+.f64 (Rewrite<= distribute-rgt-neg-in_binary64 (neg.f64 (*.f64 (*.f64 a c) 4))) (*.f64 b b))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -1 (*.f64 2 a)) (+.f64 b (sqrt.f64 (+.f64 (neg.f64 (Rewrite<= *-commutative_binary64 (*.f64 4 (*.f64 a c)))) (*.f64 b b))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -1 (*.f64 2 a)) (+.f64 b (sqrt.f64 (Rewrite<= +-commutative_binary64 (+.f64 (*.f64 b b) (neg.f64 (*.f64 4 (*.f64 a c)))))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -1 (*.f64 2 a)) (+.f64 b (sqrt.f64 (Rewrite<= sub-neg_binary64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -1 (*.f64 2 a)) (+.f64 b (Rewrite<= remove-double-neg_binary64 (neg.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -1 (*.f64 2 a)) (Rewrite<= sub-neg_binary64 (-.f64 b (neg.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -1 (*.f64 2 a)) (Rewrite=> sub-neg_binary64 (+.f64 b (neg.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -1 (*.f64 2 a)) (+.f64 b (Rewrite=> remove-double-neg_binary64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))): 0 points increase in error, 0 points decrease in error
(Rewrite=> associate-*l/_binary64 (/.f64 (*.f64 -1 (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (*.f64 2 a))): 7 points increase in error, 17 points decrease in error
(/.f64 (Rewrite<= neg-mul-1_binary64 (neg.f64 (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))) (*.f64 2 a)): 0 points increase in error, 0 points decrease in error
(/.f64 (Rewrite<= distribute-neg-out_binary64 (+.f64 (neg.f64 b) (neg.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))) (*.f64 2 a)): 0 points increase in error, 0 points decrease in error
(/.f64 (Rewrite<= sub-neg_binary64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (*.f64 2 a)): 0 points increase in error, 0 points decrease in error
Applied egg-rr63.4
\[\leadsto \frac{-0.5}{a} \cdot \left(b + \color{blue}{e^{\log \left(\mathsf{fma}\left(a, c \cdot -4, b \cdot b\right)\right) \cdot 0.5}}\right)
\]
Applied egg-rr46.0
\[\leadsto \frac{-0.5}{a} \cdot \left(b + \color{blue}{\mathsf{hypot}\left(\sqrt{a} \cdot \sqrt{c \cdot -4}, b\right)}\right)
\]