Average Error: 8.6 → 0.7
Time: 31.2s
Precision: 64
Internal Precision: 128
\[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
\[\pi \cdot \ell - \frac{\frac{1}{F} \cdot \tan \left(\pi \cdot \ell\right)}{F}\]

Error

Bits error versus F

Bits error versus l

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 8.6

    \[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
  2. Using strategy rm
  3. Applied associate-*l/8.2

    \[\leadsto \pi \cdot \ell - \color{blue}{\frac{1 \cdot \tan \left(\pi \cdot \ell\right)}{F \cdot F}}\]
  4. Simplified8.2

    \[\leadsto \pi \cdot \ell - \frac{\color{blue}{\tan \left(\ell \cdot \pi\right)}}{F \cdot F}\]
  5. Using strategy rm
  6. Applied associate-/r*0.7

    \[\leadsto \pi \cdot \ell - \color{blue}{\frac{\frac{\tan \left(\ell \cdot \pi\right)}{F}}{F}}\]
  7. Using strategy rm
  8. Applied div-inv0.7

    \[\leadsto \pi \cdot \ell - \frac{\color{blue}{\tan \left(\ell \cdot \pi\right) \cdot \frac{1}{F}}}{F}\]
  9. Final simplification0.7

    \[\leadsto \pi \cdot \ell - \frac{\frac{1}{F} \cdot \tan \left(\pi \cdot \ell\right)}{F}\]

Reproduce

herbie shell --seed 2019005 +o rules:numerics
(FPCore (F l)
  :name "VandenBroeck and Keller, Equation (6)"
  (- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))

Details

Time bar (total: 29.9s)Debug log

sample807.0ms

Algorithm
intervals

simplify193.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

193.0ms
(- (* PI l) (* (/ 1 (* F F)) (tan (* PI l))))

prune14.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 8.7b

localize20.0ms

Local error

Found 4 expressions with local error:

8.4b
(* (/ 1 (* F F)) (tan (* PI l)))
4.7b
(tan (* PI l))
0.5b
(/ 1 (* F F))
0.2b
(* PI l)

rewrite20.0ms

Algorithm
rewrite-expression-head
Counts
4 → 61
Calls

4 calls. Slowest were:

15.0ms
(* (/ 1 (* F F)) (tan (* PI l)))
2.0ms
(tan (* PI l))
1.0ms
(/ 1 (* F F))

series268.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

144.0ms
(* (/ 1 (* F F)) (tan (* PI l)))
61.0ms
(tan (* PI l))
48.0ms
(* PI l)
15.0ms
(/ 1 (* F F))

simplify1.1s

Counts
27 → 73
Calls

27 calls. Slowest were:

300.0ms
(+ (/ (* PI l) (pow F 2)) (* 1/3 (/ (* (pow PI 3) (pow l 3)) (pow F 2))))
287.0ms
(* (* (* (/ 1 (* F F)) (/ 1 (* F F))) (/ 1 (* F F))) (* (* (tan (* PI l)) (tan (* PI l))) (tan (* PI l))))
226.0ms
(+ (* 2/15 (* (pow PI 5) (pow l 5))) (+ (* 1/3 (* (pow PI 3) (pow l 3))) (* PI l)))

prune723.0ms

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 7.2b

localize22.0ms

Local error

Found 4 expressions with local error:

8.0b
(/ (tan (* l PI)) (* F F))
4.7b
(tan (* l PI))
0.2b
(* l PI)
0.2b
(* PI l)

rewrite7.0ms

Algorithm
rewrite-expression-head
Counts
4 → 52
Calls

4 calls. Slowest were:

4.0ms
(/ (tan (* l PI)) (* F F))
1.0ms
(tan (* l PI))
0.0ms
(* l PI)

series213.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

98.0ms
(/ (tan (* l PI)) (* F F))
42.0ms
(tan (* l PI))
37.0ms
(* PI l)
36.0ms
(* l PI)

simplify586.0ms

Counts
23 → 64
Calls

23 calls. Slowest were:

249.0ms
(+ (* 2/15 (* (pow PI 5) (pow l 5))) (+ (* 1/3 (* (pow PI 3) (pow l 3))) (* PI l)))
160.0ms
(/ (* (* (tan (* l PI)) (tan (* l PI))) (tan (* l PI))) (* (* (* F F) (* F F)) (* F F)))
63.0ms
(+ (/ (* PI l) (pow F 2)) (+ (* 2/15 (/ (* (pow PI 5) (pow l 5)) (pow F 2))) (* 1/3 (/ (* (pow PI 3) (pow l 3)) (pow F 2)))))

prune622.0ms

Pruning

13 alts after pruning (13 fresh and 0 done)

Merged error: 0.4b

localize17.0ms

Local error

Found 4 expressions with local error:

4.7b
(tan (* l PI))
0.2b
(/ (tan (* l PI)) F)
0.2b
(* l PI)
0.2b
(* PI l)

rewrite10.0ms

Algorithm
rewrite-expression-head
Counts
4 → 46
Calls

4 calls. Slowest were:

6.0ms
(/ (tan (* l PI)) F)
3.0ms
(tan (* l PI))
0.0ms
(* l PI)

series222.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

98.0ms
(/ (tan (* l PI)) F)
52.0ms
(tan (* l PI))
37.0ms
(* l PI)
34.0ms
(* PI l)

simplify483.0ms

Counts
15 → 58
Calls

15 calls. Slowest were:

271.0ms
(+ (* 2/15 (* (pow PI 5) (pow l 5))) (+ (* 1/3 (* (pow PI 3) (pow l 3))) (* PI l)))
170.0ms
(+ (* 1/3 (/ (* (pow PI 3) (pow l 3)) F)) (+ (/ (* PI l) F) (* 2/15 (/ (* (pow PI 5) (pow l 5)) F))))
5.0ms
(/ (sin (* PI l)) (* F (cos (* PI l))))

prune618.0ms

Pruning

15 alts after pruning (15 fresh and 0 done)

Merged error: 0.4b

localize16.0ms

Local error

Found 4 expressions with local error:

4.7b
(tan (* l PI))
0.3b
(* (tan (* l PI)) (/ 1 F))
0.2b
(* l PI)
0.2b
(* PI l)

rewrite9.0ms

Algorithm
rewrite-expression-head
Counts
4 → 54
Calls

4 calls. Slowest were:

6.0ms
(* (tan (* l PI)) (/ 1 F))
2.0ms
(tan (* l PI))
0.0ms
(* l PI)

series217.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

89.0ms
(* (tan (* l PI)) (/ 1 F))
55.0ms
(tan (* l PI))
40.0ms
(* l PI)
32.0ms
(* PI l)

simplify959.0ms

Counts
24 → 66
Calls

24 calls. Slowest were:

429.0ms
(* (* (* (tan (* l PI)) (tan (* l PI))) (tan (* l PI))) (* (* (/ 1 F) (/ 1 F)) (/ 1 F)))
268.0ms
(+ (* 2/15 (* (pow PI 5) (pow l 5))) (+ (* 1/3 (* (pow PI 3) (pow l 3))) (* PI l)))
144.0ms
(+ (* 1/3 (/ (* (pow PI 3) (pow l 3)) F)) (+ (/ (* PI l) F) (* 2/15 (/ (* (pow PI 5) (pow l 5)) F))))

prune651.0ms

Pruning

14 alts after pruning (13 fresh and 1 done)

Merged error: 0.4b

regimes546.0ms

Accuracy

0% (0.2b remaining)

Error of 0.7b against oracle of 0.5b and baseline of 0.7b

bsearch1.0ms

end0.0ms

sample21.5s

Algorithm
intervals