


Bits error versus d



Bits error versus h



Bits error versus l



Bits error versus M



Bits error versus D
Results
if l < -1.5320809787726e-310Initial program 25.6
rmApplied div-inv25.6
Applied associate-*r*24.9
Taylor expanded around -inf 22.1
Simplified18.7
if -1.5320809787726e-310 < l < 1.720803034800728e-34Initial program 26.4
rmApplied div-inv26.4
Applied associate-*r*21.2
rmApplied div-inv21.3
Applied unpow-prod-down12.3
Simplified12.3
if 1.720803034800728e-34 < l Initial program 25.1
rmApplied div-inv25.1
Applied unpow-prod-down17.6
Simplified17.6
Final simplification17.4
herbie shell --seed 2019008
(FPCore (d h l M D)
:name "Henrywood and Agarwal, Equation (12)"
(* (* (pow (/ d h) (/ 1 2)) (pow (/ d l) (/ 1 2))) (- 1 (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) (/ h l)))))
Time bar (total: 1.4m)Debug log
1 calls. Slowest were:
| 131.0ms | (* (* (pow (/ d h) (/ 1 2)) (pow (/ d l) (/ 1 2))) (- 1 (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) (/ h l)))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 26.6b
Found 4 expressions with local error:
| 15.0b | (pow (/ d h) (/ 1 2)) |
| 13.4b | (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) (/ h l)) |
| 9.8b | (pow (/ d l) (/ 1 2)) |
| 6.8b | (* (* (pow (/ d h) (/ 1 2)) (pow (/ d l) (/ 1 2))) (- 1 (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) (/ h l)))) |
4 calls. Slowest were:
| 20.0ms | (* (* (pow (/ d h) (/ 1 2)) (pow (/ d l) (/ 1 2))) (- 1 (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) (/ h l)))) |
| 11.0ms | (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) (/ h l)) |
| 1.0ms | (pow (/ d h) (/ 1 2)) |
4 calls. Slowest were:
| 225.0ms | (* (* (pow (/ d h) (/ 1 2)) (pow (/ d l) (/ 1 2))) (- 1 (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) (/ h l)))) |
| 60.0ms | (pow (/ d h) (/ 1 2)) |
| 59.0ms | (pow (/ d l) (/ 1 2)) |
| 53.0ms | (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) (/ h l)) |
71 calls. Slowest were:
| 543.0ms | (* (* 1 (pow (/ (* M D) (* 2 d)) 2)) h) |
| 443.0ms | (sqrt (- 1 (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) (/ h l)))) |
| 424.0ms | (+ (+ (log (/ 1 2)) (log (pow (/ (* M D) (* 2 d)) 2))) (log (/ h l))) |
22 alts after pruning (22 fresh and 0 done)
Merged error: 13.2b
Found 4 expressions with local error:
| 15.0b | (pow (/ d h) (/ 1 2)) |
| 9.8b | (pow (/ d l) (/ 1 2)) |
| 7.6b | (* (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) h) (/ 1 l)) |
| 6.8b | (* (* (pow (/ d h) (/ 1 2)) (pow (/ d l) (/ 1 2))) (- 1 (* (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) h) (/ 1 l)))) |
4 calls. Slowest were:
| 47.0ms | (* (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) h) (/ 1 l)) |
| 30.0ms | (* (* (pow (/ d h) (/ 1 2)) (pow (/ d l) (/ 1 2))) (- 1 (* (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) h) (/ 1 l)))) |
| 7.0ms | (pow (/ d h) (/ 1 2)) |
4 calls. Slowest were:
| 222.0ms | (* (* (pow (/ d h) (/ 1 2)) (pow (/ d l) (/ 1 2))) (- 1 (* (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) h) (/ 1 l)))) |
| 103.0ms | (pow (/ d h) (/ 1 2)) |
| 81.0ms | (* (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) h) (/ 1 l)) |
| 80.0ms | (pow (/ d l) (/ 1 2)) |
66 calls. Slowest were:
| 644.0ms | (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) |
| 559.0ms | (* (* (* 1 (pow (/ (* M D) (* 2 d)) 2)) h) 1) |
| 371.0ms | (* (* (* (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) h) (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) h)) (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) h)) (* (* (/ 1 l) (/ 1 l)) (/ 1 l))) |
23 alts after pruning (23 fresh and 0 done)
Merged error: 10.7b
Found 4 expressions with local error:
| 15.0b | (pow (/ d h) (/ 1 2)) |
| 15.0b | (sqrt (/ d h)) |
| 11.1b | (* (/ (/ M 2) (/ d D)) (/ (* 1/2 h) l)) |
| 10.4b | (* (* (- (sqrt (/ d h))) (sqrt (/ d l))) (* (/ (/ M 2) (/ d D)) (* (/ (/ M 2) (/ d D)) (/ (* 1/2 h) l)))) |
4 calls. Slowest were:
| 49.0ms | (* (* (- (sqrt (/ d h))) (sqrt (/ d l))) (* (/ (/ M 2) (/ d D)) (* (/ (/ M 2) (/ d D)) (/ (* 1/2 h) l)))) |
| 6.0ms | (* (/ (/ M 2) (/ d D)) (/ (* 1/2 h) l)) |
| 1.0ms | (pow (/ d h) (/ 1 2)) |
4 calls. Slowest were:
| 244.0ms | (* (* (- (sqrt (/ d h))) (sqrt (/ d l))) (* (/ (/ M 2) (/ d D)) (* (/ (/ M 2) (/ d D)) (/ (* 1/2 h) l)))) |
| 88.0ms | (pow (/ d h) (/ 1 2)) |
| 57.0ms | (* (/ (/ M 2) (/ d D)) (/ (* 1/2 h) l)) |
| 28.0ms | (sqrt (/ d h)) |
148 calls. Slowest were:
| 1.2s | (* (* (* (* (- (sqrt (/ d h))) (- (sqrt (/ d h)))) (- (sqrt (/ d h)))) (* (* (sqrt (/ d l)) (sqrt (/ d l))) (sqrt (/ d l)))) (* (/ (* (* (/ M 2) (/ M 2)) (/ M 2)) (* (* (/ d D) (/ d D)) (/ d D))) (* (* (* (/ (/ M 2) (/ d D)) (/ (* 1/2 h) l)) (* (/ (/ M 2) (/ d D)) (/ (* 1/2 h) l))) (* (/ (/ M 2) (/ d D)) (/ (* 1/2 h) l))))) |
| 932.0ms | (* (* (* (* (- (sqrt (/ d h))) (sqrt (/ d l))) (* (- (sqrt (/ d h))) (sqrt (/ d l)))) (* (- (sqrt (/ d h))) (sqrt (/ d l)))) (* (/ (* (* (/ M 2) (/ M 2)) (/ M 2)) (* (* (/ d D) (/ d D)) (/ d D))) (* (/ (* (* (/ M 2) (/ M 2)) (/ M 2)) (* (* (/ d D) (/ d D)) (/ d D))) (* (* (/ (* 1/2 h) l) (/ (* 1/2 h) l)) (/ (* 1/2 h) l))))) |
| 888.0ms | (* (* (* (* (- (sqrt (/ d h))) (sqrt (/ d l))) (* (- (sqrt (/ d h))) (sqrt (/ d l)))) (* (- (sqrt (/ d h))) (sqrt (/ d l)))) (* (* (* (/ (/ M 2) (/ d D)) (/ (/ M 2) (/ d D))) (/ (/ M 2) (/ d D))) (* (/ (* (* (/ M 2) (/ M 2)) (/ M 2)) (* (* (/ d D) (/ d D)) (/ d D))) (* (* (/ (* 1/2 h) l) (/ (* 1/2 h) l)) (/ (* 1/2 h) l))))) |
33 alts after pruning (33 fresh and 0 done)
Merged error: 6.0b
Found 4 expressions with local error:
| 15.0b | (pow (/ d h) (/ 1 2)) |
| 15.0b | (sqrt (/ d h)) |
| 9.8b | (pow (/ d l) (/ 1 2)) |
| 9.8b | (sqrt (/ d l)) |
4 calls. Slowest were:
| 3.0ms | (pow (/ d h) (/ 1 2)) |
| 2.0ms | (pow (/ d l) (/ 1 2)) |
| 1.0ms | (sqrt (/ d l)) |
4 calls. Slowest were:
| 85.0ms | (pow (/ d l) (/ 1 2)) |
| 76.0ms | (pow (/ d h) (/ 1 2)) |
| 39.0ms | (sqrt (/ d h)) |
| 26.0ms | (sqrt (/ d l)) |
44 calls. Slowest were:
| 174.0ms | (exp (* 1/2 (- (log (/ 1 h)) (log (/ 1 d))))) |
| 169.0ms | (exp (* 1/2 (- (log (/ 1 l)) (log (/ 1 d))))) |
| 106.0ms | (exp (* 1/2 (- (log (/ -1 h)) (log (/ -1 d))))) |
32 alts after pruning (32 fresh and 0 done)
Merged error: 6.0b
38.9% (11.0b remaining)
Error of 17.4b against oracle of 6.3b and baseline of 24.4b