Average Error: 25.8 → 17.4
Time: 59.2s
Precision: 64
Internal Precision: 128
\[\left({\left(\frac{d}{h}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{d}{\ell}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left(1 - \left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot \frac{h}{\ell}\right)\]
\[\begin{array}{l} \mathbf{if}\;h \le -2.9530967951615398 \cdot 10^{-205}:\\ \;\;\;\;\left({\left(\frac{d}{h}\right)}^{\frac{1}{2}} \cdot \left(\sqrt{\frac{-1}{\ell}} \cdot {\left(\frac{-1}{d}\right)}^{\frac{-1}{2}}\right)\right) \cdot \left(1 - \left(h \cdot \left({\left(\frac{M \cdot D}{d \cdot 2}\right)}^{2} \cdot \frac{1}{2}\right)\right) \cdot \frac{1}{\ell}\right)\\ \mathbf{elif}\;h \le -4.3874053226142 \cdot 10^{-311}:\\ \;\;\;\;\left(1 - \frac{h}{\ell} \cdot \left({\left(\frac{M \cdot D}{d \cdot 2}\right)}^{2} \cdot \frac{1}{2}\right)\right) \cdot \left(\left({\left(\frac{-1}{d}\right)}^{\frac{-1}{2}} \cdot \sqrt{\frac{-1}{h}}\right) \cdot {\left(\frac{d}{\ell}\right)}^{\frac{1}{2}}\right)\\ \mathbf{elif}\;h \le 2.131652011149753 \cdot 10^{+117}:\\ \;\;\;\;\left(1 - \frac{h}{\ell} \cdot \left({\left(\frac{M \cdot D}{d \cdot 2}\right)}^{2} \cdot \frac{1}{2}\right)\right) \cdot \left({\left(\frac{d}{\ell}\right)}^{\frac{1}{2}} \cdot \left(\sqrt{d} \cdot {\left(\frac{1}{h}\right)}^{\frac{1}{2}}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(1 - \left(h \cdot \left({\left(\frac{M \cdot D}{d \cdot 2}\right)}^{2} \cdot \frac{1}{2}\right)\right) \cdot \frac{1}{\ell}\right) \cdot \left(\left(\sqrt{d} \cdot {\left(\frac{1}{\ell}\right)}^{\frac{1}{2}}\right) \cdot {\left(\frac{d}{h}\right)}^{\frac{1}{2}}\right)\\ \end{array}\]

Error

Bits error versus d

Bits error versus h

Bits error versus l

Bits error versus M

Bits error versus D

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 4 regimes
  2. if h < -2.9530967951615398e-205

    1. Initial program 23.5

      \[\left({\left(\frac{d}{h}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{d}{\ell}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left(1 - \left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot \frac{h}{\ell}\right)\]
    2. Using strategy rm
    3. Applied div-inv23.5

      \[\leadsto \left({\left(\frac{d}{h}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{d}{\ell}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left(1 - \left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot \color{blue}{\left(h \cdot \frac{1}{\ell}\right)}\right)\]
    4. Applied associate-*r*22.6

      \[\leadsto \left({\left(\frac{d}{h}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{d}{\ell}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left(1 - \color{blue}{\left(\left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot h\right) \cdot \frac{1}{\ell}}\right)\]
    5. Taylor expanded around -inf 20.3

      \[\leadsto \left({\left(\frac{d}{h}\right)}^{\left(\frac{1}{2}\right)} \cdot \color{blue}{e^{\frac{1}{2} \cdot \left(\log \left(\frac{-1}{\ell}\right) - \log \left(\frac{-1}{d}\right)\right)}}\right) \cdot \left(1 - \left(\left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot h\right) \cdot \frac{1}{\ell}\right)\]
    6. Simplified16.8

      \[\leadsto \left({\left(\frac{d}{h}\right)}^{\left(\frac{1}{2}\right)} \cdot \color{blue}{\left({\left(\frac{-1}{d}\right)}^{\frac{-1}{2}} \cdot \sqrt{\frac{-1}{\ell}}\right)}\right) \cdot \left(1 - \left(\left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot h\right) \cdot \frac{1}{\ell}\right)\]

    if -2.9530967951615398e-205 < h < -4.3874053226142e-311

    1. Initial program 36.1

      \[\left({\left(\frac{d}{h}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{d}{\ell}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left(1 - \left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot \frac{h}{\ell}\right)\]
    2. Taylor expanded around -inf 22.0

      \[\leadsto \left(\color{blue}{e^{\frac{1}{2} \cdot \left(\log \left(\frac{-1}{h}\right) - \log \left(\frac{-1}{d}\right)\right)}} \cdot {\left(\frac{d}{\ell}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left(1 - \left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot \frac{h}{\ell}\right)\]
    3. Simplified17.9

      \[\leadsto \left(\color{blue}{\left({\left(\frac{-1}{d}\right)}^{\frac{-1}{2}} \cdot \sqrt{\frac{-1}{h}}\right)} \cdot {\left(\frac{d}{\ell}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left(1 - \left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot \frac{h}{\ell}\right)\]

    if -4.3874053226142e-311 < h < 2.131652011149753e+117

    1. Initial program 25.4

      \[\left({\left(\frac{d}{h}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{d}{\ell}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left(1 - \left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot \frac{h}{\ell}\right)\]
    2. Using strategy rm
    3. Applied div-inv25.4

      \[\leadsto \left({\color{blue}{\left(d \cdot \frac{1}{h}\right)}}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{d}{\ell}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left(1 - \left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot \frac{h}{\ell}\right)\]
    4. Applied unpow-prod-down17.6

      \[\leadsto \left(\color{blue}{\left({d}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{1}{h}\right)}^{\left(\frac{1}{2}\right)}\right)} \cdot {\left(\frac{d}{\ell}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left(1 - \left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot \frac{h}{\ell}\right)\]
    5. Simplified17.6

      \[\leadsto \left(\left(\color{blue}{\sqrt{d}} \cdot {\left(\frac{1}{h}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot {\left(\frac{d}{\ell}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left(1 - \left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot \frac{h}{\ell}\right)\]

    if 2.131652011149753e+117 < h

    1. Initial program 27.5

      \[\left({\left(\frac{d}{h}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{d}{\ell}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left(1 - \left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot \frac{h}{\ell}\right)\]
    2. Using strategy rm
    3. Applied div-inv27.5

      \[\leadsto \left({\left(\frac{d}{h}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{d}{\ell}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left(1 - \left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot \color{blue}{\left(h \cdot \frac{1}{\ell}\right)}\right)\]
    4. Applied associate-*r*24.5

      \[\leadsto \left({\left(\frac{d}{h}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{d}{\ell}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left(1 - \color{blue}{\left(\left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot h\right) \cdot \frac{1}{\ell}}\right)\]
    5. Using strategy rm
    6. Applied div-inv24.5

      \[\leadsto \left({\left(\frac{d}{h}\right)}^{\left(\frac{1}{2}\right)} \cdot {\color{blue}{\left(d \cdot \frac{1}{\ell}\right)}}^{\left(\frac{1}{2}\right)}\right) \cdot \left(1 - \left(\left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot h\right) \cdot \frac{1}{\ell}\right)\]
    7. Applied unpow-prod-down18.3

      \[\leadsto \left({\left(\frac{d}{h}\right)}^{\left(\frac{1}{2}\right)} \cdot \color{blue}{\left({d}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{1}{\ell}\right)}^{\left(\frac{1}{2}\right)}\right)}\right) \cdot \left(1 - \left(\left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot h\right) \cdot \frac{1}{\ell}\right)\]
    8. Simplified18.3

      \[\leadsto \left({\left(\frac{d}{h}\right)}^{\left(\frac{1}{2}\right)} \cdot \left(\color{blue}{\sqrt{d}} \cdot {\left(\frac{1}{\ell}\right)}^{\left(\frac{1}{2}\right)}\right)\right) \cdot \left(1 - \left(\left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot h\right) \cdot \frac{1}{\ell}\right)\]
  3. Recombined 4 regimes into one program.
  4. Final simplification17.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;h \le -2.9530967951615398 \cdot 10^{-205}:\\ \;\;\;\;\left({\left(\frac{d}{h}\right)}^{\frac{1}{2}} \cdot \left(\sqrt{\frac{-1}{\ell}} \cdot {\left(\frac{-1}{d}\right)}^{\frac{-1}{2}}\right)\right) \cdot \left(1 - \left(h \cdot \left({\left(\frac{M \cdot D}{d \cdot 2}\right)}^{2} \cdot \frac{1}{2}\right)\right) \cdot \frac{1}{\ell}\right)\\ \mathbf{elif}\;h \le -4.3874053226142 \cdot 10^{-311}:\\ \;\;\;\;\left(1 - \frac{h}{\ell} \cdot \left({\left(\frac{M \cdot D}{d \cdot 2}\right)}^{2} \cdot \frac{1}{2}\right)\right) \cdot \left(\left({\left(\frac{-1}{d}\right)}^{\frac{-1}{2}} \cdot \sqrt{\frac{-1}{h}}\right) \cdot {\left(\frac{d}{\ell}\right)}^{\frac{1}{2}}\right)\\ \mathbf{elif}\;h \le 2.131652011149753 \cdot 10^{+117}:\\ \;\;\;\;\left(1 - \frac{h}{\ell} \cdot \left({\left(\frac{M \cdot D}{d \cdot 2}\right)}^{2} \cdot \frac{1}{2}\right)\right) \cdot \left({\left(\frac{d}{\ell}\right)}^{\frac{1}{2}} \cdot \left(\sqrt{d} \cdot {\left(\frac{1}{h}\right)}^{\frac{1}{2}}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(1 - \left(h \cdot \left({\left(\frac{M \cdot D}{d \cdot 2}\right)}^{2} \cdot \frac{1}{2}\right)\right) \cdot \frac{1}{\ell}\right) \cdot \left(\left(\sqrt{d} \cdot {\left(\frac{1}{\ell}\right)}^{\frac{1}{2}}\right) \cdot {\left(\frac{d}{h}\right)}^{\frac{1}{2}}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019007 
(FPCore (d h l M D)
  :name "Henrywood and Agarwal, Equation (12)"
  (* (* (pow (/ d h) (/ 1 2)) (pow (/ d l) (/ 1 2))) (- 1 (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) (/ h l)))))

Details

Time bar (total: 56.1s)Debug log

sample1.0s

Algorithm
intervals

simplify167.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

167.0ms
(* (* (pow (/ d h) (/ 1 2)) (pow (/ d l) (/ 1 2))) (- 1 (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) (/ h l))))

prune22.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 25.8b

localize98.0ms

Local error

Found 4 expressions with local error:

14.8b
(* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) (/ h l))
12.2b
(pow (/ d h) (/ 1 2))
11.2b
(pow (/ d l) (/ 1 2))
4.8b
(/ (* M D) (* 2 d))

rewrite16.0ms

Algorithm
rewrite-expression-head
Counts
4 → 75
Calls

4 calls. Slowest were:

10.0ms
(* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) (/ h l))
2.0ms
(/ (* M D) (* 2 d))
1.0ms
(pow (/ d h) (/ 1 2))

series270.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

103.0ms
(pow (/ d l) (/ 1 2))
76.0ms
(pow (/ d h) (/ 1 2))
64.0ms
(* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) (/ h l))
27.0ms
(/ (* M D) (* 2 d))

simplify4.2s

Counts
52 → 87
Calls

52 calls. Slowest were:

685.0ms
(* (* 1 (pow (/ (* M D) (* 2 d)) 2)) h)
550.0ms
(+ (+ (log (/ 1 2)) (log (pow (/ (* M D) (* 2 d)) 2))) (log (/ h l)))
361.0ms
(* (* (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2))) (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2))) (* (* (/ h l) (/ h l)) (/ h l)))

prune1.7s

Pruning

17 alts after pruning (17 fresh and 0 done)

Merged error: 12.6b

localize30.0ms

Local error

Found 4 expressions with local error:

12.2b
(pow (/ d h) (/ 1 2))
11.2b
(pow (/ d l) (/ 1 2))
7.7b
(* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) h)
7.7b
(* (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) h) (/ 1 l))

rewrite62.0ms

Algorithm
rewrite-expression-head
Counts
4 → 66
Calls

4 calls. Slowest were:

36.0ms
(* (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) h) (/ 1 l))
20.0ms
(* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) h)
3.0ms
(pow (/ d h) (/ 1 2))

series283.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

79.0ms
(pow (/ d l) (/ 1 2))
71.0ms
(pow (/ d h) (/ 1 2))
66.0ms
(* (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) h) (/ 1 l))
66.0ms
(* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) h)

simplify5.2s

Counts
45 → 78
Calls

45 calls. Slowest were:

1.2s
(* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2))
741.0ms
(* (* 1 (pow (/ (* M D) (* 2 d)) 2)) h)
510.0ms
(* (* (* 1 (pow (/ (* M D) (* 2 d)) 2)) h) 1)

prune1.6s

Pruning

18 alts after pruning (18 fresh and 0 done)

Merged error: 10.5b

localize24.0ms

Local error

Found 4 expressions with local error:

17.4b
(sqrt (/ h l))
17.4b
(sqrt (/ h l))
12.2b
(pow (/ d h) (/ 1 2))
11.2b
(pow (/ d l) (/ 1 2))

rewrite4.0ms

Algorithm
rewrite-expression-head
Counts
4 → 64
Calls

4 calls. Slowest were:

1.0ms
(pow (/ d h) (/ 1 2))
1.0ms
(pow (/ d l) (/ 1 2))
1.0ms
(sqrt (/ h l))

series223.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

107.0ms
(pow (/ d h) (/ 1 2))
67.0ms
(pow (/ d l) (/ 1 2))
25.0ms
(sqrt (/ h l))
23.0ms
(sqrt (/ h l))

simplify969.0ms

Counts
44 → 76
Calls

44 calls. Slowest were:

163.0ms
(exp (* 1/2 (- (log (/ 1 l)) (log (/ 1 d)))))
158.0ms
(exp (* 1/2 (- (log (/ 1 h)) (log (/ 1 d)))))
157.0ms
(exp (* 1/2 (- (log (/ -1 h)) (log (/ -1 d)))))

prune1.5s

Pruning

18 alts after pruning (17 fresh and 1 done)

Merged error: 10.5b

localize26.0ms

Local error

Found 4 expressions with local error:

14.8b
(* (* (/ 1 2) (pow (* (/ M 2) (/ D d)) 2)) (/ h l))
12.2b
(pow (/ d h) (/ 1 2))
11.2b
(pow (/ d l) (/ 1 2))
5.0b
(* (/ M 2) (/ D d))

rewrite20.0ms

Algorithm
rewrite-expression-head
Counts
4 → 82
Calls

4 calls. Slowest were:

13.0ms
(* (* (/ 1 2) (pow (* (/ M 2) (/ D d)) 2)) (/ h l))
3.0ms
(* (/ M 2) (/ D d))
1.0ms
(pow (/ d h) (/ 1 2))

series229.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

75.0ms
(pow (/ d l) (/ 1 2))
68.0ms
(pow (/ d h) (/ 1 2))
67.0ms
(* (* (/ 1 2) (pow (* (/ M 2) (/ D d)) 2)) (/ h l))
19.0ms
(* (/ M 2) (/ D d))

simplify5.4s

Counts
60 → 94
Calls

60 calls. Slowest were:

968.0ms
(* (* (/ 1 2) (pow (* (/ M 2) (/ D d)) 2)) (/ h l))
598.0ms
(* (* 1 (pow (* (/ M 2) (/ D d)) 2)) (/ h l))
491.0ms
(+ (log (* (/ 1 2) (pow (* (/ M 2) (/ D d)) 2))) (log (/ h l)))

prune1.9s

Pruning

18 alts after pruning (17 fresh and 1 done)

Merged error: 10.0b

regimes1.5s

Accuracy

55.3% (6.8b remaining)

Error of 17.4b against oracle of 10.6b and baseline of 25.8b

bsearch5.0s

end0.0ms

sample24.5s

Algorithm
intervals