


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
if l < -5.796129162796494e-121 or 4.117387300691765e+181 < l Initial program 10.3
rmApplied associate-*r/10.7
rmApplied unpow210.7
Applied associate-*l*8.9
rmApplied associate-/l*7.3
rmApplied add-cube-cbrt7.3
if -5.796129162796494e-121 < l < 4.117387300691765e+181Initial program 16.9
rmApplied associate-*r/10.6
rmApplied times-frac10.3
Final simplification8.8
herbie shell --seed 2019016 +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: 29.3s)Debug log
| 414× | (pre true 80) |
| 315× | (body real 80) |
| 99× | (body nan 80) |
| 76.0ms | (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 13.8b
Found 4 expressions with local error:
| 12.2b | (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)) |
| 7.0b | (/ (* M D) (* 2 d)) |
| 4.2b | (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)))) |
| 1.5b | (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))) |
| 14× | add-exp-log |
| 11× | add-sqr-sqrt |
| 10× | add-cube-cbrt |
| 10× | associate-*r* |
| 10× | *-un-lft-identity |
| 9× | associate-*l* |
| 8× | add-cbrt-cube |
| 6× | sqrt-prod |
| 5× | unpow-prod-down |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | prod-exp |
| 4× | sqrt-div |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | div-inv |
| 3× | associate-*r/ |
| 2× | flip-- |
| 2× | *-commutative |
| 2× | pow-exp |
| 2× | div-exp |
| 2× | flip3-- |
| 2× | times-frac |
| 1× | unpow2 |
| 1× | associate-/l* |
| 1× | cbrt-unprod |
| 1× | pow1/2 |
| 1× | frac-2neg |
| 1× | associate-/r* |
| 1× | clear-num |
| 1× | rem-sqrt-square |
| 1× | cbrt-undiv |
| 1× | pow-to-exp |
| 6.0ms | (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)) |
| 5.0ms | (/ (* M D) (* 2 d)) |
| 5.0ms | (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))) |
| 4.0ms | (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)))) |
| 215.0ms | (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))) |
| 116.0ms | (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)))) |
| 93.0ms | (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)) |
| 17.0ms | (/ (* M D) (* 2 d)) |
| 847.0ms | (sqrt (+ 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)))) |
| 375.0ms | (+ (log (pow (/ (* M D) (* 2 d)) 2)) (log (/ h l))) |
| 368.0ms | (+ (* (- (log (* M D)) (log (* 2 d))) 2) (log (/ h l))) |
| 261.0ms | (sqrt (pow (/ (* M D) (* 2 d)) 2)) |
| 245.0ms | (+ (* (log (/ (* M D) (* 2 d))) 2) (log (/ h l))) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 7.3b
Found 4 expressions with local error:
| 7.0b | (/ (* M D) (* 2 d)) |
| 6.2b | (* (pow (/ (* M D) (* 2 d)) 2) h) |
| 4.4b | (/ (* (pow (/ (* M D) (* 2 d)) 2) h) l) |
| 4.2b | (sqrt (- 1 (/ (* (pow (/ (* M D) (* 2 d)) 2) h) l))) |
| 9× | associate-*l* |
| 8× | add-sqr-sqrt |
| 7× | add-cube-cbrt |
| 7× | *-un-lft-identity |
| 6× | add-exp-log |
| 6× | add-cbrt-cube |
| 5× | unpow-prod-down |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | div-inv |
| 3× | sqrt-prod |
| 2× | associate-/l* |
| 2× | sqrt-div |
| 2× | times-frac |
| 2× | frac-2neg |
| 2× | clear-num |
| 1× | unpow2 |
| 1× | flip-- |
| 1× | *-commutative |
| 1× | div-exp |
| 1× | pow1/2 |
| 1× | flip3-- |
| 1× | associate-/r* |
| 1× | rem-sqrt-square |
| 1× | cbrt-undiv |
| 6.0ms | (/ (* (pow (/ (* M D) (* 2 d)) 2) h) l) |
| 4.0ms | (* (pow (/ (* M D) (* 2 d)) 2) h) |
| 3.0ms | (/ (* M D) (* 2 d)) |
| 2.0ms | (sqrt (- 1 (/ (* (pow (/ (* M D) (* 2 d)) 2) h) l))) |
| 127.0ms | (sqrt (- 1 (/ (* (pow (/ (* M D) (* 2 d)) 2) h) l))) |
| 87.0ms | (/ (* (pow (/ (* M D) (* 2 d)) 2) h) l) |
| 81.0ms | (* (pow (/ (* M D) (* 2 d)) 2) h) |
| 16.0ms | (/ (* M D) (* 2 d)) |
| 712.0ms | (sqrt (- 1 (/ (* (pow (/ (* M D) (* 2 d)) 2) h) l))) |
| 669.0ms | (sqrt (sqrt (- 1 (/ (* (pow (/ (* M D) (* 2 d)) 2) h) l)))) |
| 638.0ms | (sqrt (* (cbrt (- 1 (/ (* (pow (/ (* M D) (* 2 d)) 2) h) l))) (cbrt (- 1 (/ (* (pow (/ (* M D) (* 2 d)) 2) h) l))))) |
| 323.0ms | (sqrt (pow (/ (* M D) (* 2 d)) 2)) |
| 317.0ms | (* 1/4 (/ (* (pow M 2) (* (pow D 2) h)) (pow d 2))) |
14 alts after pruning (14 fresh and 0 done)
Merged error: 6.2b
Found 4 expressions with local error:
| 7.0b | (/ (* M D) (* 2 d)) |
| 7.0b | (/ (* M D) (* 2 d)) |
| 6.5b | (* (/ (* M D) (* 2 d)) h) |
| 4.4b | (/ (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) l) |
| 8× | add-exp-log |
| 8× | add-cbrt-cube |
| 5× | add-cube-cbrt |
| 5× | associate-*l* |
| 5× | *-un-lft-identity |
| 5× | add-sqr-sqrt |
| 4× | add-log-exp |
| 4× | div-inv |
| 4× | log1p-expm1-u |
| 4× | associate-*l/ |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | associate-/l/ |
| 3× | associate-/l* |
| 3× | times-frac |
| 3× | frac-2neg |
| 3× | clear-num |
| 2× | div-exp |
| 2× | associate-/r* |
| 2× | cbrt-undiv |
| 1× | *-commutative |
| 1× | associate-*r/ |
| 1× | frac-times |
| 15.0ms | (/ (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) l) |
| 6.0ms | (* (/ (* M D) (* 2 d)) h) |
| 3.0ms | (/ (* M D) (* 2 d)) |
| 3.0ms | (/ (* M D) (* 2 d)) |
| 70.0ms | (/ (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) l) |
| 36.0ms | (* (/ (* M D) (* 2 d)) h) |
| 22.0ms | (/ (* M D) (* 2 d)) |
| 20.0ms | (/ (* M D) (* 2 d)) |
| 628.0ms | (* (* M D) (* (/ (* M D) (* 2 d)) h)) |
| 483.0ms | (* (/ (* M D) (* 2 d)) (* (* M D) h)) |
| 289.0ms | (* 1/2 (/ (* M (* D h)) d)) |
| 261.0ms | (* 1/2 (/ (* M (* D h)) d)) |
| 201.0ms | (* 1/2 (/ (* M (* D h)) d)) |
15 alts after pruning (15 fresh and 0 done)
Merged error: 6.0b
Found 4 expressions with local error:
| 7.0b | (/ (* M D) (* 2 d)) |
| 7.0b | (/ (* M D) (* 2 d)) |
| 6.5b | (* (/ (* M D) (* 2 d)) h) |
| 4.2b | (sqrt (- 1 (/ (/ (* M D) (* 2 d)) (/ l (* (/ (* M D) (* 2 d)) h))))) |
| 8× | add-exp-log |
| 8× | add-cbrt-cube |
| 7× | add-sqr-sqrt |
| 6× | add-cube-cbrt |
| 6× | *-un-lft-identity |
| 5× | associate-*l* |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | div-inv |
| 3× | sqrt-prod |
| 3× | times-frac |
| 2× | associate-/l* |
| 2× | div-exp |
| 2× | sqrt-div |
| 2× | frac-2neg |
| 2× | associate-/r* |
| 2× | clear-num |
| 2× | cbrt-undiv |
| 1× | flip-- |
| 1× | *-commutative |
| 1× | associate-*l/ |
| 1× | pow1/2 |
| 1× | flip3-- |
| 1× | rem-sqrt-square |
| 6.0ms | (sqrt (- 1 (/ (/ (* M D) (* 2 d)) (/ l (* (/ (* M D) (* 2 d)) h))))) |
| 4.0ms | (* (/ (* M D) (* 2 d)) h) |
| 3.0ms | (/ (* M D) (* 2 d)) |
| 3.0ms | (/ (* M D) (* 2 d)) |
| 167.0ms | (sqrt (- 1 (/ (/ (* M D) (* 2 d)) (/ l (* (/ (* M D) (* 2 d)) h))))) |
| 53.0ms | (* (/ (* M D) (* 2 d)) h) |
| 30.0ms | (/ (* M D) (* 2 d)) |
| 17.0ms | (/ (* M D) (* 2 d)) |
| 279.0ms | (* 1/2 (/ (* M (* D h)) d)) |
| 268.0ms | (sqrt (- (pow 1 3) (pow (/ (/ (* M D) (* 2 d)) (/ l (* (/ (* M D) (* 2 d)) h))) 3))) |
| 262.0ms | (* 1/2 (/ (* M (* D h)) d)) |
| 234.0ms | (sqrt (- (* 1 1) (* (/ (/ (* M D) (* 2 d)) (/ l (* (/ (* M D) (* 2 d)) h))) (/ (/ (* M D) (* 2 d)) (/ l (* (/ (* M D) (* 2 d)) h)))))) |
| 230.0ms | (/ (* (* (* M D) (* M D)) (* M D)) (* (* (* 2 d) (* 2 d)) (* 2 d))) |
13 alts after pruning (13 fresh and 0 done)
Merged error: 6.0b
-26.3% (1.8b remaining)
Error of 8.8b against oracle of 7.0b and baseline of 8.5b
| 12346× | (pre true 80) |
| 9330× | (body real 80) |
| 3016× | (body nan 80) |