Average Error: 47.4 → 0.4
Time: 2.4m
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{1}{\frac{\tan k}{\frac{\ell}{k}} \cdot t} \cdot \left(\frac{\ell}{k} \cdot \frac{2}{\sin k}\right)\]

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

    \[\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. Initial simplification30.6

    \[\leadsto \frac{\frac{\frac{2}{t} \cdot \left(\frac{\ell}{t} \cdot \frac{\ell}{t}\right)}{\sin k \cdot \tan k}}{\frac{k}{t} \cdot \frac{k}{t}}\]
  3. Using strategy rm
  4. Applied times-frac30.5

    \[\leadsto \frac{\color{blue}{\frac{\frac{2}{t}}{\sin k} \cdot \frac{\frac{\ell}{t} \cdot \frac{\ell}{t}}{\tan k}}}{\frac{k}{t} \cdot \frac{k}{t}}\]
  5. Applied times-frac20.4

    \[\leadsto \color{blue}{\frac{\frac{\frac{2}{t}}{\sin k}}{\frac{k}{t}} \cdot \frac{\frac{\frac{\ell}{t} \cdot \frac{\ell}{t}}{\tan k}}{\frac{k}{t}}}\]
  6. Simplified19.8

    \[\leadsto \color{blue}{\frac{\frac{2}{k}}{\sin k}} \cdot \frac{\frac{\frac{\ell}{t} \cdot \frac{\ell}{t}}{\tan k}}{\frac{k}{t}}\]
  7. Using strategy rm
  8. Applied *-un-lft-identity19.8

    \[\leadsto \frac{\frac{2}{k}}{\sin k} \cdot \frac{\frac{\frac{\ell}{t} \cdot \frac{\ell}{t}}{\tan k}}{\color{blue}{1 \cdot \frac{k}{t}}}\]
  9. Applied *-un-lft-identity19.8

    \[\leadsto \frac{\frac{2}{k}}{\sin k} \cdot \frac{\frac{\frac{\ell}{t} \cdot \frac{\ell}{t}}{\color{blue}{1 \cdot \tan k}}}{1 \cdot \frac{k}{t}}\]
  10. Applied times-frac18.8

    \[\leadsto \frac{\frac{2}{k}}{\sin k} \cdot \frac{\color{blue}{\frac{\frac{\ell}{t}}{1} \cdot \frac{\frac{\ell}{t}}{\tan k}}}{1 \cdot \frac{k}{t}}\]
  11. Applied times-frac12.8

    \[\leadsto \frac{\frac{2}{k}}{\sin k} \cdot \color{blue}{\left(\frac{\frac{\frac{\ell}{t}}{1}}{1} \cdot \frac{\frac{\frac{\ell}{t}}{\tan k}}{\frac{k}{t}}\right)}\]
  12. Applied associate-*r*11.4

    \[\leadsto \color{blue}{\left(\frac{\frac{2}{k}}{\sin k} \cdot \frac{\frac{\frac{\ell}{t}}{1}}{1}\right) \cdot \frac{\frac{\frac{\ell}{t}}{\tan k}}{\frac{k}{t}}}\]
  13. Simplified7.0

    \[\leadsto \left(\frac{\frac{2}{k}}{\sin k} \cdot \frac{\frac{\frac{\ell}{t}}{1}}{1}\right) \cdot \color{blue}{\frac{\frac{\ell}{k}}{\tan k}}\]
  14. Using strategy rm
  15. Applied associate-*r/7.0

    \[\leadsto \color{blue}{\frac{\frac{\frac{2}{k}}{\sin k} \cdot \frac{\frac{\ell}{t}}{1}}{1}} \cdot \frac{\frac{\ell}{k}}{\tan k}\]
  16. Applied associate-*l/7.0

    \[\leadsto \color{blue}{\frac{\left(\frac{\frac{2}{k}}{\sin k} \cdot \frac{\frac{\ell}{t}}{1}\right) \cdot \frac{\frac{\ell}{k}}{\tan k}}{1}}\]
  17. Simplified0.4

    \[\leadsto \frac{\color{blue}{\frac{\frac{\ell}{k} \cdot \frac{2}{\sin k}}{\frac{\tan k}{\frac{\ell}{k}} \cdot t}}}{1}\]
  18. Using strategy rm
  19. Applied div-inv0.4

    \[\leadsto \frac{\color{blue}{\left(\frac{\ell}{k} \cdot \frac{2}{\sin k}\right) \cdot \frac{1}{\frac{\tan k}{\frac{\ell}{k}} \cdot t}}}{1}\]
  20. Final simplification0.4

    \[\leadsto \frac{1}{\frac{\tan k}{\frac{\ell}{k}} \cdot t} \cdot \left(\frac{\ell}{k} \cdot \frac{2}{\sin k}\right)\]

Reproduce

herbie shell --seed 2018360 +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.4m)Debug log

start2.1s

Algorithm
intervals

setup166.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 33.4b

localize51.0ms

Local error

Found 4 expressions with local error:

31.5b
(/ (/ (* (/ 2 t) (* (/ l t) (/ l t))) (* (sin k) (tan k))) (* (/ k t) (/ k t)))
2.9b
(/ (* (/ 2 t) (* (/ l t) (/ l t))) (* (sin k) (tan k)))
2.7b
(* (/ 2 t) (* (/ l t) (/ l t)))
0.3b
(* (sin k) (tan k))

rewrite92.0ms

Algorithm
rewrite-expression-head
Counts
4 → 140
Calls

4 calls. Slowest were:

32.0ms
(/ (/ (* (/ 2 t) (* (/ l t) (/ l t))) (* (sin k) (tan k))) (* (/ k t) (/ k t)))
28.0ms
(/ (* (/ 2 t) (* (/ l t) (/ l t))) (* (sin k) (tan k)))
16.0ms
(* (/ 2 t) (* (/ l t) (/ l t)))

series647.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

329.0ms
(/ (/ (* (/ 2 t) (* (/ l t) (/ l t))) (* (sin k) (tan k))) (* (/ k t) (/ k t)))
233.0ms
(/ (* (/ 2 t) (* (/ l t) (/ l t))) (* (sin k) (tan k)))
49.0ms
(* (sin k) (tan k))
35.0ms
(* (/ 2 t) (* (/ l t) (/ l t)))

simplify28.4s

Counts
110 → 152
Calls

110 calls. Slowest were:

1.2s
(/ (/ (* (* (* (/ 2 t) (* (/ l t) (/ l t))) (* (/ 2 t) (* (/ l t) (/ l t)))) (* (/ 2 t) (* (/ l t) (/ l t)))) (* (* (* (sin k) (sin k)) (sin k)) (* (* (tan k) (tan k)) (tan k)))) (* (* (* (/ k t) (/ k t)) (/ k t)) (* (* (/ k t) (/ k t)) (/ k t))))
1.1s
(/ (/ (* (* (* (/ 2 t) (/ 2 t)) (/ 2 t)) (* (* (* (/ l t) (/ l t)) (/ l t)) (* (* (/ l t) (/ l t)) (/ l t)))) (* (* (* (sin k) (sin k)) (sin k)) (* (* (tan k) (tan k)) (tan k)))) (* (* (* (/ k t) (/ k t)) (* (/ k t) (/ k t))) (* (/ k t) (/ k t))))
1.1s
(/ (/ (* (* (* (/ 2 t) (/ 2 t)) (/ 2 t)) (* (* (* (/ l t) (/ l t)) (* (/ l t) (/ l t))) (* (/ l t) (/ l t)))) (* (* (* (sin k) (sin k)) (sin k)) (* (* (tan k) (tan k)) (tan k)))) (* (* (* (/ k t) (/ k t)) (* (/ k t) (/ k t))) (* (/ k t) (/ k t))))

prune2.5s

Pruning

14 alts after pruning (14 fresh and 0 done)

Merged error: 12.3b

localize17.0ms

Local error

Found 4 expressions with local error:

18.6b
(/ (/ (* (/ l t) (/ l t)) (tan k)) (/ k t))
6.3b
(* (/ (/ 2 k) (sin k)) (/ (/ (* (/ l t) (/ l t)) (tan k)) (/ k t)))
2.4b
(/ (* (/ l t) (/ l t)) (tan k))
0.3b
(/ (/ 2 k) (sin k))

rewrite67.0ms

Algorithm
rewrite-expression-head
Counts
4 → 208
Calls

4 calls. Slowest were:

24.0ms
(* (/ (/ 2 k) (sin k)) (/ (/ (* (/ l t) (/ l t)) (tan k)) (/ k t)))
17.0ms
(/ (/ (* (/ l t) (/ l t)) (tan k)) (/ k t))
13.0ms
(/ (* (/ l t) (/ l t)) (tan k))

series577.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

208.0ms
(/ (/ (* (/ l t) (/ l t)) (tan k)) (/ k t))
198.0ms
(* (/ (/ 2 k) (sin k)) (/ (/ (* (/ l t) (/ l t)) (tan k)) (/ k t)))
125.0ms
(/ (* (/ l t) (/ l t)) (tan k))
45.0ms
(/ (/ 2 k) (sin k))

simplify23.2s

Counts
215 → 220
Calls

215 calls. Slowest were:

672.0ms
(/ (* (* (* (/ l t) (/ l t)) (* (/ l t) (/ l t))) (* (/ l t) (/ l t))) (* (* (tan k) (tan k)) (tan k)))
604.0ms
(/ (/ (* (/ l t) (/ l t)) (tan k)) (/ k t))
557.0ms
(* (/ (/ 2 k) (sin k)) (/ (/ (* (/ l t) (/ l t)) (tan k)) (/ k t)))

prune3.9s

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 5.2b

localize30.0ms

Local error

Found 4 expressions with local error:

7.6b
(* (/ (/ 2 k) (sin k)) (/ (/ (/ l t) 1) 1))
0.3b
(/ (/ 2 k) (sin k))
0.3b
(/ (/ l k) (tan k))
0.2b
(* (* (/ (/ 2 k) (sin k)) (/ (/ (/ l t) 1) 1)) (/ (/ l k) (tan k)))

rewrite37.0ms

Algorithm
rewrite-expression-head
Counts
4 → 156
Calls

4 calls. Slowest were:

18.0ms
(* (* (/ (/ 2 k) (sin k)) (/ (/ (/ l t) 1) 1)) (/ (/ l k) (tan k)))
11.0ms
(* (/ (/ 2 k) (sin k)) (/ (/ (/ l t) 1) 1))
3.0ms
(/ (/ l k) (tan k))

series455.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

185.0ms
(* (* (/ (/ 2 k) (sin k)) (/ (/ (/ l t) 1) 1)) (/ (/ l k) (tan k)))
174.0ms
(/ (/ l k) (tan k))
63.0ms
(* (/ (/ 2 k) (sin k)) (/ (/ (/ l t) 1) 1))
32.0ms
(/ (/ 2 k) (sin k))

simplify11.3s

Counts
144 → 168
Calls

144 calls. Slowest were:

791.0ms
(* (* (* (/ (/ 2 k) (sin k)) (/ (/ 2 k) (sin k))) (/ (/ 2 k) (sin k))) (* (* (/ (/ (/ l t) 1) 1) (/ (/ (/ l t) 1) 1)) (/ (/ (/ l t) 1) 1)))
570.0ms
(* (* (/ (/ 2 k) (sin k)) (/ (/ l t) 1)) (/ (/ l k) (tan k)))
567.0ms
(+ (+ (- (log (/ 2 k)) (log (sin k))) (log (/ (/ (/ l t) 1) 1))) (- (log (/ l k)) (log (tan k))))

prune2.5s

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 0.0b

localize17.0ms

Local error

Found 4 expressions with local error:

4.1b
(* (/ (tan k) (/ l k)) t)
0.4b
(* (/ l k) (/ 2 (sin k)))
0.2b
(/ (tan k) (/ l k))
0.2b
(/ (* (/ l k) (/ 2 (sin k))) (* (/ (tan k) (/ l k)) t))

rewrite31.0ms

Algorithm
rewrite-expression-head
Counts
4 → 110
Calls

4 calls. Slowest were:

18.0ms
(/ (* (/ l k) (/ 2 (sin k))) (* (/ (tan k) (/ l k)) t))
4.0ms
(* (/ (tan k) (/ l k)) t)
3.0ms
(* (/ l k) (/ 2 (sin k)))

series501.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

178.0ms
(/ (* (/ l k) (/ 2 (sin k))) (* (/ (tan k) (/ l k)) t))
145.0ms
(* (/ (tan k) (/ l k)) t)
110.0ms
(* (/ l k) (/ 2 (sin k)))
68.0ms
(/ (tan k) (/ l k))

simplify4.4s

Counts
86 → 122
Calls

86 calls. Slowest were:

628.0ms
(/ (* (* (* (/ l k) (/ l k)) (/ l k)) (* (* (/ 2 (sin k)) (/ 2 (sin k))) (/ 2 (sin k)))) (* (* (* (/ (tan k) (/ l k)) t) (* (/ (tan k) (/ l k)) t)) (* (/ (tan k) (/ l k)) t)))
466.0ms
(/ (* (* (* (/ l k) (/ 2 (sin k))) (* (/ l k) (/ 2 (sin k)))) (* (/ l k) (/ 2 (sin k)))) (* (* (* (/ (tan k) (/ l k)) t) (* (/ (tan k) (/ l k)) t)) (* (/ (tan k) (/ l k)) t)))
442.0ms
(/ (* t (* k (sin k))) (* l (cos k)))

prune1.7s

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 0b

regimes262.0ms

Accuracy

0% (0.4b remaining)

Error of 0.4b against oracle of 0.1b and baseline of 0.4b

bsearch3.0ms