Average Error: 18.4 → 12.1
Time: 9.8s
Precision: 64
Internal Precision: 128
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell \le -6.242604426383306 \cdot 10^{+129}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{\frac{A}{\ell}}{V}}\\ \mathbf{elif}\;V \cdot \ell \le -5.160736323445315 \cdot 10^{-135}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{1}{\frac{V \cdot \ell}{A}}}\\ \mathbf{elif}\;V \cdot \ell \le 2.4962980487814 \cdot 10^{-316}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{\frac{A}{\ell}}{V}}\\ \mathbf{elif}\;V \cdot \ell \le 5.957024405526943 \cdot 10^{+287}:\\ \;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{\frac{1}{V}} \cdot c0\right) \cdot \sqrt{\frac{A}{\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) < -6.242604426383306e+129 or -5.160736323445315e-135 < (* V l) < 2.4962980487814e-316

    1. Initial program 31.7

      \[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
    2. Taylor expanded around -inf 31.7

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{A}{\ell \cdot V}}}\]
    3. Using strategy rm
    4. Applied associate-/r*23.6

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{\frac{A}{\ell}}{V}}}\]
    5. Using strategy rm
    6. Applied *-commutative23.6

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

    if -6.242604426383306e+129 < (* V l) < -5.160736323445315e-135

    1. Initial program 4.7

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

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

    if 2.4962980487814e-316 < (* V l) < 5.957024405526943e+287

    1. Initial program 9.6

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

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

    if 5.957024405526943e+287 < (* V l)

    1. Initial program 39.3

      \[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
    2. Taylor expanded around -inf 39.3

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{A}{\ell \cdot V}}}\]
    3. Using strategy rm
    4. Applied associate-/r*22.0

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{\frac{A}{\ell}}{V}}}\]
    5. Using strategy rm
    6. Applied *-commutative22.0

      \[\leadsto \color{blue}{\sqrt{\frac{\frac{A}{\ell}}{V}} \cdot c0}\]
    7. Using strategy rm
    8. Applied div-inv22.0

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

      \[\leadsto \color{blue}{\left(\sqrt{\frac{A}{\ell}} \cdot \sqrt{\frac{1}{V}}\right)} \cdot c0\]
    10. Applied associate-*l*37.4

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;V \cdot \ell \le -6.242604426383306 \cdot 10^{+129}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{\frac{A}{\ell}}{V}}\\ \mathbf{elif}\;V \cdot \ell \le -5.160736323445315 \cdot 10^{-135}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{1}{\frac{V \cdot \ell}{A}}}\\ \mathbf{elif}\;V \cdot \ell \le 2.4962980487814 \cdot 10^{-316}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{\frac{A}{\ell}}{V}}\\ \mathbf{elif}\;V \cdot \ell \le 5.957024405526943 \cdot 10^{+287}:\\ \;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{\frac{1}{V}} \cdot c0\right) \cdot \sqrt{\frac{A}{\ell}}\\ \end{array}\]

Reproduce

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

Details

Time bar (total: 8.0s)Debug log

sample105.0ms

Algorithm
intervals

simplify6.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

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

prune13.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 18.8b

localize28.0ms

Local error

Found 3 expressions with local error:

14.9b
(sqrt (/ A (* V l)))
5.2b
(/ A (* V l))
1.6b
(* c0 (sqrt (/ A (* V l))))

rewrite6.0ms

Algorithm
rewrite-expression-head
Counts
3 → 47
Calls

3 calls. Slowest were:

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

series102.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

64.0ms
(* c0 (sqrt (/ A (* V l))))
20.0ms
(sqrt (/ A (* V l)))
18.0ms
(/ A (* V l))

simplify55.0ms

Counts
23 → 56
Calls

23 calls. Slowest were:

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

prune693.0ms

Pruning

13 alts after pruning (13 fresh and 0 done)

Merged error: 11.8b

localize14.0ms

Local error

Found 3 expressions with local error:

14.9b
(sqrt (/ A (* l V)))
5.2b
(/ A (* l V))
1.6b
(* c0 (sqrt (/ A (* l V))))

rewrite4.0ms

Algorithm
rewrite-expression-head
Counts
3 → 47
Calls

3 calls. Slowest were:

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

series73.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

33.0ms
(* c0 (sqrt (/ A (* l V))))
20.0ms
(/ A (* l V))
19.0ms
(sqrt (/ A (* l V)))

simplify73.0ms

Counts
23 → 56
Calls

23 calls. Slowest were:

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

prune629.0ms

Pruning

12 alts after pruning (11 fresh and 1 done)

Merged error: 11.8b

localize22.0ms

Local error

Found 3 expressions with local error:

14.9b
(sqrt (/ (/ A l) V))
4.6b
(/ (/ A l) V)
1.6b
(* c0 (sqrt (/ (/ A l) V)))

rewrite10.0ms

Algorithm
rewrite-expression-head
Counts
3 → 51
Calls

3 calls. Slowest were:

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

series91.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

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

simplify85.0ms

Counts
25 → 60
Calls

25 calls. Slowest were:

8.0ms
(sqrt (sqrt (/ (/ A l) V)))
8.0ms
(sqrt (sqrt (/ (/ A l) V)))
8.0ms
(sqrt (/ (/ A l) V))

prune635.0ms

Pruning

15 alts after pruning (15 fresh and 0 done)

Merged error: 7.6b

localize4.0ms

Local error

Found 3 expressions with local error:

14.9b
(sqrt (/ (/ A l) V))
4.6b
(/ (/ A l) V)
1.6b
(* (sqrt (/ (/ A l) V)) c0)

rewrite8.0ms

Algorithm
rewrite-expression-head
Counts
3 → 51
Calls

3 calls. Slowest were:

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

series120.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

66.0ms
(* (sqrt (/ (/ A l) V)) c0)
32.0ms
(sqrt (/ (/ A l) V))
22.0ms
(/ (/ A l) V)

simplify94.0ms

Counts
24 → 60
Calls

24 calls. Slowest were:

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

prune633.0ms

Pruning

15 alts after pruning (14 fresh and 1 done)

Merged error: 7.6b

regimes1.4s

Accuracy

57.4% (4.7b remaining)

Error of 12.1b against oracle of 7.4b and baseline of 18.5b

bsearch8.0ms

end0.0ms

sample3.1s

Algorithm
intervals