


Bits error versus w0



Bits error versus M



Bits error versus D



Bits error versus h



Bits error versus l



Bits error versus d
if (/ h l) < -inf.0Initial program 61.5
rmApplied div-inv61.5
Applied associate-*r*24.8
rmApplied unpow224.8
Applied associate-*l*21.3
rmApplied add-cube-cbrt21.4
if -inf.0 < (/ h l) < -4.485396369295968e-252Initial program 12.9
rmApplied div-inv12.9
Applied associate-*r*14.3
rmApplied unpow214.3
Applied associate-*l*13.7
rmApplied add-sqr-sqrt13.7
Applied rem-sqrt-square13.7
Simplified11.6
if -4.485396369295968e-252 < (/ h l) Initial program 8.8
Taylor expanded around 0 3.9
Final simplification8.2
herbie shell --seed 2019004 +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: 38.1s)Debug log
1 calls. Slowest were:
| 83.0ms | (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 14.4b
Found 4 expressions with local error:
| 10.7b | (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)) |
| 6.2b | (/ (* M D) (* 2 d)) |
| 4.7b | (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)))) |
| 2.4b | (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))) |
4 calls. Slowest were:
| 11.0ms | (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)) |
| 5.0ms | (/ (* M D) (* 2 d)) |
| 4.0ms | (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))) |
4 calls. Slowest were:
| 195.0ms | (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))) |
| 122.0ms | (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)))) |
| 90.0ms | (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)) |
| 28.0ms | (/ (* M D) (* 2 d)) |
47 calls. Slowest were:
| 715.0ms | (sqrt (+ 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)))) |
| 394.0ms | (+ (log (pow (/ (* M D) (* 2 d)) 2)) (log (/ h l))) |
| 369.0ms | (+ (* (- (log (* M D)) (log (* 2 d))) 2) (log (/ h l))) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 7.6b
Found 4 expressions with local error:
| 6.2b | (/ (* M D) (* 2 d)) |
| 6.2b | (* (* (pow (/ (* M D) (* 2 d)) 2) h) (/ 1 l)) |
| 5.3b | (* (pow (/ (* M D) (* 2 d)) 2) h) |
| 4.7b | (sqrt (- 1 (* (* (pow (/ (* M D) (* 2 d)) 2) h) (/ 1 l)))) |
4 calls. Slowest were:
| 9.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:
| 125.0ms | (sqrt (- 1 (* (* (pow (/ (* M D) (* 2 d)) 2) h) (/ 1 l)))) |
| 56.0ms | (* (pow (/ (* M D) (* 2 d)) 2) h) |
| 52.0ms | (* (* (pow (/ (* M D) (* 2 d)) 2) h) (/ 1 l)) |
| 16.0ms | (/ (* M D) (* 2 d)) |
38 calls. Slowest were:
| 592.0ms | (+ (log (* (pow (/ (* M D) (* 2 d)) 2) h)) (log (/ 1 l))) |
| 302.0ms | (* 1/4 (/ (* (pow M 2) (* (pow D 2) h)) (pow d 2))) |
| 287.0ms | (* 1/4 (/ (* (pow M 2) (* (pow D 2) h)) (pow d 2))) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 7.1b
Found 4 expressions with local error:
| 6.2b | (/ (* M D) (* 2 d)) |
| 6.2b | (/ (* M D) (* 2 d)) |
| 6.2b | (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l)) |
| 4.7b | (sqrt (- 1 (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l)))) |
4 calls. Slowest were:
| 37.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:
| 115.0ms | (sqrt (- 1 (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l)))) |
| 86.0ms | (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l)) |
| 26.0ms | (/ (* M D) (* 2 d)) |
| 17.0ms | (/ (* M D) (* 2 d)) |
48 calls. Slowest were:
| 959.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))) |
| 846.0ms | (* (* (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h))) (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h))) (* (* (/ 1 l) (/ 1 l)) (/ 1 l))) |
| 726.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))) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 7.1b
Found 4 expressions with local error:
| 28.1b | (cbrt (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l))) |
| 28.1b | (cbrt (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l))) |
| 28.1b | (cbrt (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l))) |
| 6.2b | (/ (* M D) (* 2 d)) |
4 calls. Slowest were:
| 24.0ms | (cbrt (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l))) |
| 19.0ms | (cbrt (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l))) |
| 19.0ms | (cbrt (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l))) |
4 calls. Slowest were:
| 201.0ms | (cbrt (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l))) |
| 191.0ms | (cbrt (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l))) |
| 179.0ms | (cbrt (* (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) (/ 1 l))) |
| 16.0ms | (/ (* M D) (* 2 d)) |
43 calls. Slowest were:
| 580.0ms | (* (exp (* 1/3 (- (+ (log (/ -1 l)) (* 2 (log (/ -1 d)))) (+ (* 2 (log (/ -1 M))) (+ (* 2 (log (/ -1 D))) (log (/ -1 h))))))) (cbrt 1/4)) |
| 533.0ms | (* (exp (* 1/3 (- (+ (log (/ -1 l)) (* 2 (log (/ -1 d)))) (+ (* 2 (log (/ -1 M))) (+ (* 2 (log (/ -1 D))) (log (/ -1 h))))))) (cbrt 1/4)) |
| 526.0ms | (* (cbrt 1/4) (exp (* 1/3 (- (+ (log (/ 1 l)) (* 2 (log (/ 1 d)))) (+ (log (/ 1 h)) (+ (* 2 (log (/ 1 M))) (* 2 (log (/ 1 D))))))))) |
9 alts after pruning (8 fresh and 1 done)
Merged error: 7.1b
31.5% (1.4b remaining)
Error of 8.2b against oracle of 6.9b and baseline of 8.9b