


Bits error versus g



Bits error versus h



Bits error versus a
Results
if g < -3.3292661184590287e-161Initial program 34.0
rmApplied cbrt-prod30.6
Simplified30.6
rmApplied flip--30.5
Applied associate-*r/30.5
Applied cbrt-div30.5
Simplified30.5
if -3.3292661184590287e-161 < g Initial program 35.2
rmApplied cbrt-prod31.1
Simplified31.0
Taylor expanded around inf 30.4
Final simplification30.4
herbie shell --seed 2019016 +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: 52.0s)Debug log
| 952× | (pre true 80) |
| 695× | (body nan 80) |
| 97× | (body real 2560) |
| 57× | (body real 1280) |
| 28× | (body real 640) |
| 27× | (body real 5120) |
| 26× | (body real 320) |
| 17× | (body real 160) |
| 5× | (body real 80) |
| 378.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: 33.9b
Found 4 expressions with local error:
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 10.3b | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 8.9b | (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 |
| 8.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 7.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 5.0ms | (sqrt (- (* g g) (* h h))) |
| 3.0ms | (sqrt (- (* g g) (* h h))) |
| 306.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 272.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 29.0ms | (sqrt (- (* g g) (* h h))) |
| 24.0ms | (sqrt (- (* g g) (* h h))) |
| 610.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 540.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 390.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
| 366.0ms | (* (exp (* 1/3 (- (+ (log (/ -1 g)) (+ (log 1/2) (log (/ -1 a)))) (* 2 (log (/ -1 h)))))) (cbrt -1/2)) |
| 352.0ms | (cbrt (* (/ 1 (* 2 a)) (- (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
17 alts after pruning (17 fresh and 0 done)
Merged error: 29.5b
Found 4 expressions with local error:
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 8.9b | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 4.2b | (- (* g g) (* h h)) |
| 8× | sqrt-prod |
| 8× | add-sqr-sqrt |
| 6× | add-log-exp |
| 6× | add-cube-cbrt |
| 6× | *-un-lft-identity |
| 5× | flip-- |
| 5× | flip3-- |
| 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 |
| 2× | associate-*r/ |
| 2× | pow1/2 |
| 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 |
| 7.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 7.0ms | (sqrt (- (* g g) (* h h))) |
| 6.0ms | (sqrt (- (* g g) (* h h))) |
| 2.0ms | (- (* g g) (* h h)) |
| 304.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 36.0ms | (sqrt (- (* g g) (* h h))) |
| 28.0ms | (sqrt (- (* g g) (* h h))) |
| 17.0ms | (- (* g g) (* h h)) |
| 629.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 316.0ms | (* (exp (* 1/3 (- (+ (log (/ -1 g)) (+ (log 1/2) (log (/ -1 a)))) (* 2 (log (/ -1 h)))))) (cbrt -1/2)) |
| 288.0ms | (cbrt (* (/ 1 (* 2 a)) (- (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
| 258.0ms | (* (exp (* 1/3 (- (+ (log 2) (log (/ 1 a))) (log (/ 1 g))))) (cbrt -1/2)) |
| 197.0ms | (sqrt (- (pow (* g g) 3) (pow (* h h) 3))) |
20 alts after pruning (20 fresh and 0 done)
Merged error: 29.0b
Found 4 expressions with local error:
| 28.9b | (sqrt (* (+ g h) (- g h))) |
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 8.9b | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 4.2b | (- (* 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 |
| 8.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 3.0ms | (sqrt (- (* g g) (* h h))) |
| 2.0ms | (sqrt (* (+ g h) (- g h))) |
| 2.0ms | (- (* g g) (* h h)) |
| 257.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 35.0ms | (sqrt (- (* g g) (* h h))) |
| 33.0ms | (sqrt (* (+ g h) (- g h))) |
| 17.0ms | (- (* g g) (* h h)) |
| 590.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 552.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 509.0ms | (sqrt (sqrt (- (* g g) (* h h)))) |
| 364.0ms | (* (exp (* 1/3 (- (+ (log 2) (log (/ 1 a))) (log (/ 1 g))))) (cbrt -1/2)) |
| 347.0ms | (cbrt (* (/ 1 (* 2 a)) (- (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
21 alts after pruning (21 fresh and 0 done)
Merged error: 28.9b
Found 4 expressions with local error:
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 10.3b | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 4.2b | (- (* 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 |
| 7.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 3.0ms | (sqrt (- (* g g) (* h h))) |
| 3.0ms | (sqrt (- (* g g) (* h h))) |
| 2.0ms | (- (* g g) (* h h)) |
| 289.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 44.0ms | (sqrt (- (* g g) (* h h))) |
| 33.0ms | (sqrt (- (* g g) (* h h))) |
| 21.0ms | (- (* g g) (* h h)) |
| 624.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 325.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
| 239.0ms | (* (cbrt 1/2) (exp (* 1/3 (- (+ (log (/ 1 a)) (+ (log (/ 1 g)) (log -1/2))) (* 2 (log (/ 1 h))))))) |
| 233.0ms | (cbrt (* 1 (+ (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
| 218.0ms | (cbrt (* 1 (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
21 alts after pruning (21 fresh and 0 done)
Merged error: 28.8b
57.2% (1.6b remaining)
Error of 30.4b against oracle of 28.8b and baseline of 32.5b
| 32517× | (pre true 80) |
| 24517× | (body nan 80) |
| 2580× | (body real 2560) |
| 1981× | (body real 1280) |
| 1123× | (body real 5120) |
| 1065× | (body real 640) |
| 590× | (body real 320) |
| 502× | (body real 160) |
| 159× | (body real 80) |