


Bits error versus g



Bits error versus h



Bits error versus a
Results
if g < -1.6739327644208389e-167Initial program 33.2
rmApplied cbrt-prod33.1
Simplified33.1
rmApplied associate-*l/33.1
Applied cbrt-div29.6
Simplified29.6
rmApplied flip--29.4
if -1.6739327644208389e-167 < g Initial program 35.9
rmApplied cbrt-prod32.5
Simplified32.5
Taylor expanded around inf 32.1
Final simplification30.8
herbie shell --seed 2019022 +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: 54.2s)Debug log
| 132.0ms | 739× | body | 80 | nan |
| 122.0ms | 33× | body | 5120 | valid |
| 103.0ms | 86× | body | 2560 | valid |
| 68.0ms | 53× | body | 1280 | valid |
| 25.0ms | 29× | body | 640 | valid |
| 13.0ms | 25× | body | 320 | valid |
| 10.0ms | 25× | body | 160 | valid |
| 1.0ms | 5× | body | 80 | valid |
| 686.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: 34.1b
Found 4 expressions with local error:
| 30.6b | (sqrt (- (* g g) (* h h))) |
| 30.6b | (sqrt (- (* g g) (* h h))) |
| 9.6b | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 7.5b | (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 |
| 13.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 12.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))) |
| 301.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 269.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 38.0ms | (sqrt (- (* g g) (* h h))) |
| 38.0ms | (sqrt (- (* g g) (* h h))) |
| 552.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 523.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 353.0ms | (* (exp (* 1/3 (- (+ (log (/ -1 g)) (+ (log 1/2) (log (/ -1 a)))) (* 2 (log (/ -1 h)))))) (cbrt -1/2)) |
| 343.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
| 314.0ms | (* (exp (* 1/3 (- (+ (log 2) (log (/ 1 a))) (log (/ 1 g))))) (cbrt -1/2)) |
17 alts after pruning (17 fresh and 0 done)
Merged error: 30.5b
Found 4 expressions with local error:
| 30.6b | (sqrt (- (* g g) (* h h))) |
| 30.6b | (sqrt (- (* g g) (* h h))) |
| 7.5b | (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)) |
| 286.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 33.0ms | (sqrt (- (* g g) (* h h))) |
| 24.0ms | (sqrt (- (* g g) (* h h))) |
| 16.0ms | (- (* g g) (* h h)) |
| 557.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 375.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
| 229.0ms | (cbrt (* 1 (+ (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
| 219.0ms | (sqrt (- (pow (* g g) 3) (pow (* h h) 3))) |
| 202.0ms | (cbrt (* 1 (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
19 alts after pruning (19 fresh and 0 done)
Merged error: 29.9b
Found 4 expressions with local error:
| 30.6b | (sqrt (* (+ g h) (- g h))) |
| 30.6b | (sqrt (- (* g g) (* h h))) |
| 4.2b | (- (* g g) (* h h)) |
| 3.3b | (- (- g) (sqrt (- (* g g) (* h h)))) |
| 29× | prod-diff |
| 26× | add-sqr-sqrt |
| 23× | *-un-lft-identity |
| 22× | sqrt-prod |
| 21× | add-cube-cbrt |
| 10× | sqrt-div |
| 8× | difference-of-squares |
| 8× | add-log-exp |
| 8× | neg-mul-1 |
| 6× | flip-- |
| 6× | flip3-- |
| 5× | fma-neg |
| 4× | log1p-expm1-u |
| 4× | add-exp-log |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 4× | frac-times |
| 4× | expm1-log1p-u |
| 3× | flip-+ |
| 3× | flip3-+ |
| 2× | associate-*r/ |
| 2× | associate-*l/ |
| 2× | diff-log |
| 2× | pow1/2 |
| 2× | sub-neg |
| 1× | distribute-lft-out-- |
| 1× | rem-sqrt-square |
| 1× | neg-sub0 |
| 1× | associate--l- |
| 7.0ms | (- (- 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)) |
| 42.0ms | (- (- g) (sqrt (- (* g g) (* h h)))) |
| 40.0ms | (sqrt (* (+ g h) (- g h))) |
| 34.0ms | (sqrt (- (* g g) (* h h))) |
| 16.0ms | (- (* g g) (* h h)) |
| 545.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 337.0ms | (sqrt (* (+ (pow g 3) (pow h 3)) (- (pow g 3) (pow h 3)))) |
| 282.0ms | (sqrt (* (+ g h) (- (pow g 3) (pow h 3)))) |
| 212.0ms | (sqrt (* (- (* g g) (* h h)) (- (pow g 3) (pow h 3)))) |
| 197.0ms | (fma 1 (- g) (- (* (sqrt (- (* g g) (* h h))) (sqrt 1)))) |
20 alts after pruning (20 fresh and 0 done)
Merged error: 29.9b
Found 4 expressions with local error:
| 30.6b | (sqrt (* (+ g h) (- g h))) |
| 30.6b | (sqrt (- (* g g) (* h h))) |
| 7.5b | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 4.2b | (- (* 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 |
| 7.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 3.0ms | (sqrt (- (* g g) (* h h))) |
| 3.0ms | (sqrt (* (+ g h) (- g h))) |
| 2.0ms | (- (* g g) (* h h)) |
| 296.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 40.0ms | (sqrt (* (+ g h) (- g h))) |
| 26.0ms | (sqrt (- (* g g) (* h h))) |
| 22.0ms | (- (* g g) (* h h)) |
| 872.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 520.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 364.0ms | (sqrt (* (+ (pow g 3) (pow h 3)) (- (pow g 3) (pow h 3)))) |
| 354.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
| 277.0ms | (cbrt (* 1 (+ (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
22 alts after pruning (22 fresh and 0 done)
Merged error: 29.9b
67.5% (1.4b remaining)
Error of 30.8b against oracle of 29.4b and baseline of 33.7b
| 6.5s | 23779× | body | 80 | nan |
| 5.1s | 2639× | body | 2560 | valid |
| 3.0s | 1928× | body | 1280 | valid |
| 2.4s | 1174× | body | 5120 | valid |
| 964.0ms | 1074× | body | 640 | valid |
| 398.0ms | 599× | body | 320 | valid |
| 253.0ms | 427× | body | 160 | valid |
| 32.0ms | 159× | body | 80 | valid |