Average Error: 18.3 → 12.5
Time: 10.4s
Precision: 64
Internal Precision: 128
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell \le -2.498603521546299 \cdot 10^{-308}:\\ \;\;\;\;\sqrt{\frac{A}{V \cdot \ell}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le -0.0:\\ \;\;\;\;\left(\sqrt{\sqrt{\frac{\frac{A}{V}}{\ell}}} \cdot \sqrt{\sqrt{\frac{\frac{A}{V}}{\ell}}}\right) \cdot c0\\ \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 3 regimes
  2. if (* V l) < -2.498603521546299e-308

    1. Initial program 13.8

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

    if -2.498603521546299e-308 < (* V l) < -0.0

    1. Initial program 59.6

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

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{\frac{A}{V}}{\ell}}}\]
    4. Using strategy rm
    5. Applied add-sqr-sqrt34.6

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot \sqrt{\frac{\frac{A}{V}}{\ell}}}}\]
    6. Applied sqrt-prod34.7

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

    if -0.0 < (* V l)

    1. Initial program 14.9

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

      \[\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.498603521546299 \cdot 10^{-308}:\\ \;\;\;\;\sqrt{\frac{A}{V \cdot \ell}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le -0.0:\\ \;\;\;\;\left(\sqrt{\sqrt{\frac{\frac{A}{V}}{\ell}}} \cdot \sqrt{\sqrt{\frac{\frac{A}{V}}{\ell}}}\right) \cdot c0\\ \mathbf{else}:\\ \;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\ \end{array}\]

Reproduce

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

Details

Time bar (total: 8.6s)Debug log

sample93.0ms

Algorithm
intervals

simplify6.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

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

prune12.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 21.4b

localize24.0ms

Local error

Found 3 expressions with local error:

18.0b
(sqrt (/ A (* V l)))
5.1b
(/ A (* V l))
1.3b
(* c0 (sqrt (/ A (* V l))))

rewrite7.0ms

Algorithm
rewrite-expression-head
Counts
3 → 47
Calls

3 calls. Slowest were:

4.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))))
37.0ms
(/ A (* V l))
32.0ms
(sqrt (/ A (* V l)))

simplify50.0ms

Counts
23 → 56
Calls

23 calls. Slowest were:

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

prune596.0ms

Pruning

12 alts after pruning (11 fresh and 1 done)

Merged error: 11.1b

localize18.0ms

Local error

Found 3 expressions with local error:

18.0b
(sqrt (/ (/ A V) l))
5.2b
(/ (/ A V) l)
1.3b
(* c0 (sqrt (/ (/ A V) l)))

rewrite8.0ms

Algorithm
rewrite-expression-head
Counts
3 → 51
Calls

3 calls. Slowest were:

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

series124.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

90.0ms
(* c0 (sqrt (/ (/ A V) l)))
19.0ms
(sqrt (/ (/ A V) l))
15.0ms
(/ (/ A V) l)

simplify110.0ms

Counts
25 → 60
Calls

25 calls. Slowest were:

11.0ms
(sqrt (sqrt (/ (/ A V) l)))
10.0ms
(sqrt (* (cbrt (/ (/ A V) l)) (cbrt (/ (/ A V) l))))
9.0ms
(sqrt (sqrt (/ (/ A V) l)))

prune734.0ms

Pruning

16 alts after pruning (15 fresh and 1 done)

Merged error: 7.9b

localize17.0ms

Local error

Found 4 expressions with local error:

18.0b
(sqrt (/ (/ A V) l))
18.0b
(sqrt (/ (/ A V) l))
5.2b
(/ (/ A V) l)
5.2b
(/ (/ A V) l)

rewrite15.0ms

Algorithm
rewrite-expression-head
Counts
4 → 66
Calls

4 calls. Slowest were:

5.0ms
(/ (/ A V) l)
5.0ms
(/ (/ A V) l)
2.0ms
(sqrt (/ (/ A V) l))

series110.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

34.0ms
(sqrt (/ (/ A V) l))
32.0ms
(sqrt (/ (/ A V) l))
22.0ms
(/ (/ A V) l)
22.0ms
(/ (/ A V) l)

simplify80.0ms

Counts
28 → 78
Calls

28 calls. Slowest were:

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

prune1.1s

Pruning

15 alts after pruning (13 fresh and 2 done)

Merged error: 7.9b

localize11.0ms

Local error

Found 4 expressions with local error:

18.0b
(sqrt (/ (/ A V) l))
18.0b
(sqrt (/ (/ A V) l))
5.2b
(/ (/ A V) l)
5.2b
(/ (/ A V) l)

rewrite8.0ms

Algorithm
rewrite-expression-head
Counts
4 → 66
Calls

4 calls. Slowest were:

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

series76.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

27.0ms
(sqrt (/ (/ A V) l))
24.0ms
(sqrt (/ (/ A V) l))
13.0ms
(/ (/ A V) l)
12.0ms
(/ (/ A V) l)

simplify51.0ms

Counts
28 → 78
Calls

28 calls. Slowest were:

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

prune979.0ms

Pruning

15 alts after pruning (12 fresh and 3 done)

Merged error: 7.9b

regimes1.3s

Accuracy

52.2% (5.6b remaining)

Error of 12.5b against oracle of 6.9b and baseline of 18.6b

bsearch6.0ms

end0.0ms

sample3.0s

Algorithm
intervals