Average Error: 18.8 → 12.1
Time: 10.6s
Precision: 64
Internal Precision: 128
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell \le -4.0535736734388494 \cdot 10^{+269}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{1}{\ell} \cdot \frac{A}{V}}\\ \mathbf{elif}\;V \cdot \ell \le -2.1321935225071826 \cdot 10^{-126}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{1}{V \cdot \ell} \cdot A}\\ \mathbf{elif}\;V \cdot \ell \le 6.544003844490601 \cdot 10^{-268} \lor \neg \left(V \cdot \ell \le 1.122723686449294 \cdot 10^{+265}\right):\\ \;\;\;\;c0 \cdot \sqrt{\frac{1}{\ell} \cdot \frac{A}{V}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{A} \cdot c0}{\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) < -4.0535736734388494e+269 or -2.1321935225071826e-126 < (* V l) < 6.544003844490601e-268 or 1.122723686449294e+265 < (* V l)

    1. Initial program 36.6

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

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

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

    if -4.0535736734388494e+269 < (* V l) < -2.1321935225071826e-126

    1. Initial program 7.9

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

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

    if 6.544003844490601e-268 < (* V l) < 1.122723686449294e+265

    1. Initial program 9.0

      \[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}}}\]
    4. Applied associate-*r/2.8

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;V \cdot \ell \le -4.0535736734388494 \cdot 10^{+269}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{1}{\ell} \cdot \frac{A}{V}}\\ \mathbf{elif}\;V \cdot \ell \le -2.1321935225071826 \cdot 10^{-126}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{1}{V \cdot \ell} \cdot A}\\ \mathbf{elif}\;V \cdot \ell \le 6.544003844490601 \cdot 10^{-268} \lor \neg \left(V \cdot \ell \le 1.122723686449294 \cdot 10^{+265}\right):\\ \;\;\;\;c0 \cdot \sqrt{\frac{1}{\ell} \cdot \frac{A}{V}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{A} \cdot c0}{\sqrt{V \cdot \ell}}\\ \end{array}\]

Reproduce

herbie shell --seed 2019008 
(FPCore (c0 A V l)
  :name "Henrywood and Agarwal, Equation (3)"
  (* c0 (sqrt (/ A (* V l)))))

Details

Time bar (total: 9.1s)Debug log

sample117.0ms

Algorithm
intervals

simplify3.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

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

prune6.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 22.5b

localize12.0ms

Local error

Found 3 expressions with local error:

18.0b
(sqrt (/ A (* V l)))
5.4b
(/ A (* V l))
1.9b
(* c0 (sqrt (/ A (* V l))))

rewrite22.0ms

Algorithm
rewrite-expression-head
Counts
3 → 41
Calls

3 calls. Slowest were:

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

series110.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

54.0ms
(* c0 (sqrt (/ A (* V l))))
34.0ms
(sqrt (/ A (* V l)))
22.0ms
(/ A (* V l))

simplify56.0ms

Counts
23 → 50
Calls

23 calls. Slowest were:

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

prune645.0ms

Pruning

13 alts after pruning (13 fresh and 0 done)

Merged error: 13.1b

localize10.0ms

Local error

Found 3 expressions with local error:

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

rewrite5.0ms

Algorithm
rewrite-expression-head
Counts
3 → 45
Calls

3 calls. Slowest were:

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

series101.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

49.0ms
(* c0 (sqrt (/ (/ A V) l)))
29.0ms
(sqrt (/ (/ A V) l))
23.0ms
(/ (/ A V) l)

simplify78.0ms

Counts
25 → 54
Calls

25 calls. Slowest were:

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

prune643.0ms

Pruning

14 alts after pruning (14 fresh and 0 done)

Merged error: 8.9b

localize22.0ms

Local error

Found 3 expressions with local error:

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

rewrite12.0ms

Algorithm
rewrite-expression-head
Counts
3 → 52
Calls

3 calls. Slowest were:

6.0ms
(* (/ A V) (/ 1 l))
5.0ms
(* c0 (sqrt (* (/ A V) (/ 1 l))))
1.0ms
(sqrt (* (/ A V) (/ 1 l)))

series70.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

33.0ms
(* c0 (sqrt (* (/ A V) (/ 1 l))))
24.0ms
(sqrt (* (/ A V) (/ 1 l)))
14.0ms
(* (/ A V) (/ 1 l))

simplify576.0ms

Counts
34 → 61
Calls

34 calls. Slowest were:

321.0ms
(* (* (* (/ A V) (/ A V)) (/ A V)) (* (* (/ 1 l) (/ 1 l)) (/ 1 l)))
53.0ms
(cbrt (sqrt (* (/ A V) (/ 1 l))))
49.0ms
(+ (log (/ A V)) (log (/ 1 l)))

prune759.0ms

Pruning

14 alts after pruning (13 fresh and 1 done)

Merged error: 7.0b

localize18.0ms

Local error

Found 4 expressions with local error:

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

rewrite13.0ms

Algorithm
rewrite-expression-head
Counts
4 → 72
Calls

4 calls. Slowest were:

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

series93.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

29.0ms
(sqrt (* (/ A V) (/ 1 l)))
24.0ms
(* (/ A V) (/ 1 l))
21.0ms
(* (/ A V) (/ 1 l))
19.0ms
(sqrt (* (/ A V) (/ 1 l)))

simplify841.0ms

Counts
46 → 84
Calls

46 calls. Slowest were:

328.0ms
(* (* (* (/ A V) (/ A V)) (/ A V)) (* (* (/ 1 l) (/ 1 l)) (/ 1 l)))
282.0ms
(* (* (* (/ A V) (/ A V)) (/ A V)) (* (* (/ 1 l) (/ 1 l)) (/ 1 l)))
46.0ms
(+ (log (/ A V)) (log (/ 1 l)))

prune1.1s

Pruning

14 alts after pruning (12 fresh and 2 done)

Merged error: 7.0b

regimes793.0ms

Accuracy

50.1% (6.7b remaining)

Error of 12.1b against oracle of 5.4b and baseline of 18.8b

bsearch5.0ms

end0.0ms

sample2.9s

Algorithm
intervals