


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.2
rmApplied unpow210.2
Applied associate-*l*8.8
rmApplied associate-*l*8.2
rmApplied un-div-inv8.2
Final simplification8.2
herbie shell --seed 2019002 +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: 31.5s)Debug log
1 calls. Slowest were:
| 109.0ms | (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 13.4b
Found 4 expressions with local error:
| 8.7b | (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)) |
| 5.5b | (/ (* M D) (* 2 d)) |
| 5.1b | (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)))) |
| 3.4b | (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))) |
4 calls. Slowest were:
| 8.0ms | (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))) |
| 5.0ms | (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)) |
| 3.0ms | (/ (* M D) (* 2 d)) |
4 calls. Slowest were:
| 188.0ms | (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))) |
| 156.0ms | (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)))) |
| 82.0ms | (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)) |
| 26.0ms | (/ (* M D) (* 2 d)) |
47 calls. Slowest were:
| 864.0ms | (sqrt (+ 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)))) |
| 525.0ms | (+ (* (- (log (* M D)) (log (* 2 d))) 2) (log (/ h l))) |
| 462.0ms | (sqrt (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))) |
6 alts after pruning (6 fresh and 0 done)
Merged error: 9.6b
Found 4 expressions with local error:
| 5.6b | (* (* (pow (/ (* M D) (* 2 d)) 2) h) (/ 1 l)) |
| 5.5b | (/ (* M D) (* 2 d)) |
| 5.1b | (sqrt (- 1 (* (* (pow (/ (* M D) (* 2 d)) 2) h) (/ 1 l)))) |
| 4.7b | (* (pow (/ (* M D) (* 2 d)) 2) h) |
4 calls. Slowest were:
| 8.0ms | (* (* (pow (/ (* M D) (* 2 d)) 2) h) (/ 1 l)) |
| 5.0ms | (* (pow (/ (* M D) (* 2 d)) 2) h) |
| 3.0ms | (/ (* M D) (* 2 d)) |
4 calls. Slowest were:
| 119.0ms | (sqrt (- 1 (* (* (pow (/ (* M D) (* 2 d)) 2) h) (/ 1 l)))) |
| 71.0ms | (* (* (pow (/ (* M D) (* 2 d)) 2) h) (/ 1 l)) |
| 65.0ms | (* (pow (/ (* M D) (* 2 d)) 2) h) |
| 21.0ms | (/ (* M D) (* 2 d)) |
38 calls. Slowest were:
| 722.0ms | (+ (log (* (pow (/ (* M D) (* 2 d)) 2) h)) (log (/ 1 l))) |
| 410.0ms | (* 1/4 (/ (* (pow M 2) (* (pow D 2) h)) (pow d 2))) |
| 362.0ms | (* 1/4 (/ (* (pow M 2) (* (pow D 2) h)) (pow d 2))) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 9.4b
Found 4 expressions with local error:
| 5.6b | (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l)) |
| 5.5b | (/ (* M D) (* 2 d)) |
| 5.5b | (/ (* M D) (* 2 d)) |
| 5.1b | (sqrt (- 1 (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l)))) |
4 calls. Slowest were:
| 47.0ms | (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l)) |
| 3.0ms | (/ (* M D) (* 2 d)) |
| 3.0ms | (/ (* M D) (* 2 d)) |
4 calls. Slowest were:
| 102.0ms | (sqrt (- 1 (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l)))) |
| 75.0ms | (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l)) |
| 27.0ms | (/ (* M D) (* 2 d)) |
| 22.0ms | (/ (* M D) (* 2 d)) |
48 calls. Slowest were:
| 874.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))) |
| 671.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))) |
| 616.0ms | (+ (+ (log (/ (* M D) (* 2 d))) (log (* (/ (* M D) (* 2 d)) h))) (log (/ 1 l))) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 8.7b
Found 4 expressions with local error:
| 5.8b | (* (* (/ (* M D) (* 2 d)) h) (/ 1 l)) |
| 5.5b | (/ (* M D) (* 2 d)) |
| 5.5b | (/ (* M D) (* 2 d)) |
| 5.1b | (sqrt (- 1 (* (/ (* M D) (* 2 d)) (* (* (/ (* M D) (* 2 d)) h) (/ 1 l))))) |
4 calls. Slowest were:
| 10.0ms | (* (* (/ (* M D) (* 2 d)) h) (/ 1 l)) |
| 10.0ms | (/ (* M D) (* 2 d)) |
| 6.0ms | (/ (* M D) (* 2 d)) |
4 calls. Slowest were:
| 133.0ms | (sqrt (- 1 (* (/ (* M D) (* 2 d)) (* (* (/ (* M D) (* 2 d)) h) (/ 1 l))))) |
| 57.0ms | (* (* (/ (* M D) (* 2 d)) h) (/ 1 l)) |
| 19.0ms | (/ (* M D) (* 2 d)) |
| 16.0ms | (/ (* M D) (* 2 d)) |
37 calls. Slowest were:
| 507.0ms | (* (* (* (* (/ (* M D) (* 2 d)) h) (* (/ (* M D) (* 2 d)) h)) (* (/ (* M D) (* 2 d)) h)) (* (* (/ 1 l) (/ 1 l)) (/ 1 l))) |
| 456.0ms | (* (* (/ (* M D) (* 2 d)) h) (/ 1 l)) |
| 380.0ms | (sqrt (- (* 1 1) (* (* (/ (* M D) (* 2 d)) (* (* (/ (* M D) (* 2 d)) h) (/ 1 l))) (* (/ (* M D) (* 2 d)) (* (* (/ (* M D) (* 2 d)) h) (/ 1 l)))))) |
6 alts after pruning (6 fresh and 0 done)
Merged error: 8.7b
0% (1.4b remaining)
Error of 8.2b against oracle of 6.8b and baseline of 8.2b