


Bits error versus g



Bits error versus h



Bits error versus a
Results
if g < 1.5669126099002344e-180Initial program 34.8
rmApplied associate-*l/34.8
Applied cbrt-div31.5
Simplified31.5
rmApplied add-cube-cbrt31.5
if 1.5669126099002344e-180 < g Initial program 33.9
rmApplied cbrt-prod30.2
Simplified30.2
rmApplied flip-+30.1
Applied frac-times31.2
Applied cbrt-div31.2
Simplified30.6
Final simplification31.1
herbie shell --seed 2019010 +o rules:numerics
(FPCore (g h a)
:name "2-ancestry mixing, positive discriminant"
(+ (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h))))))))
Time bar (total: 50.9s)Debug log
| 383.0ms | (+ (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h))))))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 36.8b
Found 4 expressions with local error:
| 31.8b | (sqrt (- (* g g) (* h h))) |
| 31.8b | (sqrt (- (* g g) (* h h))) |
| 9.3b | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 8.3b | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 10× | cbrt-div |
| 8× | sqrt-prod |
| 8× | add-sqr-sqrt |
| 6× | add-cube-cbrt |
| 6× | *-un-lft-identity |
| 4× | add-log-exp |
| 4× | flip-- |
| 4× | log1p-expm1-u |
| 4× | add-exp-log |
| 4× | associate-*r/ |
| 4× | sqrt-div |
| 4× | add-cbrt-cube |
| 4× | flip3-- |
| 4× | pow1 |
| 4× | frac-times |
| 4× | expm1-log1p-u |
| 2× | difference-of-squares |
| 2× | flip-+ |
| 2× | associate-*l/ |
| 2× | pow1/3 |
| 2× | pow1/2 |
| 2× | flip3-+ |
| 2× | rem-sqrt-square |
| 2× | cbrt-prod |
| 15.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 14.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 6.0ms | (sqrt (- (* g g) (* h h))) |
| 6.0ms | (sqrt (- (* g g) (* h h))) |
| 297.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 289.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 37.0ms | (sqrt (- (* g g) (* h h))) |
| 28.0ms | (sqrt (- (* g g) (* h h))) |
| 549.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 541.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 364.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
| 349.0ms | (* (exp (* 1/3 (- (+ (log (/ -1 g)) (+ (log 1/2) (log (/ -1 a)))) (* 2 (log (/ -1 h)))))) (cbrt -1/2)) |
| 338.0ms | (cbrt (* (/ 1 (* 2 a)) (- (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
16 alts after pruning (16 fresh and 0 done)
Merged error: 31.7b
Found 4 expressions with local error:
| 31.8b | (sqrt (- (* g g) (* h h))) |
| 31.8b | (sqrt (- (* g g) (* h h))) |
| 9.3b | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 3.0b | (- (* g g) (* h h)) |
| 8× | sqrt-prod |
| 8× | add-sqr-sqrt |
| 6× | add-log-exp |
| 6× | add-cube-cbrt |
| 6× | *-un-lft-identity |
| 5× | cbrt-div |
| 4× | log1p-expm1-u |
| 4× | add-exp-log |
| 4× | sqrt-div |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | difference-of-squares |
| 3× | flip-- |
| 3× | flip3-- |
| 2× | flip-+ |
| 2× | associate-*r/ |
| 2× | pow1/2 |
| 2× | flip3-+ |
| 2× | rem-sqrt-square |
| 2× | frac-times |
| 1× | associate-*l/ |
| 1× | prod-diff |
| 1× | diff-log |
| 1× | pow1/3 |
| 1× | fma-neg |
| 1× | sub-neg |
| 1× | cbrt-prod |
| 14.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 6.0ms | (sqrt (- (* g g) (* h h))) |
| 6.0ms | (sqrt (- (* g g) (* h h))) |
| 4.0ms | (- (* g g) (* h h)) |
| 279.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 41.0ms | (sqrt (- (* g g) (* h h))) |
| 38.0ms | (sqrt (- (* g g) (* h h))) |
| 16.0ms | (- (* g g) (* h h)) |
| 580.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 367.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
| 324.0ms | (cbrt (* 1 (+ (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
| 247.0ms | (* (cbrt 1/2) (exp (* 1/3 (- (+ (log (/ 1 a)) (+ (log (/ 1 g)) (log -1/2))) (* 2 (log (/ 1 h))))))) |
| 232.0ms | (sqrt (- (pow (* g g) 3) (pow (* h h) 3))) |
18 alts after pruning (18 fresh and 0 done)
Merged error: 31.0b
Found 4 expressions with local error:
| 31.8b | (sqrt (* (+ g h) (- g h))) |
| 31.8b | (sqrt (- (* g g) (* h h))) |
| 9.3b | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 3.0b | (- (* g g) (* h h)) |
| 10× | sqrt-div |
| 6× | add-log-exp |
| 6× | frac-times |
| 6× | add-sqr-sqrt |
| 5× | flip-- |
| 5× | flip-+ |
| 5× | sqrt-prod |
| 5× | add-cube-cbrt |
| 5× | flip3-- |
| 5× | flip3-+ |
| 5× | *-un-lft-identity |
| 5× | cbrt-div |
| 4× | log1p-expm1-u |
| 4× | add-exp-log |
| 4× | associate-*r/ |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | associate-*l/ |
| 2× | difference-of-squares |
| 2× | pow1/2 |
| 1× | prod-diff |
| 1× | diff-log |
| 1× | pow1/3 |
| 1× | fma-neg |
| 1× | sub-neg |
| 1× | rem-sqrt-square |
| 1× | cbrt-prod |
| 14.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 6.0ms | (sqrt (- (* g g) (* h h))) |
| 5.0ms | (sqrt (* (+ g h) (- g h))) |
| 4.0ms | (- (* g g) (* h h)) |
| 283.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 44.0ms | (sqrt (* (+ g h) (- g h))) |
| 25.0ms | (sqrt (- (* g g) (* h h))) |
| 21.0ms | (- (* g g) (* h h)) |
| 597.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 572.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 364.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
| 351.0ms | (sqrt (* (+ (pow g 3) (pow h 3)) (- (pow g 3) (pow h 3)))) |
| 319.0ms | (sqrt (* (+ g h) (- (pow g 3) (pow h 3)))) |
21 alts after pruning (21 fresh and 0 done)
Merged error: 31.0b
Found 4 expressions with local error:
| 31.8b | (sqrt (* (+ g h) (- g h))) |
| 31.8b | (sqrt (- (* g g) (* h h))) |
| 8.3b | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 3.0b | (- (* g g) (* h h)) |
| 10× | sqrt-div |
| 7× | flip-- |
| 7× | flip3-- |
| 6× | add-log-exp |
| 6× | frac-times |
| 6× | add-sqr-sqrt |
| 5× | sqrt-prod |
| 5× | add-cube-cbrt |
| 5× | *-un-lft-identity |
| 5× | cbrt-div |
| 4× | log1p-expm1-u |
| 4× | add-exp-log |
| 4× | associate-*r/ |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | flip-+ |
| 3× | associate-*l/ |
| 3× | flip3-+ |
| 2× | difference-of-squares |
| 2× | pow1/2 |
| 1× | prod-diff |
| 1× | diff-log |
| 1× | pow1/3 |
| 1× | fma-neg |
| 1× | sub-neg |
| 1× | rem-sqrt-square |
| 1× | cbrt-prod |
| 15.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 4.0ms | (- (* g g) (* h h)) |
| 3.0ms | (sqrt (- (* g g) (* h h))) |
| 3.0ms | (sqrt (* (+ g h) (- g h))) |
| 288.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 47.0ms | (sqrt (* (+ g h) (- g h))) |
| 38.0ms | (sqrt (- (* g g) (* h h))) |
| 25.0ms | (- (* g g) (* h h)) |
| 683.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 628.0ms | (sqrt (* (+ g h) (- (pow g 3) (pow h 3)))) |
| 563.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 377.0ms | (sqrt (* (+ (pow g 3) (pow h 3)) (- (pow g 3) (pow h 3)))) |
| 337.0ms | (cbrt (* (/ 1 (* 2 a)) (- (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
23 alts after pruning (23 fresh and 0 done)
Merged error: 30.9b
42.9% (2.1b remaining)
Error of 31.1b against oracle of 29.0b and baseline of 32.6b