Average Error: 19.2 → 12.5
Time: 15.5s
Precision: 64
Internal Precision: 128
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell \le -2.5999771263643773 \cdot 10^{-121}:\\ \;\;\;\;c0 \cdot \left(\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot \sqrt{\sqrt{\frac{A}{V \cdot \ell}}}\right)\\ \mathbf{elif}\;V \cdot \ell \le 6.0308871737048 \cdot 10^{-314} \lor \neg \left(V \cdot \ell \le 1.0699470049292665 \cdot 10^{+287}\right):\\ \;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\ \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 3 regimes
  2. if (* V l) < -2.5999771263643773e-121

    1. Initial program 15.2

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

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\sqrt{\frac{A}{V \cdot \ell}} \cdot \sqrt{\frac{A}{V \cdot \ell}}}}\]
    4. Applied sqrt-prod15.4

      \[\leadsto c0 \cdot \color{blue}{\left(\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot \sqrt{\sqrt{\frac{A}{V \cdot \ell}}}\right)}\]

    if -2.5999771263643773e-121 < (* V l) < 6.0308871737048e-314 or 1.0699470049292665e+287 < (* V l)

    1. Initial program 37.7

      \[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
    2. Using strategy rm
    3. Applied associate-/r*25.8

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

    if 6.0308871737048e-314 < (* V l) < 1.0699470049292665e+287

    1. Initial program 10.2

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;V \cdot \ell \le -2.5999771263643773 \cdot 10^{-121}:\\ \;\;\;\;c0 \cdot \left(\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot \sqrt{\sqrt{\frac{A}{V \cdot \ell}}}\right)\\ \mathbf{elif}\;V \cdot \ell \le 6.0308871737048 \cdot 10^{-314} \lor \neg \left(V \cdot \ell \le 1.0699470049292665 \cdot 10^{+287}\right):\\ \;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\ \end{array}\]

Reproduce

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

Details

Time bar (total: 9.0s)Debug log

start100.0ms

Algorithm
intervals

setup52.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 13.2b

localize26.0ms

Local error

Found 3 expressions with local error:

14.5b
(sqrt (/ A (* V l)))
4.7b
(/ A (* V l))
1.0b
(* 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))

series92.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

51.0ms
(* c0 (sqrt (/ A (* V l))))
28.0ms
(sqrt (/ A (* V l)))
13.0ms
(/ A (* V l))

simplify79.0ms

Counts
23 → 56
Calls

23 calls. Slowest were:

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

prune637.0ms

Pruning

13 alts after pruning (13 fresh and 0 done)

Merged error: 9.8b

localize10.0ms

Local error

Found 4 expressions with local error:

14.5b
(sqrt (/ A (* V l)))
14.5b
(sqrt (/ A (* V l)))
4.7b
(/ A (* V l))
4.7b
(/ A (* V l))

rewrite3.0ms

Algorithm
rewrite-expression-head
Counts
4 → 58
Calls

4 calls. Slowest were:

1.0ms
(sqrt (/ A (* V l)))
1.0ms
(sqrt (/ A (* V l)))
0.0ms
(/ A (* V l))

series90.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

26.0ms
(sqrt (/ A (* V l)))
22.0ms
(/ A (* V l))
22.0ms
(/ A (* V l))
20.0ms
(sqrt (/ A (* V l)))

simplify77.0ms

Counts
24 → 70
Calls

24 calls. Slowest were:

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

prune923.0ms

Pruning

13 alts after pruning (13 fresh and 0 done)

Merged error: 9.8b

localize6.0ms

Local error

Found 4 expressions with local error:

14.5b
(sqrt (/ A (* V l)))
14.5b
(sqrt (/ A (* V l)))
4.7b
(/ A (* V l))
4.7b
(/ A (* V l))

rewrite4.0ms

Algorithm
rewrite-expression-head
Counts
4 → 58
Calls

4 calls. Slowest were:

1.0ms
(sqrt (/ A (* V l)))
1.0ms
(sqrt (/ A (* V l)))
1.0ms
(/ A (* V l))

series79.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

29.0ms
(sqrt (/ A (* V l)))
24.0ms
(sqrt (/ A (* V l)))
13.0ms
(/ A (* V l))
13.0ms
(/ A (* V l))

simplify78.0ms

Counts
24 → 70
Calls

24 calls. Slowest were:

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

prune1.1s

Pruning

13 alts after pruning (12 fresh and 1 done)

Merged error: 9.8b

localize41.0ms

Local error

Found 4 expressions with local error:

16.3b
(cbrt (/ A (* V l)))
16.3b
(cbrt (/ A (* V l)))
16.3b
(cbrt (/ A (* V l)))
14.5b
(sqrt (* (* (cbrt (/ A (* V l))) (cbrt (/ A (* V l)))) (cbrt (/ A (* V l)))))

rewrite7.0ms

Algorithm
rewrite-expression-head
Counts
4 → 63
Calls

4 calls. Slowest were:

4.0ms
(sqrt (* (* (cbrt (/ A (* V l))) (cbrt (/ A (* V l)))) (cbrt (/ A (* V l)))))
1.0ms
(cbrt (/ A (* V l)))
1.0ms
(cbrt (/ A (* V l)))

series377.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

122.0ms
(cbrt (/ A (* V l)))
112.0ms
(cbrt (/ A (* V l)))
94.0ms
(cbrt (/ A (* V l)))
48.0ms
(sqrt (* (* (cbrt (/ A (* V l))) (cbrt (/ A (* V l)))) (cbrt (/ A (* V l)))))

simplify2.4s

Counts
35 → 75
Calls

35 calls. Slowest were:

400.0ms
(exp (* 1/3 (- (+ (log (/ 1 l)) (log (/ 1 V))) (log (/ 1 A)))))
369.0ms
(exp (* 1/3 (- (+ (log (/ 1 l)) (log (/ 1 V))) (log (/ 1 A)))))
365.0ms
(exp (* 1/3 (- (+ (log (/ 1 l)) (log (/ 1 V))) (log (/ 1 A)))))

prune1.3s

Pruning

14 alts after pruning (13 fresh and 1 done)

Merged error: 9.8b

regimes1.5s

Accuracy

76.2% (2.2b remaining)

Error of 12.5b against oracle of 10.3b and baseline of 19.4b

bsearch5.0ms