Details

Time bar (total: 9.8s)

analyze1.5s (15.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
12.5%87.3%0.2%9
18.7%81.1%0.2%10
21.8%67.1%11.1%11
21.8%67.1%11.1%12
32.7%56.1%11.1%13
35.1%53%11.9%14
Compiler

Compiled 20 to 15 computations (25% saved)

sample5.4s (54.7%)

Results
1.4s2001×body1024invalid
1.3s1678×body1024valid
793.0ms4619×body128valid
570.0ms1214×body512valid
446.0ms2654×body128invalid
407.0ms969×body512invalid
200.0ms669×body256valid
143.0ms482×body256invalid
83.0ms76×body2048valid
Compiler

Compiled 59 to 44 computations (25.4% saved)

simplify66.0ms (0.7%)

Algorithm
egg-herbie
Rules
745×fma-def_binary64
657×div-sub_binary64
464×fma-neg_binary64
424×times-frac_binary64
411×associate-/l*_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01522
12922
25322
310522
423322
554022
6124222
7224222
8350122
9449022
10497622

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
17.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
17.1b
(fma.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2)) U)
Compiler

Compiled 69 to 44 computations (36.2% saved)

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
0.0b
(fma.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2)) U)
6.7b
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))

series45.0ms (0.5%)

Counts
3 → 80
Calls

3 calls:

33.0ms
(fma.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2)) U)
10.0ms
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
2.0ms
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))

rewrite79.0ms (0.8%)

Algorithm
batch-egg-rewrite
egg-rewrite
Rules
151×add-sqr-sqrt_binary64
141×log1p-expm1-u_binary64
141×expm1-log1p-u_binary64
140×add-log-exp_binary64
138×add-cbrt-cube_binary64
Counts
3 → 0
Calls

3 calls:

78.0ms
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
78.0ms
(fma.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2)) U)
78.0ms
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01418
129518
23318
066
11306
2716
01418
129518
23318
089
11699
2739
000
100

simplify117.0ms (1.2%)

Algorithm
egg-herbie
Rules
921×fma-def_binary64
524×associate-*l*_binary64
430×sub-neg_binary64
401×associate-*r*_binary64
288×associate-+l+_binary64
Counts
80 → 44
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01422023
13671649
211811604
345101604
448091604
549621604
649331604

prune49.0ms (0.5%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New40444
Fresh000
Picked011
Done000
Total40545
Error
0.0b
Counts
45 → 5
Alt Table
StatusErrorProgram
17.1b
(fma.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2)) U)
1.1b
(fma.f64 (*.f64 J (cos.f64 (*.f64 1/2 K))) (fma.f64 2 l (*.f64 1/3 (pow.f64 l 3))) U)
60.0b
(*.f64 (-.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (exp.f64 l)) (*.f64 (exp.f64 (neg.f64 l)) (cos.f64 (*.f64 1/2 K)))) J)
0.7b
(fma.f64 (*.f64 J (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))) (cos.f64 (/.f64 K 2)) U)
28.9b
(-.f64 (+.f64 U (*.f64 (exp.f64 l) J)) (*.f64 (exp.f64 (neg.f64 l)) J))
Compiler

Compiled 1231 to 746 computations (39.4% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 1/2520 (pow.f64 l 7) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))
0.1b
(fma.f64 (*.f64 J (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))) (cos.f64 (/.f64 K 2)) U)
0.1b
(*.f64 1/60 (pow.f64 l 5))
0.1b
(fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))

series150.0ms (1.5%)

Counts
4 → 72
Calls

4 calls:

140.0ms
(fma.f64 (*.f64 J (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))) (cos.f64 (/.f64 K 2)) U)
4.0ms
(fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))
3.0ms
(fma.f64 1/2520 (pow.f64 l 7) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))
3.0ms
(*.f64 1/60 (pow.f64 l 5))

rewrite68.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
233×add-sqr-sqrt_binary64
222×log1p-expm1-u_binary64
222×expm1-log1p-u_binary64
219×add-log-exp_binary64
218×add-cbrt-cube_binary64
Counts
4 → 77
Calls

4 calls:

66.0ms
(fma.f64 1/2520 (pow.f64 l 7) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))
66.0ms
(fma.f64 (*.f64 J (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))) (cos.f64 (/.f64 K 2)) U)
66.0ms
(*.f64 1/60 (pow.f64 l 5))
66.0ms
(fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02383
148783
2479683
3479583
000
100

simplify91.0ms (0.9%)

Algorithm
egg-herbie
Rules
876×sub-neg_binary64
485×+-commutative_binary64
485×*-commutative_binary64
406×associate--l+_binary64
348×associate--r+_binary64
Counts
149 → 121
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01633313
14982676
219022222
345432222
454862222

prune185.0ms (1.9%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1165121
Fresh123
Picked011
Done011
Total1179126
Error
0.0b
Counts
126 → 9
Alt Table
StatusErrorProgram
8.6b
(fma.f64 (*.f64 J (cbrt.f64 (pow.f64 (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))))) 3))) (cos.f64 (/.f64 K 2)) U)
0.7b
(+.f64 U (*.f64 J (*.f64 (cos.f64 (*.f64 1/2 K)) (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 l 2 (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))))))))
35.0b
(pow.f64 (sqrt.f64 (fma.f64 (*.f64 J (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))) (cos.f64 (/.f64 K 2)) U)) 2)
0.7b
(+.f64 (*.f64 1/2520 (*.f64 (pow.f64 l 7) (*.f64 J (cos.f64 (*.f64 1/2 K))))) (+.f64 (*.f64 1/60 (*.f64 (pow.f64 l 5) (*.f64 J (cos.f64 (*.f64 1/2 K))))) (+.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 1/2 K))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) (*.f64 J (cos.f64 (*.f64 1/2 K))))) U))))
60.0b
(*.f64 (-.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (exp.f64 l)) (*.f64 (exp.f64 (neg.f64 l)) (cos.f64 (*.f64 1/2 K)))) J)
0.7b
(fma.f64 (*.f64 J (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))) (cos.f64 (/.f64 K 2)) U)
2.0b
(pow.f64 (cbrt.f64 (fma.f64 (*.f64 J (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))) (cos.f64 (/.f64 K 2)) U)) 3)
28.9b
(-.f64 (+.f64 U (*.f64 (exp.f64 l) J)) (*.f64 (exp.f64 (neg.f64 l)) J))
17.1b
(fma.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2)) U)
Compiler

Compiled 4673 to 3485 computations (25.4% saved)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 1/60 (pow.f64 l 5))
0.1b
(*.f64 J (*.f64 (cos.f64 (*.f64 1/2 K)) (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 l 2 (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))))
0.1b
(*.f64 (cos.f64 (*.f64 1/2 K)) (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 l 2 (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))))))
0.1b
(fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))

series140.0ms (1.4%)

Counts
2 → 60
Calls

2 calls:

98.0ms
(*.f64 J (*.f64 (cos.f64 (*.f64 1/2 K)) (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 l 2 (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))))
42.0ms
(*.f64 (cos.f64 (*.f64 1/2 K)) (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 l 2 (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))))))

rewrite32.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
228×add-sqr-sqrt_binary64
218×log1p-expm1-u_binary64
218×expm1-log1p-u_binary64
215×add-log-exp_binary64
214×add-cbrt-cube_binary64
Counts
2 → 36
Calls

2 calls:

30.0ms
(*.f64 J (*.f64 (cos.f64 (*.f64 1/2 K)) (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 l 2 (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))))
30.0ms
(*.f64 (cos.f64 (*.f64 1/2 K)) (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 l 2 (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02369
148269
2464969
000
100

simplify67.0ms (0.7%)

Algorithm
egg-herbie
Rules
720×associate--l+_binary64
432×cancel-sign-sub-inv_binary64
357×fma-def_binary64
232×associate-*r*_binary64
212×associate-*l*_binary64
Counts
96 → 87
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02013230
16222548
224402407
352962407

prune247.0ms (2.5%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New1222124
Fresh156
Picked011
Done022
Total12310133
Error
0.0b
Counts
133 → 10
Alt Table
StatusErrorProgram
8.6b
(fma.f64 (*.f64 J (cbrt.f64 (pow.f64 (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))))) 3))) (cos.f64 (/.f64 K 2)) U)
0.7b
(+.f64 U (*.f64 J (*.f64 (cos.f64 (*.f64 1/2 K)) (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 l 2 (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))))))))
17.1b
(fma.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2)) U)
0.7b
(+.f64 U (*.f64 (+.f64 (*.f64 2 l) (+.f64 (*.f64 1/2520 (pow.f64 l 7)) (+.f64 (*.f64 1/60 (pow.f64 l 5)) (*.f64 1/3 (pow.f64 l 3))))) (*.f64 (cos.f64 (*.f64 1/2 K)) J)))
60.0b
(*.f64 (-.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (exp.f64 l)) (*.f64 (exp.f64 (neg.f64 l)) (cos.f64 (*.f64 1/2 K)))) J)
0.7b
(fma.f64 (*.f64 J (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))) (cos.f64 (/.f64 K 2)) U)
1.1b
(+.f64 U (*.f64 J (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 l 2 (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))))))) 3)))
35.0b
(pow.f64 (sqrt.f64 (fma.f64 (*.f64 J (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))) (cos.f64 (/.f64 K 2)) U)) 2)
2.0b
(pow.f64 (cbrt.f64 (fma.f64 (*.f64 J (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))) (cos.f64 (/.f64 K 2)) U)) 3)
28.9b
(-.f64 (+.f64 U (*.f64 (exp.f64 l) J)) (*.f64 (exp.f64 (neg.f64 l)) J))
Compiler

Compiled 4967 to 3739 computations (24.7% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 1/60 (pow.f64 l 5))
0.1b
(*.f64 1/3 (pow.f64 l 3))
0.1b
(*.f64 (+.f64 (*.f64 2 l) (+.f64 (*.f64 1/2520 (pow.f64 l 7)) (+.f64 (*.f64 1/60 (pow.f64 l 5)) (*.f64 1/3 (pow.f64 l 3))))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
0.1b
(*.f64 (cos.f64 (*.f64 1/2 K)) J)

series135.0ms (1.4%)

Counts
3 → 48
Calls

3 calls:

121.0ms
(*.f64 (+.f64 (*.f64 2 l) (+.f64 (*.f64 1/2520 (pow.f64 l 7)) (+.f64 (*.f64 1/60 (pow.f64 l 5)) (*.f64 1/3 (pow.f64 l 3))))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
8.0ms
(*.f64 (cos.f64 (*.f64 1/2 K)) J)
6.0ms
(*.f64 1/3 (pow.f64 l 3))

rewrite62.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
268×log1p-expm1-u_binary64
268×expm1-log1p-u_binary64
259×add-log-exp_binary64
258×add-cbrt-cube_binary64
258×add-exp-log_binary64
Counts
3 → 39
Calls

3 calls:

61.0ms
(*.f64 1/3 (pow.f64 l 3))
61.0ms
(*.f64 (+.f64 (*.f64 2 l) (+.f64 (*.f64 1/2520 (pow.f64 l 7)) (+.f64 (*.f64 1/60 (pow.f64 l 5)) (*.f64 1/3 (pow.f64 l 3))))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
61.0ms
(*.f64 (cos.f64 (*.f64 1/2 K)) J)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02652
157652
2496352
3478652
000
100

simplify72.0ms (0.7%)

Algorithm
egg-herbie
Rules
423×associate--r+_binary64
392×associate--l+_binary64
322×cancel-sign-sub-inv_binary64
250×fma-def_binary64
225×distribute-rgt-out_binary64
Counts
87 → 79
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01682555
15042006
218311634
346861634
450311634

prune173.0ms (1.8%)

Pruning

10 alts after pruning (6 fresh and 4 done)

PrunedKeptTotal
New92092
Fresh066
Picked011
Done033
Total9210102
Error
0.0b
Counts
102 → 10
Alt Table
StatusErrorProgram
8.6b
(fma.f64 (*.f64 J (cbrt.f64 (pow.f64 (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))))) 3))) (cos.f64 (/.f64 K 2)) U)
0.7b
(+.f64 U (*.f64 J (*.f64 (cos.f64 (*.f64 1/2 K)) (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 l 2 (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))))))))
17.1b
(fma.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2)) U)
0.7b
(+.f64 U (*.f64 (+.f64 (*.f64 2 l) (+.f64 (*.f64 1/2520 (pow.f64 l 7)) (+.f64 (*.f64 1/60 (pow.f64 l 5)) (*.f64 1/3 (pow.f64 l 3))))) (*.f64 (cos.f64 (*.f64 1/2 K)) J)))
60.0b
(*.f64 (-.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (exp.f64 l)) (*.f64 (exp.f64 (neg.f64 l)) (cos.f64 (*.f64 1/2 K)))) J)
0.7b
(fma.f64 (*.f64 J (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))) (cos.f64 (/.f64 K 2)) U)
1.1b
(+.f64 U (*.f64 J (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 l 2 (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))))))) 3)))
35.0b
(pow.f64 (sqrt.f64 (fma.f64 (*.f64 J (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))) (cos.f64 (/.f64 K 2)) U)) 2)
2.0b
(pow.f64 (cbrt.f64 (fma.f64 (*.f64 J (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))) (cos.f64 (/.f64 K 2)) U)) 3)
28.9b
(-.f64 (+.f64 U (*.f64 (exp.f64 l) J)) (*.f64 (exp.f64 (neg.f64 l)) J))
Compiler

Compiled 3642 to 2745 computations (24.6% saved)

regimes849.0ms (8.7%)

Accuracy

Total 0.4b remaining (94.5%)

Threshold costs 0.4b (94.5%)

Counts
71 → 1
Compiler

Compiled 21166 to 16264 computations (23.2% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02539
13039
23039

end218.0ms (2.2%)

Compiler

Compiled 346 to 268 computations (22.5% saved)

Profiling

Loading profile data...