Average Error: 8.4 → 0.6
Time: 44.5s
Precision: 64
Internal Precision: 128
\[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
\[\pi \cdot \ell - \frac{\tan \left(\pi \cdot \ell\right)}{F} \cdot \frac{1}{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.4

    \[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
  2. Initial simplification7.9

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

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

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

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

Reproduce

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

Details

Time bar (total: 8.7s)Debug log

start1.2s

Algorithm
intervals

setup216.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 8.5b

localize28.0ms

Local error

Found 4 expressions with local error:

7.9b
(/ (tan (* PI l)) (* F F))
2.5b
(tan (* PI l))
0.2b
(* PI l)
0.2b
(* PI l)

rewrite11.0ms

Algorithm
rewrite-expression-head
Counts
4 → 44
Calls

4 calls. Slowest were:

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

series207.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

93.0ms
(/ (tan (* PI l)) (* F F))
45.0ms
(tan (* PI l))
40.0ms
(* PI l)
28.0ms
(* PI l)

simplify1.3s

Counts
23 → 56
Calls

23 calls. Slowest were:

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

prune509.0ms

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 0.7b

localize10.0ms

Local error

Found 4 expressions with local error:

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

rewrite12.0ms

Algorithm
rewrite-expression-head
Counts
4 → 38
Calls

4 calls. Slowest were:

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

series178.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

79.0ms
(/ (tan (* PI l)) F)
43.0ms
(tan (* PI l))
30.0ms
(* PI l)
25.0ms
(* PI l)

simplify524.0ms

Counts
15 → 50
Calls

15 calls. Slowest were:

283.0ms
(+ (* 2/15 (* (pow PI 5) (pow l 5))) (+ (* 1/3 (* (pow PI 3) (pow l 3))) (* PI l)))
196.0ms
(+ (* 1/3 (/ (* (pow PI 3) (pow l 3)) F)) (+ (/ (* PI l) F) (* 2/15 (/ (* (pow PI 5) (pow l 5)) F))))
9.0ms
(/ (sin (* PI l)) (* F (cos (* PI l))))

prune577.0ms

Pruning

11 alts after pruning (11 fresh and 0 done)

Merged error: 0.6b

localize10.0ms

Local error

Found 4 expressions with local error:

2.5b
(tan (* PI l))
0.2b
(* PI l)
0.2b
(* PI l)
0.2b
(* (/ 1 F) (/ (tan (* PI l)) F))

rewrite6.0ms

Algorithm
rewrite-expression-head
Counts
4 → 46
Calls

4 calls. Slowest were:

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

series246.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

117.0ms
(* (/ 1 F) (/ (tan (* PI l)) F))
55.0ms
(tan (* PI l))
48.0ms
(* PI l)
27.0ms
(* PI l)

simplify1.4s

Counts
24 → 58
Calls

24 calls. Slowest were:

461.0ms
(* (* (* (/ 1 F) (/ 1 F)) (/ 1 F)) (* (* (/ (tan (* PI l)) F) (/ (tan (* PI l)) F)) (/ (tan (* PI l)) F)))
337.0ms
(+ (/ (* PI l) (pow F 2)) (* 1/3 (/ (* (pow PI 3) (pow l 3)) (pow F 2))))
290.0ms
(+ (* 2/15 (* (pow PI 5) (pow l 5))) (+ (* 1/3 (* (pow PI 3) (pow l 3))) (* PI l)))

prune559.0ms

Pruning

13 alts after pruning (12 fresh and 1 done)

Merged error: 0.6b

localize22.0ms

Local error

Found 4 expressions with local error:

2.5b
(tan (* PI l))
1.0b
(/ 1 (/ F (tan (* PI l))))
0.2b
(* PI l)
0.2b
(* PI l)

rewrite7.0ms

Algorithm
rewrite-expression-head
Counts
4 → 43
Calls

4 calls. Slowest were:

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

series302.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

149.0ms
(/ 1 (/ F (tan (* PI l))))
63.0ms
(tan (* PI l))
46.0ms
(* PI l)
44.0ms
(* PI l)

simplify510.0ms

Counts
19 → 55
Calls

19 calls. Slowest were:

298.0ms
(+ (* 2/15 (* (pow PI 5) (pow l 5))) (+ (* 1/3 (* (pow PI 3) (pow l 3))) (* PI l)))
151.0ms
(+ (* 1/3 (/ (* (pow PI 3) (pow l 3)) F)) (/ (* PI l) F))
6.0ms
(/ (sin (* PI l)) (* F (cos (* PI l))))

prune599.0ms

Pruning

13 alts after pruning (11 fresh and 2 done)

Merged error: 0.6b

regimes333.0ms

Accuracy

0% (0.2b remaining)

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

bsearch3.0ms