Average Error: 13.4 → 7.6
Time: 34.9s
Precision: 64
Internal Precision: 128
\[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
\[w0 \cdot \sqrt{1 - \frac{\frac{M}{\frac{d}{D}} \cdot h}{\frac{\ell}{\frac{\frac{M}{\frac{d}{D}}}{4}}}}\]

Error

Bits error versus w0

Bits error versus M

Bits error versus D

Bits error versus h

Bits error versus l

Bits error versus d

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 13.4

    \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
  2. Initial simplification12.9

    \[\leadsto \sqrt{1 - \frac{\frac{M \cdot D}{2 \cdot d} \cdot \frac{M \cdot D}{2 \cdot d}}{\frac{\ell}{h}}} \cdot w0\]
  3. Using strategy rm
  4. Applied associate-/r/10.0

    \[\leadsto \sqrt{1 - \color{blue}{\frac{\frac{M \cdot D}{2 \cdot d} \cdot \frac{M \cdot D}{2 \cdot d}}{\ell} \cdot h}} \cdot w0\]
  5. Using strategy rm
  6. Applied associate-*l/9.9

    \[\leadsto \sqrt{1 - \color{blue}{\frac{\left(\frac{M \cdot D}{2 \cdot d} \cdot \frac{M \cdot D}{2 \cdot d}\right) \cdot h}{\ell}}} \cdot w0\]
  7. Simplified8.3

    \[\leadsto \sqrt{1 - \frac{\color{blue}{\left(h \cdot \frac{M}{\frac{d}{D}}\right) \cdot \frac{\frac{M}{\frac{d}{D}}}{4}}}{\ell}} \cdot w0\]
  8. Using strategy rm
  9. Applied associate-/l*7.6

    \[\leadsto \sqrt{1 - \color{blue}{\frac{h \cdot \frac{M}{\frac{d}{D}}}{\frac{\ell}{\frac{\frac{M}{\frac{d}{D}}}{4}}}}} \cdot w0\]
  10. Final simplification7.6

    \[\leadsto w0 \cdot \sqrt{1 - \frac{\frac{M}{\frac{d}{D}} \cdot h}{\frac{\ell}{\frac{\frac{M}{\frac{d}{D}}}{4}}}}\]

Reproduce

herbie shell --seed 2018362 
(FPCore (w0 M D h l d)
  :name "Henrywood and Agarwal, Equation (9a)"
  (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))

Details

Time bar (total: 28.0s)Debug log

start232.0ms

Algorithm
intervals

setup94.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 14.0b

localize29.0ms

Local error

Found 4 expressions with local error:

10.5b
(/ (* (/ (* M D) (* 2 d)) (/ (* M D) (* 2 d))) (/ l h))
5.6b
(/ (* M D) (* 2 d))
5.6b
(/ (* M D) (* 2 d))
4.7b
(sqrt (- 1 (/ (* (/ (* M D) (* 2 d)) (/ (* M D) (* 2 d))) (/ l h))))

rewrite41.0ms

Algorithm
rewrite-expression-head
Counts
4 → 77
Calls

4 calls. Slowest were:

18.0ms
(/ (* (/ (* M D) (* 2 d)) (/ (* M D) (* 2 d))) (/ l h))
12.0ms
(/ (* M D) (* 2 d))
5.0ms
(/ (* M D) (* 2 d))

series257.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

134.0ms
(sqrt (- 1 (/ (* (/ (* M D) (* 2 d)) (/ (* M D) (* 2 d))) (/ l h))))
91.0ms
(/ (* (/ (* M D) (* 2 d)) (/ (* M D) (* 2 d))) (/ l h))
16.0ms
(/ (* M D) (* 2 d))
16.0ms
(/ (* M D) (* 2 d))

simplify10.3s

Counts
52 → 89
Calls

52 calls. Slowest were:

1.4s
(/ (* (* (* (/ (* M D) (* 2 d)) (/ (* M D) (* 2 d))) (/ (* M D) (* 2 d))) (/ (* (* (* M D) (* M D)) (* M D)) (* (* (* 2 d) (* 2 d)) (* 2 d)))) (* (* (/ l h) (/ l h)) (/ l h)))
1.0s
(/ (* (/ (* (* (* M D) (* M D)) (* M D)) (* (* (* 2 d) (* 2 d)) (* 2 d))) (* (* (/ (* M D) (* 2 d)) (/ (* M D) (* 2 d))) (/ (* M D) (* 2 d)))) (* (* (/ l h) (/ l h)) (/ l h)))
822.0ms
(/ (* (/ (* (* (* M D) (* M D)) (* M D)) (* (* (* 2 d) (* 2 d)) (* 2 d))) (/ (* (* (* M D) (* M D)) (* M D)) (* (* (* 2 d) (* 2 d)) (* 2 d)))) (* (* (/ l h) (/ l h)) (/ l h)))

prune1.8s

Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 8.3b

localize28.0ms

Local error

Found 4 expressions with local error:

5.6b
(/ (* M D) (* 2 d))
5.6b
(/ (* M D) (* 2 d))
5.2b
(/ (* (/ (* M D) (* 2 d)) (/ (* M D) (* 2 d))) l)
5.1b
(* (/ (* (/ (* M D) (* 2 d)) (/ (* M D) (* 2 d))) l) h)

rewrite42.0ms

Algorithm
rewrite-expression-head
Counts
4 → 57
Calls

4 calls. Slowest were:

17.0ms
(/ (* (/ (* M D) (* 2 d)) (/ (* M D) (* 2 d))) l)
14.0ms
(* (/ (* (/ (* M D) (* 2 d)) (/ (* M D) (* 2 d))) l) h)
5.0ms
(/ (* M D) (* 2 d))

series160.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

71.0ms
(* (/ (* (/ (* M D) (* 2 d)) (/ (* M D) (* 2 d))) l) h)
43.0ms
(/ (* (/ (* M D) (* 2 d)) (/ (* M D) (* 2 d))) l)
28.0ms
(/ (* M D) (* 2 d))
18.0ms
(/ (* M D) (* 2 d))

simplify2.8s

Counts
28 → 69
Calls

28 calls. Slowest were:

664.0ms
(* (/ (* M D) (* 2 d)) (/ (* M D) (* 2 d)))
180.0ms
(* (/ (* M D) (* 2 d)) (* M D))
173.0ms
(/ (* (* (* M D) (* M D)) (* M D)) (* (* (* 2 d) (* 2 d)) (* 2 d)))

prune1.3s

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 7.6b

localize52.0ms

Local error

Found 4 expressions with local error:

5.4b
(/ (* (* h (/ M (/ d D))) (/ (/ M (/ d D)) 4)) l)
4.7b
(sqrt (- 1 (/ (* (* h (/ M (/ d D))) (/ (/ M (/ d D)) 4)) l)))
4.6b
(/ M (/ d D))
4.6b
(/ M (/ d D))

rewrite10.0ms

Algorithm
rewrite-expression-head
Counts
4 → 58
Calls

4 calls. Slowest were:

7.0ms
(/ (* (* h (/ M (/ d D))) (/ (/ M (/ d D)) 4)) l)
1.0ms
(sqrt (- 1 (/ (* (* h (/ M (/ d D))) (/ (/ M (/ d D)) 4)) l)))
0.0ms
(/ M (/ d D))

series330.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

212.0ms
(sqrt (- 1 (/ (* (* h (/ M (/ d D))) (/ (/ M (/ d D)) 4)) l)))
88.0ms
(/ (* (* h (/ M (/ d D))) (/ (/ M (/ d D)) 4)) l)
17.0ms
(/ M (/ d D))
14.0ms
(/ M (/ d D))

simplify2.0s

Counts
30 → 70
Calls

30 calls. Slowest were:

679.0ms
(sqrt (sqrt (- 1 (/ (* (* h (/ M (/ d D))) (/ (/ M (/ d D)) 4)) l))))
308.0ms
(* (* h M) (/ (/ M (/ d D)) 4))
157.0ms
(* (* h M) (/ M (/ d D)))

prune1.2s

Pruning

6 alts after pruning (5 fresh and 1 done)

Merged error: 7.6b

localize23.0ms

Local error

Found 4 expressions with local error:

6.1b
(/ l (/ (/ M (/ d D)) 4))
4.7b
(sqrt (- 1 (/ (* h (/ M (/ d D))) (/ l (/ (/ M (/ d D)) 4)))))
4.6b
(/ M (/ d D))
4.6b
(/ M (/ d D))

rewrite3.0ms

Algorithm
rewrite-expression-head
Counts
4 → 59
Calls

4 calls. Slowest were:

2.0ms
(sqrt (- 1 (/ (* h (/ M (/ d D))) (/ l (/ (/ M (/ d D)) 4)))))
1.0ms
(/ l (/ (/ M (/ d D)) 4))
0.0ms
(/ M (/ d D))

series268.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

208.0ms
(sqrt (- 1 (/ (* h (/ M (/ d D))) (/ l (/ (/ M (/ d D)) 4)))))
29.0ms
(/ l (/ (/ M (/ d D)) 4))
18.0ms
(/ M (/ d D))
14.0ms
(/ M (/ d D))

simplify4.7s

Counts
30 → 71
Calls

30 calls. Slowest were:

1.2s
(sqrt (* (cbrt (- 1 (/ (* h (/ M (/ d D))) (/ l (/ (/ M (/ d D)) 4))))) (cbrt (- 1 (/ (* h (/ M (/ d D))) (/ l (/ (/ M (/ d D)) 4)))))))
843.0ms
(sqrt (sqrt (- 1 (/ (* h (/ M (/ d D))) (/ l (/ (/ M (/ d D)) 4))))))
832.0ms
(sqrt (- 1 (/ (* h (/ M (/ d D))) (/ l (/ (/ M (/ d D)) 4)))))

prune1.2s

Pruning

6 alts after pruning (4 fresh and 2 done)

Merged error: 7.6b

regimes1.1s

Accuracy

0% (1.2b remaining)

Error of 7.6b against oracle of 6.4b and baseline of 7.6b

bsearch4.0ms