


Bits error versus g



Bits error versus h



Bits error versus a
Results
if g < -5.030939790619727e-206Initial program 33.6
rmApplied cbrt-prod30.0
Simplified30.0
rmApplied flip--29.9
Applied frac-times30.9
Applied cbrt-div30.9
Simplified30.4
if -5.030939790619727e-206 < g Initial program 35.4
rmApplied cbrt-prod35.1
Simplified35.1
rmApplied cbrt-prod31.9
Simplified31.9
rmApplied add-sqr-sqrt31.9
Applied sqrt-prod31.9
Final simplification31.2
herbie shell --seed 2018362 +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: 34.3s)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 35.6b
Found 4 expressions with local error:
| 29.5b | (sqrt (- (* g g) (* h h))) |
| 29.5b | (sqrt (- (* g g) (* h h))) |
| 11.6b | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 10.0b | (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:
| 289.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 276.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 43.0ms | (sqrt (- (* g g) (* h h))) |
| 33.0ms | (sqrt (- (* g g) (* h h))) |
38 calls. Slowest were:
| 709.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 676.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 338.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.6b
Found 4 expressions with local error:
| 29.5b | (sqrt (- (* g g) (* h h))) |
| 29.5b | (sqrt (- (* g g) (* h h))) |
| 10.0b | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 3.4b | (- (* g g) (* h h)) |
4 calls. Slowest were:
| 14.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:
| 267.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 43.0ms | (sqrt (- (* g g) (* h h))) |
| 36.0ms | (sqrt (- (* g g) (* h h))) |
| 16.0ms | (- (* g g) (* h h)) |
37 calls. Slowest were:
| 492.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 392.0ms | (* (exp (* 1/3 (- (+ (log (/ -1 g)) (+ (log 1/2) (log (/ -1 a)))) (* 2 (log (/ -1 h)))))) (cbrt -1/2)) |
| 335.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: 29.1b
Found 4 expressions with local error:
| 29.5b | (sqrt (- (* g g) (* h h))) |
| 29.5b | (sqrt (- (* g g) (* h h))) |
| 3.4b | (- (* g g) (* h h)) |
| 3.4b | (- (* g g) (* h h)) |
4 calls. Slowest were:
| 3.0ms | (sqrt (- (* g g) (* h h))) |
| 3.0ms | (sqrt (- (* g g) (* h h))) |
| 2.0ms | (- (* g g) (* h h)) |
4 calls. Slowest were:
| 31.0ms | (sqrt (- (* g g) (* h h))) |
| 26.0ms | (- (* g g) (* h h)) |
| 25.0ms | (sqrt (- (* g g) (* h h))) |
| 17.0ms | (- (* g g) (* h h)) |
36 calls. Slowest were:
| 226.0ms | (sqrt (- (pow (* g g) 3) (pow (* h h) 3))) |
| 217.0ms | (sqrt (- (pow (* g g) 3) (pow (* h h) 3))) |
| 200.0ms | (sqrt (- (* (* g g) (* g g)) (* (* h h) (* h h)))) |
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))) |
| 3.4b | (- (* g g) (* h h)) |
| 2.4b | (- (- g) (sqrt (* (+ g h) (- g h)))) |
4 calls. Slowest were:
| 8.0ms | (- (- g) (sqrt (* (+ g h) (- g h)))) |
| 6.0ms | (sqrt (- (* g g) (* h h))) |
| 5.0ms | (sqrt (* (+ g h) (- g h))) |
4 calls. Slowest were:
| 50.0ms | (sqrt (* (+ g h) (- g h))) |
| 42.0ms | (- (- g) (sqrt (* (+ g h) (- g h)))) |
| 40.0ms | (sqrt (- (* g g) (* h h))) |
| 31.0ms | (- (* g g) (* h h)) |
71 calls. Slowest were:
| 661.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 383.0ms | (sqrt (* (+ (pow g 3) (pow h 3)) (- (pow g 3) (pow h 3)))) |
| 309.0ms | (fma 1 (- g) (- (* (cbrt (sqrt (* (+ g h) (- g h)))) (* (cbrt (sqrt (* (+ g h) (- g h)))) (cbrt (sqrt (* (+ g h) (- g h)))))))) |
15 alts after pruning (15 fresh and 0 done)
Merged error: 29.1b
46.3% (1.7b remaining)
Error of 31.2b against oracle of 29.4b and baseline of 32.7b