


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
(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: 47.7s)Debug log
1 calls. Slowest were:
| 327.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:
| 13.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 10.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 2.0ms | (sqrt (- (* g g) (* h h))) |
4 calls. Slowest were:
| 318.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 306.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 43.0ms | (sqrt (- (* g g) (* h h))) |
| 38.0ms | (sqrt (- (* g g) (* h h))) |
38 calls. Slowest were:
| 564.0ms | (cbrt (* 1 (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 524.0ms | (cbrt (* 1 (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 411.0ms | (* (cbrt 1/2) (exp (* 1/3 (- (+ (log (sqrt -1)) (log h)) (log a))))) |
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:
| 13.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 4.0ms | (sqrt (- (* g g) (* h h))) |
| 3.0ms | (- (* g g) (* h h)) |
4 calls. Slowest were:
| 305.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 41.0ms | (sqrt (* (- g h) (+ g h))) |
| 29.0ms | (sqrt (- (* g g) (* h h))) |
| 27.0ms | (- (* g g) (* h h)) |
37 calls. Slowest were:
| 607.0ms | (cbrt (* 1 (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 372.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 327.0ms | (sqrt (* (- (pow g 3) (pow h 3)) (+ g h))) |
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:
| 10.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 3.0ms | (- (* g g) (* h h)) |
| 2.0ms | (sqrt (- (* g g) (* h h))) |
4 calls. Slowest were:
| 282.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 37.0ms | (sqrt (- (* g g) (* h h))) |
| 29.0ms | (sqrt (- (* g g) (* h h))) |
| 20.0ms | (- (* g g) (* h h)) |
35 calls. Slowest were:
| 583.0ms | (cbrt (* 1 (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 469.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 297.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: 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)))))) |
| 2.0ms | (sqrt (- (* g g) (* h h))) |
| 2.0ms | (- (* g g) (* h h)) |
4 calls. Slowest were:
| 256.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 45.0ms | (sqrt (* (- g h) (+ g h))) |
| 37.0ms | (sqrt (- (* g g) (* h h))) |
| 27.0ms | (- (* g g) (* h h)) |
37 calls. Slowest were:
| 579.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 574.0ms | (cbrt (* 1 (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 374.0ms | (sqrt (* (- (* g g) (* h h)) (+ g h))) |
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