


Bits error versus g



Bits error versus h



Bits error versus a
Results
if g < -1.0749396284737093e-175Initial program 33.9
Simplified33.9
rmApplied cbrt-prod33.8
rmApplied *-un-lft-identity33.8
Applied times-frac33.8
Applied cbrt-prod30.1
rmApplied flip-+29.9
if -1.0749396284737093e-175 < g < 2.400117213160603e+70Initial program 18.2
Simplified18.1
rmApplied cbrt-prod14.4
Taylor expanded around inf 11.5
if 2.400117213160603e+70 < g Initial program 47.1
Simplified47.1
rmApplied cbrt-prod43.7
rmApplied *-un-lft-identity43.7
Applied times-frac43.7
Applied cbrt-prod43.6
rmApplied add-sqr-sqrt43.6
Final simplification30.1
herbie shell --seed 2019002
(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.2s)Debug log
1 calls. Slowest were:
| 263.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: 35.3b
Found 4 expressions with local error:
| 28.9b | (sqrt (* (+ g h) (- g h))) |
| 28.9b | (sqrt (* (+ g h) (- g h))) |
| 10.2b | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
| 8.3b | (cbrt (* (/ -1/2 a) (+ g (sqrt (* (+ g h) (- g h)))))) |
4 calls. Slowest were:
| 4.0ms | (cbrt (* (/ -1/2 a) (+ g (sqrt (* (+ g h) (- g h)))))) |
| 4.0ms | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
| 3.0ms | (sqrt (* (+ g h) (- g h))) |
4 calls. Slowest were:
| 336.0ms | (cbrt (* (/ -1/2 a) (+ g (sqrt (* (+ g h) (- g h)))))) |
| 234.0ms | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
| 47.0ms | (sqrt (* (+ g h) (- g h))) |
| 43.0ms | (sqrt (* (+ g h) (- g h))) |
44 calls. Slowest were:
| 424.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 380.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 308.0ms | (- (+ (* 1/18 (* (cbrt 1/2) (* (exp (* 1/3 (- (log (/ 1 (sqrt -1))) (+ (* 5 (log h)) (log a))))) (pow g 2)))) (* (cbrt 1/2) (exp (* 1/3 (- (+ (log (sqrt -1)) (log h)) (log a)))))) (* 1/3 (* (cbrt 1/2) (* g (exp (* 1/3 (- (log -1) (+ (* 2 (log h)) (log a))))))))) |
22 alts after pruning (22 fresh and 0 done)
Merged error: 29.2b
Found 4 expressions with local error:
| 28.9b | (sqrt (* (+ g h) (- g h))) |
| 28.9b | (sqrt (* (+ g h) (- g h))) |
| 10.2b | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
| 1.7b | (- (sqrt (* (+ g h) (- g h))) g) |
4 calls. Slowest were:
| 5.0ms | (- (sqrt (* (+ g h) (- g h))) g) |
| 2.0ms | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
| 1.0ms | (sqrt (* (+ g h) (- g h))) |
4 calls. Slowest were:
| 205.0ms | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
| 43.0ms | (- (sqrt (* (+ g h) (- g h))) g) |
| 36.0ms | (sqrt (* (+ g h) (- g h))) |
| 34.0ms | (sqrt (* (+ g h) (- g h))) |
38 calls. Slowest were:
| 406.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 384.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 337.0ms | (sqrt (* (+ (pow g 3) (pow h 3)) (- g h))) |
27 alts after pruning (27 fresh and 0 done)
Merged error: 28.8b
Found 4 expressions with local error:
| 28.9b | (sqrt (* (+ g h) (- g h))) |
| 28.9b | (sqrt (* (+ g h) (- g h))) |
| 1.7b | (- (sqrt (* (+ g h) (- g h))) g) |
| 1.0b | (+ g (sqrt (* (+ g h) (- g h)))) |
4 calls. Slowest were:
| 5.0ms | (- (sqrt (* (+ g h) (- g h))) g) |
| 1.0ms | (sqrt (* (+ g h) (- g h))) |
| 1.0ms | (sqrt (* (+ g h) (- g h))) |
4 calls. Slowest were:
| 57.0ms | (+ g (sqrt (* (+ g h) (- g h)))) |
| 45.0ms | (- (sqrt (* (+ g h) (- g h))) g) |
| 42.0ms | (sqrt (* (+ g h) (- g h))) |
| 39.0ms | (sqrt (* (+ g h) (- g h))) |
30 calls. Slowest were:
| 386.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 384.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 375.0ms | (sqrt (* (+ (pow g 3) (pow h 3)) (- g h))) |
27 alts after pruning (27 fresh and 0 done)
Merged error: 28.8b
Found 4 expressions with local error:
| 28.9b | (sqrt (* (+ g h) (- g h))) |
| 28.9b | (sqrt (* (+ g h) (- g h))) |
| 1.7b | (- (sqrt (* (+ g h) (- g h))) g) |
| 1.0b | (+ g (sqrt (* (+ g h) (- g h)))) |
4 calls. Slowest were:
| 10.0ms | (- (sqrt (* (+ g h) (- g h))) g) |
| 3.0ms | (sqrt (* (+ g h) (- g h))) |
| 2.0ms | (sqrt (* (+ g h) (- g h))) |
4 calls. Slowest were:
| 49.0ms | (sqrt (* (+ g h) (- g h))) |
| 46.0ms | (sqrt (* (+ g h) (- g h))) |
| 41.0ms | (- (sqrt (* (+ g h) (- g h))) g) |
| 41.0ms | (+ g (sqrt (* (+ g h) (- g h)))) |
30 calls. Slowest were:
| 459.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 444.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 293.0ms | (sqrt (* (+ (pow g 3) (pow h 3)) (- g h))) |
27 alts after pruning (27 fresh and 0 done)
Merged error: 28.8b
54% (0.6b remaining)
Error of 30.1b against oracle of 29.5b and baseline of 30.8b