Details

Time bar (total: 8.5s)

analyze1.2s (13.6%)

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.3s (38.9%)

Results
1.2s1079×body2048valid
942.0ms1854×body1024valid
542.0ms4223×body128valid
248.0ms719×body512valid
166.0ms44×body4096valid
81.0ms337×body256valid
28.0ms205×body128invalid
5.0msbody8192exit
3.0msbody2048invalid
Compiler

Compiled 50 to 32 computations (36% saved)

simplify17.0ms (0.2%)

Algorithm
egg-herbie
Rules
297×fma-def_binary64
157×fma-neg_binary64
49×cancel-sign-sub-inv_binary64
37×associate-/l*_binary64
33×sub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01123
12520
25620
313820
423320
537120
649720
763720
880420
9107420
10112820
Stop Event
saturated
Counts
1 → 2

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 88 to 48 computations (45.5% saved)

localize8.0ms (0.1%)

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.3b
(*.f64 (PI.f64) l)
3.8b
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))
30.7b
(tan.f64 (*.f64 (PI.f64) l))

series113.0ms (1.3%)

Counts
4 → 60
Calls

4 calls:

62.0ms
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))
38.0ms
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
11.0ms
(tan.f64 (*.f64 (PI.f64) l))
2.0ms
(*.f64 (PI.f64) l)

rewrite74.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
532×log-prod_binary64
276×fma-def_binary64
197×egg-rr
187×expm1-udef_binary64
187×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0945
120045
2287145
Stop Event
node limit
Counts
4 → 197
Calls

4 calls:

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

simplify50.0ms (0.6%)

Algorithm
egg-herbie
Rules
401×distribute-rgt-neg-in_binary64
398×distribute-lft-neg-in_binary64
304×distribute-neg-frac_binary64
268×fma-neg_binary64
241×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0541516
11611504
25821502
331121497
Stop Event
node limit
Counts
257 → 226

prune365.0ms (4.3%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New22121242
Fresh101
Picked101
Done000
Total22321244
Error
12.6b
Counts
244 → 21
Alt Table
StatusErrorProgram
39.8b
(-.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) l)) 2) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
39.8b
(-.f64 (*.f64 (PI.f64) l) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 2))
13.1b
(-.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)))
27.0b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))))) (log.f64 (sqrt.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l)))))) (*.f64 F F)))
46.3b
(/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 3)) (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2)))
17.1b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
16.7b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) 1) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 F F))))
40.0b
(fma.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
17.4b
(fma.f64 (pow.f64 (cbrt.f64 l) 2) (*.f64 (cbrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
27.5b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (log.f64 (+.f64 1 (expm1.f64 (tan.f64 (*.f64 (PI.f64) l))))) (*.f64 F F)))
12.8b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F)))
27.6b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (expm1.f64 (log1p.f64 (*.f64 (PI.f64) l)))) (*.f64 F F)))
20.5b
(-.f64 (*.f64 (PI.f64) l) (expm1.f64 (log1p.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))))
20.7b
(-.f64 (*.f64 (PI.f64) l) (*.f64 l (/.f64 (PI.f64) (*.f64 F F))))
25.9b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (sqrt.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2)) (*.f64 F F)))
38.8b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3))) (*.f64 F F)))
16.8b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3)) (*.f64 F F)))
40.5b
(exp.f64 (log.f64 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)) (*.f64 (PI.f64) l))))
27.0b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l)))) (cbrt.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l)))))) (log.f64 (cbrt.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l)))))) (*.f64 F F)))
44.7b
(*.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (/.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2) (pow.f64 F 4))) (/.f64 1 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l))))
36.4b
(fma.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 2)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
Compiler

Compiled 6622 to 2899 computations (56.2% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series89.0ms (1%)

Counts
2 → 48
Calls

2 calls:

48.0ms
(*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F))
41.0ms
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)

rewrite47.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
524×log-prod_binary64
186×pow1/3_binary64
179×expm1-udef_binary64
179×log1p-udef_binary64
169×pow3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01023
120723
2270323
Stop Event
node limit
Counts
2 → 98
Calls

2 calls:

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

simplify38.0ms (0.4%)

Algorithm
egg-herbie
Rules
801×fma-def_binary64
774×associate-/r/_binary64
694×associate-/l/_binary64
238×times-frac_binary64
206×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0491130
11381122
24341118
322651118
Stop Event
node limit
Counts
146 → 117

prune406.0ms (4.7%)

Pruning

24 alts after pruning (24 fresh and 0 done)

PrunedKeptTotal
New17110181
Fresh61420
Picked101
Done000
Total17824202
Error
12.5b
Counts
202 → 24
Alt Table
StatusErrorProgram
13.1b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 2) (/.f64 F (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))))
25.9b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (sqrt.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2)) (*.f64 F F)))
13.2b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (tan.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3)) F) (/.f64 1 F)))
12.8b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 F) (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))
39.8b
(-.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) l)) 2) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
19.8b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) 3)) (/.f64 1 F)))
27.0b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l)))) (cbrt.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l)))))) (log.f64 (cbrt.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l)))))) (*.f64 F F)))
21.5b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (sqrt.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) 2)) (/.f64 1 F)))
46.3b
(/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 3)) (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2)))
17.1b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
44.7b
(*.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (/.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2) (pow.f64 F 4))) (/.f64 1 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l))))
39.4b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (tan.f64 (exp.f64 (log.f64 (*.f64 (PI.f64) l)))) F) (/.f64 1 F)))
28.2b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (pow.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) 3) 1/3) (/.f64 1 F)))
36.4b
(fma.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 2)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
17.4b
(fma.f64 (pow.f64 (cbrt.f64 l) 2) (*.f64 (cbrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
27.5b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (log.f64 (+.f64 1 (expm1.f64 (tan.f64 (*.f64 (PI.f64) l))))) (*.f64 F F)))
38.6b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (tan.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3))) F) (/.f64 1 F)))
20.5b
(-.f64 (*.f64 (PI.f64) l) (expm1.f64 (log1p.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))))
20.7b
(-.f64 (*.f64 (PI.f64) l) (*.f64 l (/.f64 (PI.f64) (*.f64 F F))))
16.8b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3)) (*.f64 F F)))
40.5b
(exp.f64 (log.f64 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)) (*.f64 (PI.f64) l))))
15.3b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) (/.f64 1 F)))
16.8b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (*.f64 l (/.f64 (PI.f64) F)) (/.f64 1 F)))
40.0b
(fma.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
Compiler

Compiled 4546 to 2093 computations (54% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series114.0ms (1.3%)

Counts
2 → 48
Calls

2 calls:

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

rewrite49.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
569×log-prod_binary64
187×expm1-udef_binary64
187×log1p-udef_binary64
172×log-pow_binary64
150×log-div_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01026
121323
2291123
Stop Event
node limit
Counts
2 → 82
Calls

2 calls:

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

simplify44.0ms (0.5%)

Algorithm
egg-herbie
Rules
515×distribute-rgt-neg-in_binary64
430×unswap-sqr_binary64
382×associate-*r*_binary64
376×associate-*l*_binary64
325×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0621112
11801106
26141102
335461098
Stop Event
node limit
Counts
130 → 101

prune231.0ms (2.7%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New1605165
Fresh131023
Picked101
Done000
Total17415189
Error
2.9b
Counts
189 → 15
Alt Table
StatusErrorProgram
3.4b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 F) (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 (pow.f64 l 3) -1/45))) (*.f64 (pow.f64 (PI.f64) 5) (*.f64 (*.f64 F (pow.f64 l 5)) -2/945))))))
46.3b
(/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 3)) (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2)))
13.4b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3) (/.f64 (/.f64 1 F) (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))
44.7b
(*.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (/.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2) (pow.f64 F 4))) (/.f64 1 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l))))
38.6b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (tan.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3))) F) (/.f64 1 F)))
13.0b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 F) (pow.f64 (cbrt.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) 3)))
17.4b
(fma.f64 (pow.f64 (cbrt.f64 l) 2) (*.f64 (cbrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
13.1b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 2) (/.f64 F (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))))
3.4b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 F) (-.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))))))))
12.8b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 F) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))
39.8b
(-.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) l)) 2) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
19.8b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) 3)) (/.f64 1 F)))
40.0b
(fma.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
36.4b
(fma.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 2)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
20.7b
(-.f64 (*.f64 (PI.f64) l) (*.f64 l (/.f64 (PI.f64) (*.f64 F F))))
Compiler

Compiled 4108 to 1910 computations (53.5% saved)

localize27.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(pow.f64 (PI.f64) 5)
1.3b
(/.f64 (/.f64 1 F) (-.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)))))))
2.3b
(*.f64 (pow.f64 l 5) F)
4.3b
(*.f64 (pow.f64 l 3) F)

series283.0ms (3.3%)

Counts
4 → 48
Calls

4 calls:

260.0ms
(/.f64 (/.f64 1 F) (-.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)))))))
14.0ms
(*.f64 (pow.f64 l 5) F)
10.0ms
(*.f64 (pow.f64 l 3) F)
0.0ms
(pow.f64 (PI.f64) 5)

rewrite39.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
315×log1p-expm1-u_binary64
315×expm1-log1p-u_binary64
313×add-cbrt-cube_binary64
304×add-log-exp_binary64
303×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03080
167874
Stop Event
node limit
Counts
4 → 56
Calls

4 calls:

38.0ms
(pow.f64 (PI.f64) 5)
38.0ms
(/.f64 (/.f64 1 F) (-.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)))))))
38.0ms
(*.f64 (pow.f64 l 5) F)
38.0ms
(*.f64 (pow.f64 l 3) F)

simplify38.0ms (0.4%)

Algorithm
egg-herbie
Rules
549×associate-/r*_binary64
434×associate-*l*_binary64
396×associate-*r*_binary64
258×times-frac_binary64
187×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0871422
12581416
29431408
Stop Event
node limit
Counts
104 → 78

prune153.0ms (1.8%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New77178
Fresh11314
Picked101
Done000
Total791493
Error
0.3b
Counts
93 → 14
Alt Table
StatusErrorProgram
39.8b
(-.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) l)) 2) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
0.8b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 F) (-.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) (log.f64 (pow.f64 (exp.f64 (pow.f64 l 5)) F)))) (*.f64 1/45 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 (pow.f64 l 3) F))))))))
13.4b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3) (/.f64 (/.f64 1 F) (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))
44.7b
(*.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (/.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2) (pow.f64 F 4))) (/.f64 1 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l))))
38.6b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (tan.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3))) F) (/.f64 1 F)))
13.0b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 F) (pow.f64 (cbrt.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) 3)))
17.4b
(fma.f64 (pow.f64 (cbrt.f64 l) 2) (*.f64 (cbrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
13.1b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 2) (/.f64 F (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))))
12.8b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 F) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))
19.8b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) 3)) (/.f64 1 F)))
46.3b
(/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 3)) (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2)))
40.0b
(fma.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
36.4b
(fma.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 2)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
20.7b
(-.f64 (*.f64 (PI.f64) l) (*.f64 l (/.f64 (PI.f64) (*.f64 F F))))
Compiler

Compiled 3811 to 2185 computations (42.7% saved)

regimes1.6s (18.7%)

Accuracy

Total 0.4b remaining (57.4%)

Threshold costs 0.4b (57.4%)

Counts
198 → 1
Compiler

Compiled 30505 to 19728 computations (35.3% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
28×*-commutative_binary64
23×+-commutative_binary64
21×sub-neg_binary64
19×neg-sub0_binary64
19×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03376
15076
26376
38876
412476
515976
618776
720576
821376
921476
Stop Event
saturated

end248.0ms (2.9%)

Compiler

Compiled 430 to 277 computations (35.6% saved)

Profiling

Loading profile data...