Average Error: 8.5 → 8.1
Time: 32.9s
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)}{\log_* (1 + \sqrt[3]{\left((e^{\cos \left(\pi \cdot \ell\right)} - 1)^* \cdot (e^{\cos \left(\pi \cdot \ell\right)} - 1)^*\right) \cdot (e^{\cos \left(\pi \cdot \ell\right)} - 1)^*}) \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.5

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

    \[\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.1

    \[\leadsto \color{blue}{\pi \cdot \ell - \frac{\sin \left(\pi \cdot \ell\right)}{{F}^{2} \cdot \cos \left(\pi \cdot \ell\right)}}\]
  4. Using strategy rm
  5. Applied log1p-expm1-u8.1

    \[\leadsto \pi \cdot \ell - \frac{\sin \left(\pi \cdot \ell\right)}{{F}^{2} \cdot \color{blue}{\log_* (1 + (e^{\cos \left(\pi \cdot \ell\right)} - 1)^*)}}\]
  6. Using strategy rm
  7. Applied add-cbrt-cube8.1

    \[\leadsto \pi \cdot \ell - \frac{\sin \left(\pi \cdot \ell\right)}{{F}^{2} \cdot \log_* (1 + \color{blue}{\sqrt[3]{\left((e^{\cos \left(\pi \cdot \ell\right)} - 1)^* \cdot (e^{\cos \left(\pi \cdot \ell\right)} - 1)^*\right) \cdot (e^{\cos \left(\pi \cdot \ell\right)} - 1)^*}})}\]
  8. Final simplification8.1

    \[\leadsto \pi \cdot \ell - \frac{\sin \left(\pi \cdot \ell\right)}{\log_* (1 + \sqrt[3]{\left((e^{\cos \left(\pi \cdot \ell\right)} - 1)^* \cdot (e^{\cos \left(\pi \cdot \ell\right)} - 1)^*\right) \cdot (e^{\cos \left(\pi \cdot \ell\right)} - 1)^*}) \cdot {F}^{2}}\]

Reproduce

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

Details

Time bar (total: 31.6s)Debug log

sample681.0ms

Algorithm
intervals
Results
531×(pre true 80)
284×(body real 80)
241×(body exit 10240)
(body real 160)

simplify170.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
170.0ms
(- (* PI l) (* (/ 1 (* F F)) (tan (* PI l))))

prune13.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 6.4b

localize24.0ms

Local error

Found 4 expressions with local error:

6.2b
(fma (tan (* PI l)) (/ -1 (* F F)) (* PI l))
3.5b
(tan (* PI l))
0.4b
(/ -1 (* F F))
0.2b
(* PI l)

rewrite5.0ms

Algorithm
rewrite-expression-head
Rules
add-log-exp
log1p-expm1-u
add-cube-cbrt
add-exp-log
add-cbrt-cube
*-un-lft-identity
pow1
expm1-log1p-u
add-sqr-sqrt
div-inv
fma-udef
*-commutative
tan-quot
frac-2neg
associate-/r*
clear-num
Counts
4 → 43
Calls
4 calls:
Slowest
2.0ms
(tan (* PI l))
1.0ms
(fma (tan (* PI l)) (/ -1 (* F F)) (* PI l))
0.0ms
(/ -1 (* F F))
0.0ms
(* PI l)

series190.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
97.0ms
(fma (tan (* PI l)) (/ -1 (* F F)) (* PI l))
47.0ms
(tan (* PI l))
34.0ms
(* PI l)
12.0ms
(/ -1 (* F F))

simplify763.0ms

Counts
12 → 55
Calls
12 calls:
Slowest
377.0ms
(- (* PI l) (+ (/ (* PI l) (pow F 2)) (* 1/3 (/ (* (pow PI 3) (pow l 3)) (pow F 2)))))
262.0ms
(+ (* 2/15 (* (pow PI 5) (pow l 5))) (+ (* 1/3 (* (pow PI 3) (pow l 3))) (* PI l)))
60.0ms
(- (* PI l) (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l)))))
45.0ms
(- (* PI l) (/ (sin (* PI l)) (* (pow F 2) (cos (* PI l)))))
3.0ms
(/ -1 (pow F 2))

prune502.0ms

Pruning

9 alts after pruning (9 fresh and 0 done)

Merged error: 5.7b

localize34.0ms

Local error

Found 4 expressions with local error:

5.7b
(/ (sin (* PI l)) (* (pow F 2) (cos (* PI l))))
3.4b
(sin (* PI l))
3.2b
(cos (* PI l))
0.2b
(* PI l)

rewrite24.0ms

Algorithm
rewrite-expression-head
Rules
11×add-exp-log
add-cbrt-cube
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
add-log-exp
log1p-expm1-u
pow1
expm1-log1p-u
associate-/l*
div-exp
times-frac
prod-exp
cbrt-undiv
div-inv
cbrt-unprod
*-commutative
frac-2neg
associate-/r*
clear-num
pow-to-exp
Counts
4 → 52
Calls
4 calls:
Slowest
16.0ms
(/ (sin (* PI l)) (* (pow F 2) (cos (* PI l))))
3.0ms
(sin (* PI l))
3.0ms
(cos (* PI l))
0.0ms
(* PI l)

series176.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
82.0ms
(/ (sin (* PI l)) (* (pow F 2) (cos (* PI l))))
48.0ms
(* PI l)
27.0ms
(sin (* PI l))
19.0ms
(cos (* PI l))

simplify1.1s

Counts
26 → 64
Calls
26 calls:
Slowest
270.0ms
(- (+ (* 1/24 (* (pow PI 4) (pow l 4))) 1) (* 1/2 (* (pow PI 2) (pow l 2))))
215.0ms
(- (+ (* 1/120 (* (pow PI 5) (pow l 5))) (* PI l)) (* 1/6 (* (pow PI 3) (pow l 3))))
114.0ms
(/ (* (* (sin (* PI l)) (sin (* PI l))) (sin (* PI l))) (* (* (* (pow F 2) (pow F 2)) (pow F 2)) (* (* (cos (* PI l)) (cos (* PI l))) (cos (* PI l)))))
110.0ms
(- (log (sin (* PI l))) (+ (log (pow F 2)) (log (cos (* PI l)))))
88.0ms
(- (log (sin (* PI l))) (+ (* (log F) 2) (log (cos (* PI l)))))

prune744.0ms

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 4.8b

localize15.0ms

Local error

Found 4 expressions with local error:

5.7b
(/ (sin (* PI l)) (* (pow F 2) (log1p (expm1 (cos (* PI l))))))
3.4b
(sin (* PI l))
3.2b
(cos (* PI l))
0.9b
(expm1 (cos (* PI l)))

rewrite12.0ms

Algorithm
rewrite-expression-head
Rules
11×add-exp-log
add-cbrt-cube
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
log1p-expm1-u
add-log-exp
pow1
expm1-log1p-u
associate-/l*
div-exp
times-frac
prod-exp
cbrt-undiv
expm1-udef
div-inv
cbrt-unprod
frac-2neg
associate-/r*
clear-num
expm1-log1p
pow-to-exp
Counts
4 → 53
Calls
4 calls:
Slowest
7.0ms
(/ (sin (* PI l)) (* (pow F 2) (log1p (expm1 (cos (* PI l))))))
2.0ms
(cos (* PI l))
2.0ms
(sin (* PI l))
0.0ms
(expm1 (cos (* PI l)))

series290.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
172.0ms
(/ (sin (* PI l)) (* (pow F 2) (log1p (expm1 (cos (* PI l))))))
81.0ms
(expm1 (cos (* PI l)))
19.0ms
(cos (* PI l))
18.0ms
(sin (* PI l))

simplify1.3s

Counts
27 → 65
Calls
27 calls:
Slowest
227.0ms
(- (+ (* 1/6 (* E (* (pow PI 4) (pow l 4)))) E) (+ (* 1/2 (* E (* (pow PI 2) (pow l 2)))) 1))
216.0ms
(- (+ (* 1/24 (* (pow PI 4) (pow l 4))) 1) (* 1/2 (* (pow PI 2) (pow l 2))))
202.0ms
(- (+ (* 1/120 (* (pow PI 5) (pow l 5))) (* PI l)) (* 1/6 (* (pow PI 3) (pow l 3))))
136.0ms
(- (log (sin (* PI l))) (+ (log (pow F 2)) (log (log1p (expm1 (cos (* PI l)))))))
109.0ms
(- (log (sin (* PI l))) (log (* (pow F 2) (log1p (expm1 (cos (* PI l)))))))

prune930.0ms

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 4.8b

localize23.0ms

Local error

Found 4 expressions with local error:

5.7b
(/ (sin (* PI l)) (* (pow F 2) (log1p (cbrt (* (* (expm1 (cos (* PI l))) (expm1 (cos (* PI l)))) (expm1 (cos (* PI l))))))))
3.4b
(sin (* PI l))
3.2b
(cos (* PI l))
3.2b
(cos (* PI l))

rewrite23.0ms

Algorithm
rewrite-expression-head
Rules
11×add-exp-log
add-cbrt-cube
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
add-log-exp
log1p-expm1-u
pow1
expm1-log1p-u
associate-/l*
div-exp
times-frac
prod-exp
cbrt-undiv
div-inv
cbrt-unprod
frac-2neg
associate-/r*
clear-num
pow-to-exp
Counts
4 → 51
Calls
4 calls:
Slowest
14.0ms
(/ (sin (* PI l)) (* (pow F 2) (log1p (cbrt (* (* (expm1 (cos (* PI l))) (expm1 (cos (* PI l)))) (expm1 (cos (* PI l))))))))
3.0ms
(sin (* PI l))
3.0ms
(cos (* PI l))
2.0ms
(cos (* PI l))

series213.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
165.0ms
(/ (sin (* PI l)) (* (pow F 2) (log1p (cbrt (* (* (expm1 (cos (* PI l))) (expm1 (cos (* PI l)))) (expm1 (cos (* PI l))))))))
25.0ms
(sin (* PI l))
12.0ms
(cos (* PI l))
11.0ms
(cos (* PI l))

simplify1.4s

Counts
26 → 63
Calls
26 calls:
Slowest
244.0ms
(- (+ (* 1/24 (* (pow PI 4) (pow l 4))) 1) (* 1/2 (* (pow PI 2) (pow l 2))))
204.0ms
(- (+ (* 1/24 (* (pow PI 4) (pow l 4))) 1) (* 1/2 (* (pow PI 2) (pow l 2))))
192.0ms
(- (+ (* 1/120 (* (pow PI 5) (pow l 5))) (* PI l)) (* 1/6 (* (pow PI 3) (pow l 3))))
151.0ms
(- (log (sin (* PI l))) (+ (log (pow F 2)) (log (log1p (cbrt (* (* (expm1 (cos (* PI l))) (expm1 (cos (* PI l)))) (expm1 (cos (* PI l)))))))))
110.0ms
(- (log (sin (* PI l))) (log (* (pow F 2) (log1p (cbrt (* (* (expm1 (cos (* PI l))) (expm1 (cos (* PI l)))) (expm1 (cos (* PI l)))))))))

prune1.1s

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 4.8b

regimes381.0ms

Accuracy

0% (1.8b remaining)

Error of 8.1b against oracle of 6.3b and baseline of 8.1b

bsearch4.0ms

end0.0ms

sample21.4s

Algorithm
intervals
Results
16926×(pre true 80)
8916×(body real 80)
7770×(body exit 10240)
240×(body real 160)