Average Error: 18.9 → 11.7
Time: 11.2s
Precision: 64
Internal Precision: 128
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell \le -1.432883117701101 \cdot 10^{+185}:\\ \;\;\;\;c0 \cdot {\left(\ell \cdot \frac{V}{A}\right)}^{\frac{-1}{2}}\\ \mathbf{elif}\;V \cdot \ell \le -2.5461010569718647 \cdot 10^{-302}:\\ \;\;\;\;\frac{c0}{\sqrt{\frac{V \cdot \ell}{A}}}\\ \mathbf{elif}\;V \cdot \ell \le 7.3133984123809 \cdot 10^{-315}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{1}{\frac{V}{\frac{A}{\ell}}}}\\ \mathbf{else}:\\ \;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\ \end{array}\]

Error

Bits error versus c0

Bits error versus A

Bits error versus V

Bits error versus l

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 4 regimes
  2. if (* V l) < -1.432883117701101e+185

    1. Initial program 29.0

      \[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
    2. Using strategy rm
    3. Applied clear-num29.4

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{1}{\frac{V \cdot \ell}{A}}}}\]
    4. Using strategy rm
    5. Applied sqrt-div29.4

      \[\leadsto c0 \cdot \color{blue}{\frac{\sqrt{1}}{\sqrt{\frac{V \cdot \ell}{A}}}}\]
    6. Applied associate-*r/29.4

      \[\leadsto \color{blue}{\frac{c0 \cdot \sqrt{1}}{\sqrt{\frac{V \cdot \ell}{A}}}}\]
    7. Using strategy rm
    8. Applied *-un-lft-identity29.4

      \[\leadsto \frac{c0 \cdot \sqrt{1}}{\color{blue}{1 \cdot \sqrt{\frac{V \cdot \ell}{A}}}}\]
    9. Applied times-frac29.4

      \[\leadsto \color{blue}{\frac{c0}{1} \cdot \frac{\sqrt{1}}{\sqrt{\frac{V \cdot \ell}{A}}}}\]
    10. Simplified29.4

      \[\leadsto \color{blue}{c0} \cdot \frac{\sqrt{1}}{\sqrt{\frac{V \cdot \ell}{A}}}\]
    11. Simplified21.6

      \[\leadsto c0 \cdot \color{blue}{\frac{1}{\sqrt{\frac{V}{A} \cdot \ell}}}\]
    12. Using strategy rm
    13. Applied pow1/221.6

      \[\leadsto c0 \cdot \frac{1}{\color{blue}{{\left(\frac{V}{A} \cdot \ell\right)}^{\frac{1}{2}}}}\]
    14. Applied pow-flip21.6

      \[\leadsto c0 \cdot \color{blue}{{\left(\frac{V}{A} \cdot \ell\right)}^{\left(-\frac{1}{2}\right)}}\]
    15. Simplified21.6

      \[\leadsto c0 \cdot {\left(\frac{V}{A} \cdot \ell\right)}^{\color{blue}{\frac{-1}{2}}}\]

    if -1.432883117701101e+185 < (* V l) < -2.5461010569718647e-302

    1. Initial program 8.8

      \[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
    2. Using strategy rm
    3. Applied clear-num9.2

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{1}{\frac{V \cdot \ell}{A}}}}\]
    4. Using strategy rm
    5. Applied sqrt-div8.8

      \[\leadsto c0 \cdot \color{blue}{\frac{\sqrt{1}}{\sqrt{\frac{V \cdot \ell}{A}}}}\]
    6. Applied associate-*r/8.8

      \[\leadsto \color{blue}{\frac{c0 \cdot \sqrt{1}}{\sqrt{\frac{V \cdot \ell}{A}}}}\]

    if -2.5461010569718647e-302 < (* V l) < 7.3133984123809e-315

    1. Initial program 58.0

      \[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
    2. Using strategy rm
    3. Applied clear-num58.0

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{1}{\frac{V \cdot \ell}{A}}}}\]
    4. Using strategy rm
    5. Applied associate-/l*32.5

      \[\leadsto c0 \cdot \sqrt{\frac{1}{\color{blue}{\frac{V}{\frac{A}{\ell}}}}}\]

    if 7.3133984123809e-315 < (* V l)

    1. Initial program 15.3

      \[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
    2. Using strategy rm
    3. Applied sqrt-div6.7

      \[\leadsto c0 \cdot \color{blue}{\frac{\sqrt{A}}{\sqrt{V \cdot \ell}}}\]
  3. Recombined 4 regimes into one program.
  4. Final simplification11.7

    \[\leadsto \begin{array}{l} \mathbf{if}\;V \cdot \ell \le -1.432883117701101 \cdot 10^{+185}:\\ \;\;\;\;c0 \cdot {\left(\ell \cdot \frac{V}{A}\right)}^{\frac{-1}{2}}\\ \mathbf{elif}\;V \cdot \ell \le -2.5461010569718647 \cdot 10^{-302}:\\ \;\;\;\;\frac{c0}{\sqrt{\frac{V \cdot \ell}{A}}}\\ \mathbf{elif}\;V \cdot \ell \le 7.3133984123809 \cdot 10^{-315}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{1}{\frac{V}{\frac{A}{\ell}}}}\\ \mathbf{else}:\\ \;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\ \end{array}\]

Reproduce

herbie shell --seed 2019005 +o rules:numerics
(FPCore (c0 A V l)
  :name "Henrywood and Agarwal, Equation (3)"
  (* c0 (sqrt (/ A (* V l)))))

Details

Time bar (total: 9.7s)Debug log

sample77.0ms

Algorithm
intervals

simplify4.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

4.0ms
(* c0 (sqrt (/ A (* V l))))

prune6.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 17.9b

localize21.0ms

Local error

Found 3 expressions with local error:

15.5b
(sqrt (/ A (* V l)))
4.1b
(/ A (* V l))
1.2b
(* c0 (sqrt (/ A (* V l))))

rewrite7.0ms

Algorithm
rewrite-expression-head
Counts
3 → 47
Calls

3 calls. Slowest were:

3.0ms
(* c0 (sqrt (/ A (* V l))))
2.0ms
(sqrt (/ A (* V l)))
1.0ms
(/ A (* V l))

series124.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

55.0ms
(* c0 (sqrt (/ A (* V l))))
35.0ms
(/ A (* V l))
34.0ms
(sqrt (/ A (* V l)))

simplify81.0ms

Counts
23 → 56
Calls

23 calls. Slowest were:

7.0ms
(sqrt (* (cbrt (/ A (* V l))) (cbrt (/ A (* V l)))))
6.0ms
(sqrt (sqrt (/ A (* V l))))
6.0ms
(sqrt (sqrt (/ A (* V l))))

prune767.0ms

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 9.9b

localize25.0ms

Local error

Found 4 expressions with local error:

15.5b
(sqrt (/ 1 (/ (* V l) A)))
4.2b
(/ (* V l) A)
1.2b
(* c0 (sqrt (/ 1 (/ (* V l) A))))
0.2b
(/ 1 (/ (* V l) A))

rewrite12.0ms

Algorithm
rewrite-expression-head
Counts
4 → 69
Calls

4 calls. Slowest were:

5.0ms
(/ (* V l) A)
3.0ms
(* c0 (sqrt (/ 1 (/ (* V l) A))))
2.0ms
(/ 1 (/ (* V l) A))

series141.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

57.0ms
(* c0 (sqrt (/ 1 (/ (* V l) A))))
41.0ms
(sqrt (/ 1 (/ (* V l) A)))
23.0ms
(/ 1 (/ (* V l) A))
21.0ms
(/ (* V l) A)

simplify557.0ms

Counts
33 → 81
Calls

33 calls. Slowest were:

63.0ms
(sqrt (* (cbrt (/ 1 (/ (* V l) A))) (cbrt (/ 1 (/ (* V l) A)))))
61.0ms
(sqrt (sqrt (/ 1 (/ (* V l) A))))
58.0ms
(cbrt (sqrt (/ 1 (/ (* V l) A))))

prune826.0ms

Pruning

11 alts after pruning (11 fresh and 0 done)

Merged error: 9.7b

localize18.0ms

Local error

Found 3 expressions with local error:

15.5b
(sqrt (/ (* V l) A))
4.2b
(/ (* V l) A)
1.1b
(/ (* c0 (sqrt 1)) (sqrt (/ (* V l) A)))

rewrite15.0ms

Algorithm
rewrite-expression-head
Counts
3 → 59
Calls

3 calls. Slowest were:

8.0ms
(/ (* c0 (sqrt 1)) (sqrt (/ (* V l) A)))
4.0ms
(/ (* V l) A)
1.0ms
(sqrt (/ (* V l) A))

series153.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

78.0ms
(/ (* c0 (sqrt 1)) (sqrt (/ (* V l) A)))
49.0ms
(sqrt (/ (* V l) A))
26.0ms
(/ (* V l) A)

simplify1.2s

Counts
39 → 68
Calls

39 calls. Slowest were:

685.0ms
(/ (* (* (* c0 (sqrt 1)) (* c0 (sqrt 1))) (* c0 (sqrt 1))) (* (* (sqrt (/ (* V l) A)) (sqrt (/ (* V l) A))) (sqrt (/ (* V l) A))))
41.0ms
(- (log (* c0 (sqrt 1))) (log (sqrt (/ (* V l) A))))
31.0ms
(/ (sqrt 1) (sqrt (cbrt (/ (* V l) A))))

prune745.0ms

Pruning

13 alts after pruning (12 fresh and 1 done)

Merged error: 9.7b

localize26.0ms

Local error

Found 4 expressions with local error:

15.5b
(sqrt (* (/ V A) l))
4.5b
(* (/ V A) l)
1.2b
(* c0 (/ 1 (sqrt (* (/ V A) l))))
0.3b
(/ 1 (sqrt (* (/ V A) l)))

rewrite15.0ms

Algorithm
rewrite-expression-head
Counts
4 → 65
Calls

4 calls. Slowest were:

4.0ms
(* (/ V A) l)
4.0ms
(* c0 (/ 1 (sqrt (* (/ V A) l))))
4.0ms
(/ 1 (sqrt (* (/ V A) l)))

series196.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

77.0ms
(* c0 (/ 1 (sqrt (* (/ V A) l))))
50.0ms
(/ 1 (sqrt (* (/ V A) l)))
42.0ms
(sqrt (* (/ V A) l))
27.0ms
(* (/ V A) l)

simplify123.0ms

Counts
31 → 77
Calls

31 calls. Slowest were:

14.0ms
(cbrt (/ 1 (sqrt (* (/ V A) l))))
12.0ms
(/ (* l V) A)
11.0ms
(/ (* l V) A)

prune777.0ms

Pruning

12 alts after pruning (11 fresh and 1 done)

Merged error: 8.9b

regimes960.0ms

Accuracy

62.4% (4.4b remaining)

Error of 11.7b against oracle of 7.3b and baseline of 19.1b

bsearch13.0ms

end0.0ms

sample2.9s

Algorithm
intervals