


Bits error versus g



Bits error versus h



Bits error versus a
Results
if (/ 1 (* 2 a)) < 7.572626811676115e-270Initial program 35.3
Simplified35.3
rmApplied associate-*l/35.3
Applied cbrt-div31.8
if 7.572626811676115e-270 < (/ 1 (* 2 a)) Initial program 33.7
Simplified33.7
rmApplied div-inv33.7
Applied cbrt-prod30.5
rmApplied add-sqr-sqrt30.5
Final simplification31.2
herbie shell --seed 2019005
(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.3s)Debug log
1 calls. Slowest were:
| 305.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.0b
Found 4 expressions with local error:
| 26.9b | (sqrt (* (+ g h) (- g h))) |
| 26.9b | (sqrt (* (+ g h) (- g h))) |
| 8.4b | (cbrt (* (/ -1/2 a) (+ g (sqrt (* (+ g h) (- g h)))))) |
| 8.0b | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
4 calls. Slowest were:
| 2.0ms | (cbrt (* (/ -1/2 a) (+ g (sqrt (* (+ g h) (- g h)))))) |
| 2.0ms | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
| 1.0ms | (sqrt (* (+ g h) (- g h))) |
4 calls. Slowest were:
| 311.0ms | (cbrt (* (/ -1/2 a) (+ g (sqrt (* (+ g h) (- g h)))))) |
| 240.0ms | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
| 31.0ms | (sqrt (* (+ g h) (- g h))) |
| 30.0ms | (sqrt (* (+ g h) (- g h))) |
44 calls. Slowest were:
| 383.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 322.0ms | (sqrt (* (+ (pow g 3) (pow h 3)) (- g h))) |
| 317.0ms | (* (cbrt 1/2) (exp (* 1/3 (- (+ (log (/ -1 g)) (+ (log (/ -1 a)) (log -1/2))) (* 2 (log (/ -1 h))))))) |
20 alts after pruning (20 fresh and 0 done)
Merged error: 28.0b
Found 4 expressions with local error:
| 26.9b | (sqrt (* (+ g h) (- g h))) |
| 26.9b | (sqrt (* (+ g h) (- g h))) |
| 8.4b | (cbrt (* (/ -1/2 a) (+ g (sqrt (* (+ g h) (- g h)))))) |
| 2.5b | (+ g (sqrt (* (+ g h) (- g h)))) |
4 calls. Slowest were:
| 4.0ms | (cbrt (* (/ -1/2 a) (+ g (sqrt (* (+ g h) (- g h)))))) |
| 3.0ms | (sqrt (* (+ g h) (- g h))) |
| 3.0ms | (sqrt (* (+ g h) (- g h))) |
4 calls. Slowest were:
| 280.0ms | (cbrt (* (/ -1/2 a) (+ g (sqrt (* (+ g h) (- g h)))))) |
| 49.0ms | (sqrt (* (+ g h) (- g h))) |
| 49.0ms | (sqrt (* (+ g h) (- g h))) |
| 38.0ms | (+ g (sqrt (* (+ g h) (- g h)))) |
36 calls. Slowest were:
| 419.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 305.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 304.0ms | (sqrt (* (+ (pow g 3) (pow h 3)) (- g h))) |
23 alts after pruning (23 fresh and 0 done)
Merged error: 27.7b
Found 4 expressions with local error:
| 26.9b | (sqrt (* (+ g h) (- g h))) |
| 26.9b | (sqrt (* (+ g h) (- g h))) |
| 8.4b | (cbrt (* (/ -1/2 a) (+ g (sqrt (* (+ g h) (- g h)))))) |
| 2.5b | (+ g (sqrt (* (+ g h) (- g h)))) |
4 calls. Slowest were:
| 4.0ms | (cbrt (* (/ -1/2 a) (+ g (sqrt (* (+ g h) (- g h)))))) |
| 3.0ms | (sqrt (* (+ g h) (- g h))) |
| 2.0ms | (sqrt (* (+ g h) (- g h))) |
4 calls. Slowest were:
| 284.0ms | (cbrt (* (/ -1/2 a) (+ g (sqrt (* (+ g h) (- g h)))))) |
| 57.0ms | (+ g (sqrt (* (+ g h) (- g h)))) |
| 38.0ms | (sqrt (* (+ g h) (- g h))) |
| 30.0ms | (sqrt (* (+ g h) (- g h))) |
36 calls. Slowest were:
| 403.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 283.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 275.0ms | (* (cbrt 1/2) (exp (* 1/3 (- (+ (log (/ -1 g)) (+ (log (/ -1 a)) (log -1/2))) (* 2 (log (/ -1 h))))))) |
24 alts after pruning (24 fresh and 0 done)
Merged error: 27.7b
Found 4 expressions with local error:
| 26.9b | (sqrt (* (+ g h) (- g h))) |
| 26.9b | (sqrt (* (+ g h) (- g h))) |
| 8.4b | (cbrt (* (/ -1/2 a) (+ g (sqrt (* (+ g h) (- g h)))))) |
| 2.5b | (+ g (sqrt (* (+ g h) (- g h)))) |
4 calls. Slowest were:
| 4.0ms | (cbrt (* (/ -1/2 a) (+ g (sqrt (* (+ g h) (- g h)))))) |
| 3.0ms | (sqrt (* (+ g h) (- g h))) |
| 3.0ms | (sqrt (* (+ g h) (- g h))) |
4 calls. Slowest were:
| 324.0ms | (cbrt (* (/ -1/2 a) (+ g (sqrt (* (+ g h) (- g h)))))) |
| 57.0ms | (+ g (sqrt (* (+ g h) (- g h)))) |
| 50.0ms | (sqrt (* (+ g h) (- g h))) |
| 49.0ms | (sqrt (* (+ g h) (- g h))) |
36 calls. Slowest were:
| 706.0ms | (* (cbrt 1/2) (exp (* 1/3 (- (+ (log (/ -1 g)) (+ (log (/ -1 a)) (log -1/2))) (* 2 (log (/ -1 h))))))) |
| 368.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 280.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
24 alts after pruning (23 fresh and 1 done)
Merged error: 27.7b
49.4% (1.5b remaining)
Error of 31.2b against oracle of 29.7b and baseline of 32.7b