


Bits error versus w0



Bits error versus M



Bits error versus D



Bits error versus h



Bits error versus l



Bits error versus d
Results
Initial program 13.2
rmApplied div-inv13.2
Applied associate-*r*10.1
rmApplied unpow210.1
Applied associate-*l*8.7
rmApplied un-div-inv8.7
Final simplification8.7
herbie shell --seed 2019007 +o rules:numerics
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
(* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))
Time bar (total: 30.8s)Debug log
1 calls. Slowest were:
| 64.0ms | (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 14.3b
Found 4 expressions with local error:
| 12.4b | (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)) |
| 4.2b | (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)))) |
| 3.8b | (/ (* M D) (* 2 d)) |
| 1.0b | (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))) |
4 calls. Slowest were:
| 7.0ms | (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)))) |
| 6.0ms | (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)) |
| 3.0ms | (/ (* M D) (* 2 d)) |
4 calls. Slowest were:
| 226.0ms | (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))) |
| 137.0ms | (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)))) |
| 55.0ms | (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)) |
| 27.0ms | (/ (* M D) (* 2 d)) |
47 calls. Slowest were:
| 767.0ms | (sqrt (+ 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)))) |
| 398.0ms | (+ (* (- (log (* M D)) (log (* 2 d))) 2) (log (/ h l))) |
| 367.0ms | (+ (log (pow (/ (* M D) (* 2 d)) 2)) (log (/ h l))) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 7.0b
Found 4 expressions with local error:
| 5.3b | (* (pow (/ (* M D) (* 2 d)) 2) h) |
| 5.0b | (* (* (pow (/ (* M D) (* 2 d)) 2) h) (/ 1 l)) |
| 4.2b | (sqrt (- 1 (* (* (pow (/ (* M D) (* 2 d)) 2) h) (/ 1 l)))) |
| 3.8b | (/ (* M D) (* 2 d)) |
4 calls. Slowest were:
| 18.0ms | (* (* (pow (/ (* M D) (* 2 d)) 2) h) (/ 1 l)) |
| 8.0ms | (* (pow (/ (* M D) (* 2 d)) 2) h) |
| 6.0ms | (/ (* M D) (* 2 d)) |
4 calls. Slowest were:
| 156.0ms | (sqrt (- 1 (* (* (pow (/ (* M D) (* 2 d)) 2) h) (/ 1 l)))) |
| 87.0ms | (* (* (pow (/ (* M D) (* 2 d)) 2) h) (/ 1 l)) |
| 57.0ms | (* (pow (/ (* M D) (* 2 d)) 2) h) |
| 28.0ms | (/ (* M D) (* 2 d)) |
38 calls. Slowest were:
| 537.0ms | (+ (log (* (pow (/ (* M D) (* 2 d)) 2) h)) (log (/ 1 l))) |
| 333.0ms | (* 1/4 (/ (* (pow M 2) (* (pow D 2) h)) (pow d 2))) |
| 281.0ms | (pow (/ (* M D) (* 2 d)) 2) |
6 alts after pruning (6 fresh and 0 done)
Merged error: 6.2b
Found 4 expressions with local error:
| 5.2b | (* (/ (* M D) (* 2 d)) h) |
| 5.0b | (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l)) |
| 4.2b | (sqrt (- 1 (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l)))) |
| 3.8b | (/ (* M D) (* 2 d)) |
4 calls. Slowest were:
| 26.0ms | (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l)) |
| 5.0ms | (/ (* M D) (* 2 d)) |
| 4.0ms | (* (/ (* M D) (* 2 d)) h) |
4 calls. Slowest were:
| 110.0ms | (sqrt (- 1 (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l)))) |
| 95.0ms | (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l)) |
| 60.0ms | (* (/ (* M D) (* 2 d)) h) |
| 17.0ms | (/ (* M D) (* 2 d)) |
49 calls. Slowest were:
| 945.0ms | (+ (+ (log (/ (* M D) (* 2 d))) (log (* (/ (* M D) (* 2 d)) h))) (log (/ 1 l))) |
| 861.0ms | (* (* (/ (* (* (* M D) (* M D)) (* M D)) (* (* (* 2 d) (* 2 d)) (* 2 d))) (* (* (* (/ (* M D) (* 2 d)) h) (* (/ (* M D) (* 2 d)) h)) (* (/ (* M D) (* 2 d)) h))) (* (* (/ 1 l) (/ 1 l)) (/ 1 l))) |
| 669.0ms | (* (* (* (* (/ (* M D) (* 2 d)) (/ (* M D) (* 2 d))) (/ (* M D) (* 2 d))) (* (* (* (/ (* M D) (* 2 d)) h) (* (/ (* M D) (* 2 d)) h)) (* (/ (* M D) (* 2 d)) h))) (* (* (/ 1 l) (/ 1 l)) (/ 1 l))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 6.2b
Found 4 expressions with local error:
| 5.2b | (* (/ (* M D) (* 2 d)) h) |
| 5.0b | (/ (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) l) |
| 4.2b | (sqrt (- 1 (/ (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) l))) |
| 3.8b | (/ (* M D) (* 2 d)) |
4 calls. Slowest were:
| 20.0ms | (/ (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) l) |
| 8.0ms | (* (/ (* M D) (* 2 d)) h) |
| 3.0ms | (/ (* M D) (* 2 d)) |
4 calls. Slowest were:
| 108.0ms | (sqrt (- 1 (/ (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) l))) |
| 80.0ms | (/ (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) l) |
| 32.0ms | (* (/ (* M D) (* 2 d)) h) |
| 24.0ms | (/ (* M D) (* 2 d)) |
31 calls. Slowest were:
| 612.0ms | (* (* M D) (* (/ (* M D) (* 2 d)) h)) |
| 582.0ms | (* (/ (* M D) (* 2 d)) (* (* M D) h)) |
| 265.0ms | (sqrt (- (pow 1 3) (pow (/ (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) l) 3))) |
10 alts after pruning (9 fresh and 1 done)
Merged error: 6.2b
0% (1.8b remaining)
Error of 8.7b against oracle of 6.9b and baseline of 8.7b