Average Error: 8.8 → 8.2
Time: 38.8s
Precision: 64
Internal Precision: 128
\[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
\[\pi \cdot \ell - \frac{\sin \left(\pi \cdot \ell\right)}{\cos \left(\pi \cdot \ell\right) \cdot {F}^{2}}\]

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.8

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

    \[\leadsto \color{blue}{(\left(\tan \left(\pi \cdot \ell\right)\right) \cdot \left(\frac{-1}{F \cdot F}\right) + \left(\pi \cdot \ell\right))_*}\]
  3. Taylor expanded around -inf 8.2

    \[\leadsto \color{blue}{\pi \cdot \ell - \frac{\sin \left(\pi \cdot \ell\right)}{{F}^{2} \cdot \cos \left(\pi \cdot \ell\right)}}\]
  4. Final simplification8.2

    \[\leadsto \pi \cdot \ell - \frac{\sin \left(\pi \cdot \ell\right)}{\cos \left(\pi \cdot \ell\right) \cdot {F}^{2}}\]

Reproduce

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

Details

Time bar (total: 37.3s)Debug log

sample1.3s

Algorithm
intervals

simplify236.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

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

prune16.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 8.1b

localize19.0ms

Local error

Found 4 expressions with local error:

7.8b
(fma (tan (* PI l)) (/ -1 (* F F)) (* PI l))
3.4b
(tan (* PI l))
0.2b
(* PI l)
0.2b
(* PI l)

rewrite8.0ms

Algorithm
rewrite-expression-head
Counts
4 → 40
Calls

4 calls. Slowest were:

3.0ms
(tan (* PI l))
2.0ms
(fma (tan (* PI l)) (/ -1 (* F F)) (* PI l))
0.0ms
(* PI l)

series195.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

100.0ms
(fma (tan (* PI l)) (/ -1 (* F F)) (* PI l))
38.0ms
(tan (* PI l))
29.0ms
(* PI l)
27.0ms
(* PI l)

simplify698.0ms

Counts
12 → 52
Calls

12 calls. Slowest were:

321.0ms
(- (* PI l) (+ (/ (* PI l) (pow F 2)) (* 1/3 (/ (* (pow PI 3) (pow l 3)) (pow F 2)))))
307.0ms
(+ (* 2/15 (* (pow PI 5) (pow l 5))) (+ (* 1/3 (* (pow PI 3) (pow l 3))) (* PI l)))
30.0ms
(- (* PI l) (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l)))))

prune601.0ms

Pruning

8 alts after pruning (8 fresh and 0 done)

Merged error: 7.9b

localize34.0ms

Local error

Found 4 expressions with local error:

7.9b
(/ (sin (* PI l)) (* (pow F 2) (cos (* PI l))))
3.3b
(sin (* PI l))
3.3b
(cos (* PI l))
0.2b
(* PI l)

rewrite21.0ms

Algorithm
rewrite-expression-head
Counts
4 → 52
Calls

4 calls. Slowest were:

16.0ms
(/ (sin (* PI l)) (* (pow F 2) (cos (* PI l))))
2.0ms
(sin (* PI l))
1.0ms
(cos (* PI l))

series162.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

86.0ms
(/ (sin (* PI l)) (* (pow F 2) (cos (* PI l))))
34.0ms
(* PI l)
23.0ms
(sin (* PI l))
18.0ms
(cos (* PI l))

simplify1.1s

Counts
26 → 64
Calls

26 calls. Slowest were:

304.0ms
(- (+ (* 1/24 (* (pow PI 4) (pow l 4))) 1) (* 1/2 (* (pow PI 2) (pow l 2))))
211.0ms
(- (+ (* 1/120 (* (pow PI 5) (pow l 5))) (* PI l)) (* 1/6 (* (pow PI 3) (pow l 3))))
115.0ms
(- (log (sin (* PI l))) (+ (log (pow F 2)) (log (cos (* PI l)))))

prune756.0ms

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 7.1b

localize19.0ms

Local error

Found 4 expressions with local error:

7.9b
(/ (* (pow F 2) (cos (* PI l))) (sin (* PI l)))
3.3b
(sin (* PI l))
3.3b
(cos (* PI l))
0.5b
(/ 1 (/ (* (pow F 2) (cos (* PI l))) (sin (* PI l))))

rewrite34.0ms

Algorithm
rewrite-expression-head
Counts
4 → 68
Calls

4 calls. Slowest were:

21.0ms
(/ (* (pow F 2) (cos (* PI l))) (sin (* PI l)))
5.0ms
(/ 1 (/ (* (pow F 2) (cos (* PI l))) (sin (* PI l))))
4.0ms
(cos (* PI l))

series272.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

120.0ms
(/ 1 (/ (* (pow F 2) (cos (* PI l))) (sin (* PI l))))
111.0ms
(/ (* (pow F 2) (cos (* PI l))) (sin (* PI l)))
25.0ms
(sin (* PI l))
16.0ms
(cos (* PI l))

simplify2.8s

Counts
36 → 80
Calls

36 calls. Slowest were:

997.0ms
(/ (* (* (* (pow F 2) (cos (* PI l))) (* (pow F 2) (cos (* PI l)))) (* (pow F 2) (cos (* PI l)))) (* (* (sin (* PI l)) (sin (* PI l))) (sin (* PI l))))
418.0ms
(+ (/ (* PI l) (pow F 2)) (* 1/3 (/ (* (pow PI 3) (pow l 3)) (pow F 2))))
367.0ms
(- (/ (pow F 2) (* PI l)) (* 1/3 (* (pow F 2) (* PI l))))

prune1.1s

Pruning

13 alts after pruning (11 fresh and 2 done)

Merged error: 7.1b

localize39.0ms

Local error

Found 4 expressions with local error:

25.9b
(cbrt (/ (* (pow F 2) (cos (* PI l))) (sin (* PI l))))
25.9b
(cbrt (/ (* (pow F 2) (cos (* PI l))) (sin (* PI l))))
25.9b
(cbrt (/ (* (pow F 2) (cos (* PI l))) (sin (* PI l))))
7.9b
(/ (* (pow F 2) (cos (* PI l))) (sin (* PI l)))

rewrite34.0ms

Algorithm
rewrite-expression-head
Counts
4 → 78
Calls

4 calls. Slowest were:

22.0ms
(/ (* (pow F 2) (cos (* PI l))) (sin (* PI l)))
4.0ms
(cbrt (/ (* (pow F 2) (cos (* PI l))) (sin (* PI l))))
4.0ms
(cbrt (/ (* (pow F 2) (cos (* PI l))) (sin (* PI l))))

series888.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

275.0ms
(cbrt (/ (* (pow F 2) (cos (* PI l))) (sin (* PI l))))
250.0ms
(cbrt (/ (* (pow F 2) (cos (* PI l))) (sin (* PI l))))
218.0ms
(cbrt (/ (* (pow F 2) (cos (* PI l))) (sin (* PI l))))
145.0ms
(/ (* (pow F 2) (cos (* PI l))) (sin (* PI l)))

simplify4.9s

Counts
51 → 90
Calls

51 calls. Slowest were:

916.0ms
(/ (* (* (* (pow F 2) (cos (* PI l))) (* (pow F 2) (cos (* PI l)))) (* (pow F 2) (cos (* PI l)))) (* (* (sin (* PI l)) (sin (* PI l))) (sin (* PI l))))
572.0ms
(exp (* 1/3 (- (log (/ (cos (* PI l)) (sin (* PI l)))) (* 2 (log (/ -1 F))))))
375.0ms
(exp (* 1/3 (- (log (/ (cos (* PI l)) (sin (* PI l)))) (* 2 (log (/ 1 F))))))

prune1.4s

Pruning

13 alts after pruning (10 fresh and 3 done)

Merged error: 7.1b

regimes512.0ms

Accuracy

0% (1.7b remaining)

Error of 8.2b against oracle of 6.5b and baseline of 8.2b

bsearch3.0ms

end0.0ms

sample20.1s

Algorithm
intervals