Details

Time bar (total: 8.9s)

analyze1.1s (12%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
18.7%81.2%0.1%7
18.7%81.2%0.1%8
29.7%69.5%0.9%9
30.4%67.9%1.7%10
36.3%61.1%2.6%11
36.9%59.5%3.6%12
39.9%55.9%4.2%13
40.2%54.9%4.9%14
Compiler

Compiled 17 to 11 computations (35.3% saved)

sample3.6s (40.2%)

Results
1.3s1061×body2048valid
961.0ms1845×body1024valid
537.0ms4192×body128valid
278.0ms760×body512valid
237.0ms64×body4096valid
80.0ms334×body256valid
29.0ms196×body128invalid
5.0msbody2048invalid
3.0msbody8192exit
Compiler

Compiled 50 to 32 computations (36% saved)

simplify22.0ms (0.2%)

Algorithm
egg-herbie
Rules
297×fma-def_binary64
157×fma-neg_binary64
50×cancel-sign-sub-inv_binary64
37×associate-/l*_binary64
33×sub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01123
12520
25020
312120
418120
524720
632120
738420
847020
948320
1050920
1146220

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
16.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
16.1b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l))))
16.1b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
Compiler

Compiled 88 to 48 computations (45.5% saved)

localize49.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
0.2b
(*.f64 (PI.f64) l)
4.5b
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))
30.8b
(tan.f64 (*.f64 (PI.f64) l))

series104.0ms (1.2%)

Counts
4 → 60
Calls

4 calls:

52.0ms
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))
36.0ms
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
12.0ms
(tan.f64 (*.f64 (PI.f64) l))
3.0ms
(*.f64 (PI.f64) l)

rewrite85.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
532×log-prod_binary64
276×fma-def_binary64
197×egg-rr
187×expm1-udef_binary64
187×log1p-udef_binary64
Counts
4 → 197
Calls

4 calls:

80.0ms
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
80.0ms
(*.f64 (PI.f64) l)
80.0ms
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))
80.0ms
(tan.f64 (*.f64 (PI.f64) l))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0945
120045
2268945
3507045

simplify69.0ms (0.8%)

Algorithm
egg-herbie
Rules
533×associate-/l/_binary64
401×distribute-rgt-neg-in_binary64
398×distribute-lft-neg-in_binary64
305×distribute-neg-frac_binary64
268×fma-neg_binary64
Counts
257 → 226
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0541516
11611504
25701502
326271493
454611493

prune388.0ms (4.3%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New22121242
Fresh101
Picked101
Done000
Total22321244
Error
11.4b
Counts
244 → 21
Alt Table
StatusErrorProgram
11.8b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) F) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)))
21.5b
(*.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (pow.f64 F 2))))
26.6b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 l F) (+.f64 (/.f64 (PI.f64) F) (/.f64 (*.f64 1/3 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 l l))) F))))
39.0b
(fma.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (PI.f64)) (neg.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))
39.2b
(-.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
11.6b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F)))
17.0b
(fma.f64 (cbrt.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))) 2) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))) (pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) 2) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))
36.4b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3))) (*.f64 F F)))
16.9b
(fma.f64 (*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l) (neg.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))
16.8b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
35.3b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2))))
16.2b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3)) (*.f64 F F)))
49.2b
(sqrt.f64 (pow.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) 2))
36.0b
(/.f64 1 (/.f64 (fma.f64 (PI.f64) l (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 2))))
36.0b
(*.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 2)) (/.f64 1 (fma.f64 (PI.f64) l (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))
36.1b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) l))) 1)) (*.f64 F F)))
21.2b
(-.f64 (*.f64 (PI.f64) l) (expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))
22.1b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (sqrt.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2)) (*.f64 F F)))
39.0b
(-.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) l)) 2) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
38.9b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) l)) 2)) (*.f64 F F)))
35.9b
(/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 2)) (fma.f64 (PI.f64) l (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))
Compiler

Compiled 6665 to 1873 computations (71.9% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (PI.f64) l)
0.2b
(*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F))
0.2b
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)
30.8b
(tan.f64 (*.f64 (PI.f64) l))

series90.0ms (1%)

Counts
2 → 48
Calls

2 calls:

50.0ms
(*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F))
40.0ms
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)

rewrite54.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
524×log-prod_binary64
259×pow2_binary64
186×pow1/3_binary64
179×expm1-udef_binary64
179×log1p-udef_binary64
Counts
2 → 98
Calls

2 calls:

52.0ms
(*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F))
52.0ms
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01023
120723
2250223
3497223

simplify64.0ms (0.7%)

Algorithm
egg-herbie
Rules
801×fma-def_binary64
775×associate-/r/_binary64
699×associate-/l/_binary64
535×unswap-sqr_binary64
238×times-frac_binary64
Counts
146 → 116
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0491130
11381122
24231118
318941118
449341118
555861118

prune447.0ms (5%)

Pruning

23 alts after pruning (23 fresh and 0 done)

PrunedKeptTotal
New1728180
Fresh51520
Picked101
Done000
Total17823201
Error
11.4b
Counts
201 → 23
Alt Table
StatusErrorProgram
21.1b
(-.f64 (*.f64 (PI.f64) l) (sqrt.f64 (pow.f64 (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F) 2)))
11.6b
(-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))))
26.6b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 l F) (+.f64 (/.f64 (PI.f64) F) (/.f64 (*.f64 1/3 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 l l))) F))))
39.0b
(fma.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (PI.f64)) (neg.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))
11.7b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (/.f64 1 F)) (/.f64 1 F)))
39.2b
(-.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
17.0b
(fma.f64 (cbrt.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))) 2) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))) (pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) 2) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))
17.7b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (sqrt.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) 2)) (/.f64 1 F)))
36.4b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3))) (*.f64 F F)))
16.9b
(fma.f64 (*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l) (neg.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))
15.8b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) (/.f64 1 F)))
29.5b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (pow.f64 (/.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3) (pow.f64 F 3)) 1/3) (/.f64 1 F)))
37.4b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (tan.f64 (exp.f64 (log.f64 (*.f64 (PI.f64) l)))) F) (/.f64 1 F)))
49.2b
(sqrt.f64 (pow.f64 (-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) 2))
16.2b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3)) (*.f64 F F)))
36.0b
(/.f64 1 (/.f64 (fma.f64 (PI.f64) l (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 2))))
36.0b
(*.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 2)) (/.f64 1 (fma.f64 (PI.f64) l (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))
36.1b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) l))) 1)) (*.f64 F F)))
11.6b
(-.f64 (*.f64 (PI.f64) l) (/.f64 1 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) F)))
39.0b
(-.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) l)) 2) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
38.9b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) l)) 2)) (*.f64 F F)))
16.8b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
35.9b
(/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 2)) (fma.f64 (PI.f64) l (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))
Compiler

Compiled 4539 to 1991 computations (56.1% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (PI.f64) l)
0.3b
(/.f64 F (tan.f64 (*.f64 (PI.f64) l)))
0.5b
(/.f64 1 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) F))
30.8b
(tan.f64 (*.f64 (PI.f64) l))

series119.0ms (1.3%)

Counts
2 → 48
Calls

2 calls:

66.0ms
(/.f64 F (tan.f64 (*.f64 (PI.f64) l)))
52.0ms
(/.f64 1 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) F))

rewrite56.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
530×log-prod_binary64
265×pow2_binary64
188×pow1/3_binary64
183×expm1-udef_binary64
183×log1p-udef_binary64
Counts
2 → 68
Calls

2 calls:

55.0ms
(/.f64 F (tan.f64 (*.f64 (PI.f64) l)))
55.0ms
(/.f64 1 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) F))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01026
120723
2253023
3502323

simplify53.0ms (0.6%)

Algorithm
egg-herbie
Rules
515×distribute-rgt-neg-in_binary64
497×distribute-lft-neg-in_binary64
430×unswap-sqr_binary64
383×associate-*r*_binary64
383×associate-*l*_binary64
Counts
116 → 86
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0621112
11651106
25841102
328391098
450041098

prune224.0ms (2.5%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New1455150
Fresh13922
Picked101
Done000
Total15914173
Error
1.3b
Counts
173 → 14
Alt Table
StatusErrorProgram
16.1b
(-.f64 (*.f64 (PI.f64) l) (/.f64 1 (*.f64 (*.f64 (cbrt.f64 (*.f64 F F)) (*.f64 (cbrt.f64 F) (/.f64 1 (tan.f64 (*.f64 (PI.f64) l))))) F)))
11.6b
(-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))))
34.7b
(-.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3)) (/.f64 1 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) F)))
1.4b
(-.f64 (*.f64 (PI.f64) l) (/.f64 1 (*.f64 (-.f64 (/.f64 F (*.f64 (PI.f64) l)) (+.f64 (*.f64 1/3 (*.f64 (PI.f64) (*.f64 F l))) (+.f64 (*.f64 2/945 (*.f64 (pow.f64 (PI.f64) 5) (*.f64 (pow.f64 l 5) F))) (*.f64 1/45 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 (pow.f64 l 3) F)))))) F)))
26.6b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 l F) (+.f64 (/.f64 (PI.f64) F) (/.f64 (*.f64 1/3 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 l l))) F))))
39.0b
(fma.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (PI.f64)) (neg.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))
36.0b
(/.f64 1 (/.f64 (fma.f64 (PI.f64) l (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 2))))
36.0b
(*.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 2)) (/.f64 1 (fma.f64 (PI.f64) l (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))
1.4b
(-.f64 (*.f64 (PI.f64) l) (/.f64 1 (*.f64 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45))) (*.f64 F (*.f64 (pow.f64 l 5) (*.f64 (pow.f64 (PI.f64) 5) -2/945))))) F)))
16.9b
(fma.f64 (*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l) (neg.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))
39.0b
(-.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) l)) 2) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
11.6b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 F) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))
16.8b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
35.9b
(/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 2)) (fma.f64 (PI.f64) l (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))
Compiler

Compiled 3745 to 1638 computations (56.3% saved)

localize24.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(pow.f64 (PI.f64) 3)
1.0b
(pow.f64 (PI.f64) 5)
1.5b
(*.f64 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45))) (*.f64 F (*.f64 (pow.f64 l 5) (*.f64 (pow.f64 (PI.f64) 5) -2/945))))) F)
4.2b
(*.f64 F (*.f64 (pow.f64 l 5) (*.f64 (pow.f64 (PI.f64) 5) -2/945)))

series162.0ms (1.8%)

Counts
4 → 48
Calls

4 calls:

115.0ms
(*.f64 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45))) (*.f64 F (*.f64 (pow.f64 l 5) (*.f64 (pow.f64 (PI.f64) 5) -2/945))))) F)
46.0ms
(*.f64 F (*.f64 (pow.f64 l 5) (*.f64 (pow.f64 (PI.f64) 5) -2/945)))
0.0ms
(pow.f64 (PI.f64) 5)
0.0ms
(pow.f64 (PI.f64) 3)

rewrite69.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
251×add-sqr-sqrt_binary64
240×log1p-expm1-u_binary64
240×expm1-log1p-u_binary64
234×add-cbrt-cube_binary64
233×add-log-exp_binary64
Counts
4 → 57
Calls

4 calls:

68.0ms
(pow.f64 (PI.f64) 3)
68.0ms
(pow.f64 (PI.f64) 5)
68.0ms
(*.f64 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45))) (*.f64 F (*.f64 (pow.f64 l 5) (*.f64 (pow.f64 (PI.f64) 5) -2/945))))) F)
68.0ms
(*.f64 F (*.f64 (pow.f64 l 5) (*.f64 (pow.f64 (PI.f64) 5) -2/945)))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02482
152173
2495173
3483873

simplify65.0ms (0.7%)

Algorithm
egg-herbie
Rules
859×distribute-rgt-neg-in_binary64
707×associate-*l*_binary64
589×unswap-sqr_binary64
535×associate-*r*_binary64
258×fma-def_binary64
Counts
105 → 76
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0701509
11791509
26881465
333211465
454081465

prune156.0ms (1.7%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New75176
Fresh11213
Picked101
Done000
Total771390
Error
0.8b
Counts
90 → 13
Alt Table
StatusErrorProgram
16.1b
(-.f64 (*.f64 (PI.f64) l) (/.f64 1 (*.f64 (*.f64 (cbrt.f64 (*.f64 F F)) (*.f64 (cbrt.f64 F) (/.f64 1 (tan.f64 (*.f64 (PI.f64) l))))) F)))
11.6b
(-.f64 (*.f64 (PI.f64) l) (/.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))))
34.7b
(-.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3)) (/.f64 1 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) F)))
26.6b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 l F) (+.f64 (/.f64 (PI.f64) F) (/.f64 (*.f64 1/3 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 l l))) F))))
39.0b
(fma.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (PI.f64)) (neg.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))
1.0b
(-.f64 (*.f64 (PI.f64) l) (/.f64 1 (*.f64 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45))) (log1p.f64 (expm1.f64 (*.f64 F (*.f64 (pow.f64 (*.f64 l (PI.f64)) 5) -2/945)))))) F)))
35.9b
(/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 2)) (fma.f64 (PI.f64) l (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))
36.0b
(/.f64 1 (/.f64 (fma.f64 (PI.f64) l (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 2))))
36.0b
(*.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 2)) (/.f64 1 (fma.f64 (PI.f64) l (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))
16.9b
(fma.f64 (*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l) (neg.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))
39.0b
(-.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) l)) 2) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
11.6b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 F) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))
16.8b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
Compiler

Compiled 3385 to 1938 computations (42.7% saved)

regimes1.7s (19%)

Accuracy

Total 0.6b remaining (33.4%)

Threshold costs 0.6b (33.4%)

Counts
208 → 1
Compiler

Compiled 31644 to 19703 computations (37.7% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
distribute-neg-frac_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02866
13866
24466
34666
44766
54566

end242.0ms (2.7%)

Compiler

Compiled 395 to 239 computations (39.5% saved)

Profiling

Loading profile data...