Average Error: 47.5 → 16.8
Time: 1.7m
Precision: 64
Internal Precision: 128
\[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)}\]
\[\frac{\left(\frac{\sqrt[3]{\cos k}}{\sin k} \cdot \left(\frac{\frac{\ell}{t}}{\sin k} \cdot \ell\right)\right) \cdot 2}{\frac{{k}^{2}}{\sqrt[3]{\cos k} \cdot \sqrt[3]{\cos k}}}\]

Error

Bits error versus t

Bits error versus l

Bits error versus k

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 47.5

    \[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)}\]
  2. Taylor expanded around -inf 23.5

    \[\leadsto \frac{2}{\color{blue}{\frac{t \cdot \left({k}^{2} \cdot {\left(\sin k\right)}^{2}\right)}{{\ell}^{2} \cdot \cos k}}}\]
  3. Using strategy rm
  4. Applied times-frac23.5

    \[\leadsto \frac{2}{\color{blue}{\frac{t}{{\ell}^{2}} \cdot \frac{{k}^{2} \cdot {\left(\sin k\right)}^{2}}{\cos k}}}\]
  5. Applied associate-/r*23.4

    \[\leadsto \color{blue}{\frac{\frac{2}{\frac{t}{{\ell}^{2}}}}{\frac{{k}^{2} \cdot {\left(\sin k\right)}^{2}}{\cos k}}}\]
  6. Using strategy rm
  7. Applied add-cube-cbrt23.5

    \[\leadsto \frac{\frac{2}{\frac{t}{{\ell}^{2}}}}{\frac{{k}^{2} \cdot {\left(\sin k\right)}^{2}}{\color{blue}{\left(\sqrt[3]{\cos k} \cdot \sqrt[3]{\cos k}\right) \cdot \sqrt[3]{\cos k}}}}\]
  8. Applied times-frac23.5

    \[\leadsto \frac{\frac{2}{\frac{t}{{\ell}^{2}}}}{\color{blue}{\frac{{k}^{2}}{\sqrt[3]{\cos k} \cdot \sqrt[3]{\cos k}} \cdot \frac{{\left(\sin k\right)}^{2}}{\sqrt[3]{\cos k}}}}\]
  9. Applied div-inv23.5

    \[\leadsto \frac{\color{blue}{2 \cdot \frac{1}{\frac{t}{{\ell}^{2}}}}}{\frac{{k}^{2}}{\sqrt[3]{\cos k} \cdot \sqrt[3]{\cos k}} \cdot \frac{{\left(\sin k\right)}^{2}}{\sqrt[3]{\cos k}}}\]
  10. Applied times-frac22.3

    \[\leadsto \color{blue}{\frac{2}{\frac{{k}^{2}}{\sqrt[3]{\cos k} \cdot \sqrt[3]{\cos k}}} \cdot \frac{\frac{1}{\frac{t}{{\ell}^{2}}}}{\frac{{\left(\sin k\right)}^{2}}{\sqrt[3]{\cos k}}}}\]
  11. Simplified16.9

    \[\leadsto \frac{2}{\frac{{k}^{2}}{\sqrt[3]{\cos k} \cdot \sqrt[3]{\cos k}}} \cdot \color{blue}{\left(\frac{\sqrt[3]{\cos k}}{\sin k} \cdot \left(\frac{\frac{\ell}{t}}{\sin k} \cdot \ell\right)\right)}\]
  12. Using strategy rm
  13. Applied associate-*l/16.8

    \[\leadsto \color{blue}{\frac{2 \cdot \left(\frac{\sqrt[3]{\cos k}}{\sin k} \cdot \left(\frac{\frac{\ell}{t}}{\sin k} \cdot \ell\right)\right)}{\frac{{k}^{2}}{\sqrt[3]{\cos k} \cdot \sqrt[3]{\cos k}}}}\]
  14. Final simplification16.8

    \[\leadsto \frac{\left(\frac{\sqrt[3]{\cos k}}{\sin k} \cdot \left(\frac{\frac{\ell}{t}}{\sin k} \cdot \ell\right)\right) \cdot 2}{\frac{{k}^{2}}{\sqrt[3]{\cos k} \cdot \sqrt[3]{\cos k}}}\]

Reproduce

herbie shell --seed 2019010 +o rules:numerics
(FPCore (t l k)
  :name "Toniolo and Linder, Equation (10-)"
  (/ 2 (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (- (+ 1 (pow (/ k t) 2)) 1))))

Details

Time bar (total: 1.7m)Debug log

sample1.3s

Algorithm
intervals

simplify87.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
87.0ms
(/ 2 (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (- (+ 1 (pow (/ k t) 2)) 1)))

prune13.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 45.1b

localize67.0ms

Local error

Found 4 expressions with local error:

28.8b
(* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (- (+ 1 (pow (/ k t) 2)) 1))
16.1b
(/ (pow t 3) (* l l))
1.4b
(- (+ 1 (pow (/ k t) 2)) 1)
1.3b
(* (/ (pow t 3) (* l l)) (sin k))

rewrite91.0ms

Algorithm
rewrite-expression-head
Rules
33×add-exp-log
25×add-cbrt-cube
15×prod-exp
15×pow1
13×associate-*l/
13×add-sqr-sqrt
11×cbrt-unprod
11×add-cube-cbrt
11×*-un-lft-identity
10×associate-*l*
10×times-frac
frac-times
pow-prod-down
associate-*r*
tan-quot
div-exp
associate-/l*
flip--
associate-*r/
flip3--
add-log-exp
log1p-expm1-u
expm1-log1p-u
associate--l+
unpow3
fma-neg
distribute-lft-in
sub-neg
cbrt-undiv
pow-to-exp
cube-mult
distribute-rgt-in
div-inv
*-commutative
difference-of-sqr-1
frac-2neg
associate-/r*
clear-num
expm1-def
Counts
4 → 118
Calls
4 calls:
Slowest
63.0ms
(* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (- (+ 1 (pow (/ k t) 2)) 1))
14.0ms
(- (+ 1 (pow (/ k t) 2)) 1)
9.0ms
(* (/ (pow t 3) (* l l)) (sin k))
3.0ms
(/ (pow t 3) (* l l))

series441.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
331.0ms
(* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (- (+ 1 (pow (/ k t) 2)) 1))
78.0ms
(* (/ (pow t 3) (* l l)) (sin k))
17.0ms
(/ (pow t 3) (* l l))
14.0ms
(- (+ 1 (pow (/ k t) 2)) 1)

simplify18.5s

Counts
90 → 130
Calls
90 calls:
Slowest
1.3s
(* (* (* (pow t 3) (sin k)) (sin k)) (- (+ 1 (pow (/ k t) 2)) 1))
1.0s
(cbrt (- (+ 1 (pow (/ k t) 2)) 1))
974.0ms
(sqrt (- (+ 1 (pow (/ k t) 2)) 1))
826.0ms
(- (+ 1 (pow (/ k t) 2)) 1)
690.0ms
(* (* l l) (+ (* (+ 1 (pow (/ k t) 2)) (+ 1 (pow (/ k t) 2))) (+ (* 1 1) (* (+ 1 (pow (/ k t) 2)) 1))))

prune2.3s

Pruning

8 alts after pruning (8 fresh and 0 done)

Merged error: 15.1b

localize33.0ms

Local error

Found 4 expressions with local error:

17.1b
(/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k)))
6.8b
(* t (* (pow k 2) (pow (sin k) 2)))
0.7b
(/ 2 (/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k))))
0.4b
(* (pow k 2) (pow (sin k) 2))

rewrite26.0ms

Algorithm
rewrite-expression-head
Rules
18×add-exp-log
11×add-cbrt-cube
add-cube-cbrt
prod-exp
associate-*r*
*-un-lft-identity
add-sqr-sqrt
associate-/r*
pow-to-exp
add-log-exp
log1p-expm1-u
associate-*l*
pow1
expm1-log1p-u
div-inv
div-exp
unpow-prod-down
unpow2
cbrt-unprod
*-commutative
pow-exp
times-frac
frac-2neg
clear-num
cbrt-undiv
associate-/l*
associate-/r/
pow-prod-down
Counts
4 → 78
Calls
4 calls:
Slowest
14.0ms
(/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k)))
5.0ms
(* t (* (pow k 2) (pow (sin k) 2)))
5.0ms
(* (pow k 2) (pow (sin k) 2))
1.0ms
(/ 2 (/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k))))

series615.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
269.0ms
(/ 2 (/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k))))
223.0ms
(/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k)))
82.0ms
(* t (* (pow k 2) (pow (sin k) 2)))
41.0ms
(* (pow k 2) (pow (sin k) 2))

simplify6.3s

Counts
44 → 90
Calls
44 calls:
Slowest
780.0ms
(sqrt (/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k))))
583.0ms
(cbrt (/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k))))
573.0ms
(/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k)))
562.0ms
(- (log (* t (* (pow k 2) (pow (sin k) 2)))) (log (* (pow l 2) (cos k))))
556.0ms
(/ (* (* (* t (* (pow k 2) (pow (sin k) 2))) (* t (* (pow k 2) (pow (sin k) 2)))) (* t (* (pow k 2) (pow (sin k) 2)))) (* (* (* (pow l 2) (pow l 2)) (pow l 2)) (* (* (cos k) (cos k)) (cos k))))

prune1.5s

Pruning

14 alts after pruning (14 fresh and 0 done)

Merged error: 10.6b

localize27.0ms

Local error

Found 4 expressions with local error:

14.3b
(/ (/ 2 (/ t (pow l 2))) (/ (* (pow k 2) (pow (sin k) 2)) (cos k)))
6.9b
(/ t (pow l 2))
0.7b
(/ 2 (/ t (pow l 2)))
0.4b
(* (pow k 2) (pow (sin k) 2))

rewrite26.0ms

Algorithm
rewrite-expression-head
Rules
53×times-frac
35×add-exp-log
29×add-cube-cbrt
29×*-un-lft-identity
29×add-sqr-sqrt
18×div-inv
15×div-exp
15×add-cbrt-cube
15×associate-/r*
12×prod-exp
10×associate-/r/
10×pow-to-exp
associate-*r*
associate-/l*
cbrt-undiv
add-log-exp
log1p-expm1-u
pow-exp
associate-*l*
pow1
expm1-log1p-u
unpow2
frac-2neg
unpow-prod-down
clear-num
cbrt-unprod
associate-/l/
*-commutative
pow-prod-down
Counts
4 → 134
Calls
4 calls:
Slowest
12.0ms
(/ (/ 2 (/ t (pow l 2))) (/ (* (pow k 2) (pow (sin k) 2)) (cos k)))
9.0ms
(* (pow k 2) (pow (sin k) 2))
1.0ms
(/ t (pow l 2))
1.0ms
(/ 2 (/ t (pow l 2)))

series322.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
240.0ms
(/ (/ 2 (/ t (pow l 2))) (/ (* (pow k 2) (pow (sin k) 2)) (cos k)))
36.0ms
(* (pow k 2) (pow (sin k) 2))
26.0ms
(/ 2 (/ t (pow l 2)))
19.0ms
(/ t (pow l 2))

simplify12.5s

Counts
129 → 146
Calls
129 calls:
Slowest
485.0ms
(/ (/ 2 (/ t (pow l 2))) (/ (* (pow k 2) (pow (sin k) 2)) (cos k)))
472.0ms
(/ (* (* (/ 2 (/ t (pow l 2))) (/ 2 (/ t (pow l 2)))) (/ 2 (/ t (pow l 2)))) (/ (* (* (* (pow k 2) (pow k 2)) (pow k 2)) (* (* (pow (sin k) 2) (pow (sin k) 2)) (pow (sin k) 2))) (* (* (cos k) (cos k)) (cos k))))
433.0ms
(/ (/ 1 (/ t (pow l 2))) (/ (* (pow k 2) (pow (sin k) 2)) (cos k)))
406.0ms
(/ (/ 1 (/ t (pow l 2))) (/ 1 (cos k)))
404.0ms
(/ (/ 1 (/ t (pow l 2))) (cbrt (/ (* (pow k 2) (pow (sin k) 2)) (cos k))))

prune2.4s

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 7.4b

localize28.0ms

Local error

Found 4 expressions with local error:

10.4b
(* (/ 2 (/ (pow k 2) (* (cbrt (cos k)) (cbrt (cos k))))) (* (/ (cbrt (cos k)) (sin k)) (* (/ (/ l t) (sin k)) l)))
2.7b
(* (/ (cbrt (cos k)) (sin k)) (* (/ (/ l t) (sin k)) l))
2.7b
(/ (/ l t) (sin k))
0.5b
(/ 2 (/ (pow k 2) (* (cbrt (cos k)) (cbrt (cos k)))))

rewrite63.0ms

Algorithm
rewrite-expression-head
Rules
34×times-frac
29×add-cube-cbrt
29×*-un-lft-identity
29×add-sqr-sqrt
27×associate-*l*
20×add-exp-log
18×add-cbrt-cube
11×associate-/r*
11×pow1
10×associate-*l/
div-inv
cbrt-prod
cbrt-unprod
prod-exp
associate-*r/
frac-times
add-log-exp
associate-/l*
log1p-expm1-u
pow-prod-down
expm1-log1p-u
div-exp
cbrt-undiv
*-commutative
associate-/r/
associate-*r*
frac-2neg
clear-num
associate-/l/
unpow2
Counts
4 → 127
Calls
4 calls:
Slowest
39.0ms
(* (/ 2 (/ (pow k 2) (* (cbrt (cos k)) (cbrt (cos k))))) (* (/ (cbrt (cos k)) (sin k)) (* (/ (/ l t) (sin k)) l)))
17.0ms
(* (/ (cbrt (cos k)) (sin k)) (* (/ (/ l t) (sin k)) l))
3.0ms
(/ (/ l t) (sin k))
2.0ms
(/ 2 (/ (pow k 2) (* (cbrt (cos k)) (cbrt (cos k)))))

series682.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
264.0ms
(/ 2 (/ (pow k 2) (* (cbrt (cos k)) (cbrt (cos k)))))
174.0ms
(* (/ (cbrt (cos k)) (sin k)) (* (/ (/ l t) (sin k)) l))
147.0ms
(* (/ 2 (/ (pow k 2) (* (cbrt (cos k)) (cbrt (cos k))))) (* (/ (cbrt (cos k)) (sin k)) (* (/ (/ l t) (sin k)) l)))
97.0ms
(/ (/ l t) (sin k))

simplify7.8s

Counts
104 → 139
Calls
104 calls:
Slowest
413.0ms
(+ (log (/ 2 (/ (pow k 2) (* (cbrt (cos k)) (cbrt (cos k)))))) (+ (- (log (cbrt (cos k))) (log (sin k))) (log (* (/ (/ l t) (sin k)) l))))
403.0ms
(* 2 (* (cbrt (cos k)) (* (/ (/ l t) (sin k)) l)))
380.0ms
(* 2 (/ (* (pow l 2) (cos k)) (* t (* (pow k 2) (pow (sin k) 2)))))
357.0ms
(* (* (* (/ 2 (/ (pow k 2) (* (cbrt (cos k)) (cbrt (cos k))))) (/ 2 (/ (pow k 2) (* (cbrt (cos k)) (cbrt (cos k)))))) (/ 2 (/ (pow k 2) (* (cbrt (cos k)) (cbrt (cos k)))))) (* (* (* (/ (cbrt (cos k)) (sin k)) (/ (cbrt (cos k)) (sin k))) (/ (cbrt (cos k)) (sin k))) (* (* (* (/ (/ l t) (sin k)) l) (* (/ (/ l t) (sin k)) l)) (* (/ (/ l t) (sin k)) l))))
331.0ms
(* 2 (* (/ 1 (pow k 2)) (pow (pow (cos k) 2) 1/3)))

prune2.2s

Pruning

14 alts after pruning (14 fresh and 0 done)

Merged error: 7.1b

regimes401.0ms

Accuracy

0% (7.5b remaining)

Error of 16.8b against oracle of 9.4b and baseline of 16.8b

bsearch2.0ms

end0.0ms

sample41.8s

Algorithm
intervals