Average Error: 8.7 → 0.7
Time: 30.7s
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.7

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

    \[\leadsto \color{blue}{\pi \cdot \ell - \frac{\tan \left(\pi \cdot \ell\right)}{F \cdot F}}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity8.3

    \[\leadsto \pi \cdot \ell - \frac{\color{blue}{1 \cdot \tan \left(\pi \cdot \ell\right)}}{F \cdot F}\]
  5. Applied times-frac0.7

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

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

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

Reproduce

herbie shell --seed 2019008 
(FPCore (F l)
  :name "VandenBroeck and Keller, Equation (6)"
  (- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))

Details

Time bar (total: 29.4s)Debug log

sample641.0ms

Algorithm
intervals

simplify230.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

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

prune24.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 7.8b

localize33.0ms

Local error

Found 4 expressions with local error:

7.5b
(/ (tan (* PI l)) (* F F))
2.7b
(tan (* PI l))
0.3b
(* PI l)
0.3b
(* PI l)

rewrite18.0ms

Algorithm
rewrite-expression-head
Counts
4 → 44
Calls

4 calls. Slowest were:

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

series243.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

118.0ms
(/ (tan (* PI l)) (* F F))
59.0ms
(tan (* PI l))
39.0ms
(* PI l)
26.0ms
(* PI l)

simplify1.1s

Counts
23 → 56
Calls

23 calls. Slowest were:

480.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)))))
284.0ms
(/ (* (* (tan (* PI l)) (tan (* PI l))) (tan (* PI l))) (* (* (* F F) (* F F)) (* F F)))
252.0ms
(+ (* 2/15 (* (pow PI 5) (pow l 5))) (+ (* 1/3 (* (pow PI 3) (pow l 3))) (* PI l)))

prune643.0ms

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 0.3b

localize16.0ms

Local error

Found 4 expressions with local error:

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

rewrite18.0ms

Algorithm
rewrite-expression-head
Counts
4 → 46
Calls

4 calls. Slowest were:

9.0ms
(* (/ 1 F) (/ (tan (* PI l)) F))
7.0ms
(tan (* PI l))
0.0ms
(* PI l)

series276.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

115.0ms
(* (/ 1 F) (/ (tan (* PI l)) F))
66.0ms
(tan (* PI l))
48.0ms
(* PI l)
47.0ms
(* PI l)

simplify1.3s

Counts
24 → 58
Calls

24 calls. Slowest were:

438.0ms
(* (* (* (/ 1 F) (/ 1 F)) (/ 1 F)) (* (* (/ (tan (* PI l)) F) (/ (tan (* PI l)) F)) (/ (tan (* PI l)) F)))
327.0ms
(+ (/ (* PI l) (pow F 2)) (* 1/3 (/ (* (pow PI 3) (pow l 3)) (pow F 2))))
242.0ms
(+ (* 2/15 (* (pow PI 5) (pow l 5))) (+ (* 1/3 (* (pow PI 3) (pow l 3))) (* PI l)))

prune618.0ms

Pruning

13 alts after pruning (13 fresh and 0 done)

Merged error: 0.3b

localize8.0ms

Local error

Found 4 expressions with local error:

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

rewrite9.0ms

Algorithm
rewrite-expression-head
Counts
4 → 45
Calls

4 calls. Slowest were:

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

series253.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

101.0ms
(* (/ 1 F) (tan (* PI l)))
64.0ms
(tan (* PI l))
44.0ms
(* PI l)
43.0ms
(* PI l)

simplify939.0ms

Counts
24 → 57
Calls

24 calls. Slowest were:

445.0ms
(* (* (* (/ 1 F) (/ 1 F)) (/ 1 F)) (* (* (tan (* PI l)) (tan (* PI l))) (tan (* PI l))))
254.0ms
(+ (* 2/15 (* (pow PI 5) (pow l 5))) (+ (* 1/3 (* (pow PI 3) (pow l 3))) (* PI l)))
119.0ms
(+ (* 1/3 (/ (* (pow PI 3) (pow l 3)) F)) (/ (* PI l) F))

prune576.0ms

Pruning

15 alts after pruning (14 fresh and 1 done)

Merged error: 0.3b

localize35.0ms

Local error

Found 4 expressions with local error:

2.7b
(tan (* PI l))
0.6b
(cbrt (/ 1 F))
0.6b
(cbrt (/ 1 F))
0.6b
(cbrt (/ 1 F))

rewrite7.0ms

Algorithm
rewrite-expression-head
Counts
4 → 47
Calls

4 calls. Slowest were:

3.0ms
(tan (* PI l))
1.0ms
(cbrt (/ 1 F))
1.0ms
(cbrt (/ 1 F))

series948.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

325.0ms
(cbrt (/ 1 F))
305.0ms
(cbrt (/ 1 F))
266.0ms
(cbrt (/ 1 F))
52.0ms
(tan (* PI l))

simplify307.0ms

Counts
27 → 59
Calls

27 calls. Slowest were:

228.0ms
(+ (* 2/15 (* (pow PI 5) (pow l 5))) (+ (* 1/3 (* (pow PI 3) (pow l 3))) (* PI l)))
6.0ms
(* (cbrt -1) (pow (/ -1 F) 1/3))
6.0ms
(* (cbrt -1) (pow (/ -1 F) 1/3))

prune632.0ms

Pruning

15 alts after pruning (13 fresh and 2 done)

Merged error: 0.3b

regimes491.0ms

Accuracy

0% (0.2b remaining)

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

bsearch1.0ms

end0.0ms

sample20.0s

Algorithm
intervals