


Bits error versus g



Bits error versus h



Bits error versus a
Results
if g < 5.819400084260547e-187Initial program 35.7
rmApplied cbrt-prod32.0
Simplified32.0
Taylor expanded around -inf 31.8
Simplified31.8
if 5.819400084260547e-187 < g Initial program 33.6
rmApplied associate-*l/33.6
Applied cbrt-div29.7
Simplified29.7
rmApplied add-cube-cbrt29.7
Final simplification30.8
herbie shell --seed 2019004 +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: 48.4s)Debug log
1 calls. Slowest were:
| 344.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: 32.9b
Found 4 expressions with local error:
| 29.5b | (sqrt (- (* g g) (* h h))) |
| 29.5b | (sqrt (- (* g g) (* h h))) |
| 7.9b | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 6.6b | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
4 calls. Slowest were:
| 7.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 6.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 3.0ms | (sqrt (- (* g g) (* h h))) |
4 calls. Slowest were:
| 278.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 251.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 28.0ms | (sqrt (- (* g g) (* h h))) |
| 25.0ms | (sqrt (- (* g g) (* h h))) |
38 calls. Slowest were:
| 699.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 586.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 429.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: 29.1b
Found 4 expressions with local error:
| 29.5b | (sqrt (* (+ g h) (- g h))) |
| 29.5b | (sqrt (- (* g g) (* h h))) |
| 6.6b | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 3.4b | (- (* g g) (* h h)) |
4 calls. Slowest were:
| 7.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))) |
4 calls. Slowest were:
| 290.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 35.0ms | (sqrt (* (+ g h) (- g h))) |
| 31.0ms | (sqrt (- (* g g) (* h h))) |
| 22.0ms | (- (* g g) (* h h)) |
39 calls. Slowest were:
| 830.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 583.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)))) |
16 alts after pruning (16 fresh and 0 done)
Merged error: 28.8b
Found 4 expressions with local error:
| 29.5b | (sqrt (- (* g g) (* h h))) |
| 29.5b | (sqrt (- (* g g) (* h h))) |
| 6.6b | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 3.4b | (- (* g g) (* h h)) |
4 calls. Slowest were:
| 12.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 4.0ms | (- (* g g) (* h h)) |
| 3.0ms | (sqrt (- (* g g) (* h h))) |
4 calls. Slowest were:
| 306.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 31.0ms | (sqrt (- (* g g) (* h h))) |
| 27.0ms | (sqrt (- (* g g) (* h h))) |
| 24.0ms | (- (* g g) (* h h)) |
37 calls. Slowest were:
| 559.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 402.0ms | (cbrt (* (/ 1 (* 2 a)) (- (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
| 303.0ms | (* (exp (* 1/3 (- (+ (log (/ -1 g)) (+ (log 1/2) (log (/ -1 a)))) (* 2 (log (/ -1 h)))))) (cbrt -1/2)) |
17 alts after pruning (17 fresh and 0 done)
Merged error: 28.8b
Found 4 expressions with local error:
| 29.5b | (sqrt (* (+ g h) (- g h))) |
| 29.5b | (sqrt (- (* g g) (* h h))) |
| 7.9b | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 3.4b | (- (* g g) (* h h)) |
4 calls. Slowest were:
| 6.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 4.0ms | (sqrt (* (+ g h) (- g h))) |
| 3.0ms | (sqrt (- (* g g) (* h h))) |
4 calls. Slowest were:
| 277.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 31.0ms | (sqrt (* (+ g h) (- g h))) |
| 25.0ms | (sqrt (- (* g g) (* h h))) |
| 17.0ms | (- (* g g) (* h h)) |
39 calls. Slowest were:
| 553.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 522.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 323.0ms | (sqrt (* (+ (pow g 3) (pow h 3)) (- (pow g 3) (pow h 3)))) |
17 alts after pruning (17 fresh and 0 done)
Merged error: 28.8b
54.2% (1.7b remaining)
Error of 30.8b against oracle of 29.1b and baseline of 32.8b