


Bits error versus g



Bits error versus h



Bits error versus a
Results
if g < -1.0749396284737093e-175Initial program 33.9
rmApplied cbrt-prod33.8
Simplified33.8
rmApplied cbrt-prod30.1
Simplified30.1
if -1.0749396284737093e-175 < g < 5.247043520352711e+68Initial program 18.3
rmApplied cbrt-prod14.5
Simplified14.5
Taylor expanded around inf 11.5
if 5.247043520352711e+68 < g Initial program 46.9
rmApplied cbrt-prod43.5
Simplified43.4
rmApplied associate-*l/43.4
Applied cbrt-div43.4
Simplified43.4
rmApplied add-sqr-sqrt43.4
Applied sqrt-prod43.4
Final simplification30.2
herbie shell --seed 2019002 +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: 46.8s)Debug log
1 calls. Slowest were:
| 452.0ms | (+ (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h))))))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 35.3b
Found 4 expressions with local error:
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 10.2b | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 8.3b | (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)))))) |
| 7.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 3.0ms | (sqrt (- (* g g) (* h h))) |
4 calls. Slowest were:
| 279.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 277.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 42.0ms | (sqrt (- (* g g) (* h h))) |
| 26.0ms | (sqrt (- (* g g) (* h h))) |
38 calls. Slowest were:
| 705.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 665.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 382.0ms | (* (exp (* 1/3 (- (+ (log 2) (log (/ 1 a))) (log (/ 1 g))))) (cbrt -1/2)) |
19 alts after pruning (19 fresh and 0 done)
Merged error: 28.7b
Found 4 expressions with local error:
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 10.2b | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 2.8b | (- (* g g) (* h h)) |
4 calls. Slowest were:
| 18.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 6.0ms | (sqrt (- (* g g) (* h h))) |
| 5.0ms | (sqrt (- (* g g) (* h h))) |
4 calls. Slowest were:
| 335.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 39.0ms | (sqrt (- (* g g) (* h h))) |
| 33.0ms | (sqrt (- (* g g) (* h h))) |
| 25.0ms | (- (* g g) (* h h)) |
37 calls. Slowest were:
| 624.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 346.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
| 343.0ms | (cbrt (* 1 (+ (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
24 alts after pruning (24 fresh and 0 done)
Merged error: 28.3b
Found 4 expressions with local error:
| 28.9b | (sqrt (* (+ g h) (- g h))) |
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 2.8b | (- (* g g) (* h h)) |
| 1.7b | (- (sqrt (* (+ g h) (- g h))) g) |
4 calls. Slowest were:
| 6.0ms | (- (sqrt (* (+ g h) (- g h))) g) |
| 3.0ms | (sqrt (- (* g g) (* h h))) |
| 2.0ms | (sqrt (* (+ g h) (- g h))) |
4 calls. Slowest were:
| 53.0ms | (- (sqrt (* (+ g h) (- g h))) g) |
| 31.0ms | (sqrt (* (+ g h) (- g h))) |
| 27.0ms | (sqrt (- (* g g) (* h h))) |
| 18.0ms | (- (* g g) (* h h)) |
36 calls. Slowest were:
| 617.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 532.0ms | (* (cbrt (sqrt (* (+ g h) (- g h)))) (cbrt (sqrt (* (+ g h) (- g h))))) |
| 510.0ms | (sqrt (* (+ (pow g 3) (pow h 3)) (- (pow g 3) (pow h 3)))) |
26 alts after pruning (26 fresh and 0 done)
Merged error: 28.3b
Found 4 expressions with local error:
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 2.8b | (- (* g g) (* h h)) |
| 2.8b | (- (* g g) (* h h)) |
4 calls. Slowest were:
| 6.0ms | (sqrt (- (* g g) (* h h))) |
| 5.0ms | (sqrt (- (* g g) (* h h))) |
| 4.0ms | (- (* g g) (* h h)) |
4 calls. Slowest were:
| 39.0ms | (sqrt (- (* g g) (* h h))) |
| 33.0ms | (sqrt (- (* g g) (* h h))) |
| 18.0ms | (- (* g g) (* h h)) |
| 17.0ms | (- (* g g) (* h h)) |
36 calls. Slowest were:
| 225.0ms | (sqrt (- (pow (* g g) 3) (pow (* h h) 3))) |
| 214.0ms | (sqrt (- (* (* g g) (* g g)) (* (* h h) (* h h)))) |
| 207.0ms | (sqrt (- (* (* g g) (* g g)) (* (* h h) (* h h)))) |
26 alts after pruning (25 fresh and 1 done)
Merged error: 28.3b
36% (1.2b remaining)
Error of 30.2b against oracle of 29.0b and baseline of 30.8b