Details

Time bar (total: 9.7s)

analyze1.6s (16.8%)

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

Results
1.3s1717×body1024valid
1.3s2047×body1024invalid
807.0ms4487×body128valid
558.0ms1278×body512valid
442.0ms2671×body128invalid
406.0ms964×body512invalid
213.0ms708×body256valid
146.0ms505×body256invalid
67.0ms66×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
19.3b
Counts
3 → 1
Alt Table
StatusErrorProgram
19.3b
(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)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series48.0ms (0.5%)

Counts
3 → 80
Calls

3 calls:

35.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)))

rewrite76.0ms (0.8%)

Algorithm
batch-egg-rewrite
Counts
3 → 0
Calls

2 calls:

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

Useful iterations: 0 (0.0ms)

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

simplify111.0ms (1.1%)

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

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New40444
Fresh000
Picked101
Done000
Total41445
Error
0.0b
Counts
45 → 4
Alt Table
StatusErrorProgram
44.0b
(-.f64 (+.f64 (fma.f64 1/8 (*.f64 (/.f64 J (exp.f64 l)) (*.f64 K K)) U) (*.f64 (exp.f64 l) (-.f64 J (*.f64 1/8 (*.f64 J (*.f64 K K)))))) (/.f64 J (exp.f64 l)))
0.3b
(fma.f64 (*.f64 J (cos.f64 (*.f64 1/2 K))) (fma.f64 2 l (*.f64 1/3 (pow.f64 l 3))) U)
0.3b
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) (*.f64 (cos.f64 (*.f64 1/2 K)) J))) (+.f64 (*.f64 2 (*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))) U))
0.3b
(fma.f64 (*.f64 J (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)
Compiler

Compiled 1251 to 747 computations (40.3% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))
0.1b
(*.f64 (cos.f64 (*.f64 1/2 K)) J)
0.1b
(*.f64 1/3 (*.f64 (pow.f64 l 3) (*.f64 (cos.f64 (*.f64 1/2 K)) J)))
5.8b
(*.f64 (pow.f64 l 3) (*.f64 (cos.f64 (*.f64 1/2 K)) J))

series102.0ms (1.1%)

Counts
4 → 64
Calls

4 calls:

41.0ms
(*.f64 1/3 (*.f64 (pow.f64 l 3) (*.f64 (cos.f64 (*.f64 1/2 K)) J)))
34.0ms
(*.f64 (pow.f64 l 3) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
18.0ms
(*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))
9.0ms
(*.f64 (cos.f64 (*.f64 1/2 K)) J)

rewrite71.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
70×egg-rr
Counts
4 → 70
Calls

2 calls:

69.0ms
((*.f64 (pow.f64 l 3) (*.f64 (cos.f64 (*.f64 1/2 K)) J)) (*.f64 1/3 (*.f64 (pow.f64 l 3) (*.f64 (cos.f64 (*.f64 1/2 K)) J))) (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J)))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01454
128954
2322754
3548054
000
100

simplify58.0ms (0.6%)

Algorithm
egg-herbie
Rules
752×distribute-rgt-neg-in_binary64
730×associate-*l*_binary64
715×distribute-lft-neg-in_binary64
674×associate-*r*_binary64
408×fma-def_binary64
Counts
134 → 107
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0701066
12231007
2800936
33647936
45353936

prune164.0ms (1.7%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1313134
Fresh033
Picked011
Done000
Total1317138
Error
0.0b
Counts
138 → 7
Alt Table
StatusErrorProgram
44.0b
(-.f64 (+.f64 (fma.f64 1/8 (*.f64 (/.f64 J (exp.f64 l)) (*.f64 K K)) U) (*.f64 (exp.f64 l) (-.f64 J (*.f64 1/8 (*.f64 J (*.f64 K K)))))) (/.f64 J (exp.f64 l)))
0.3b
(fma.f64 (*.f64 J (cos.f64 (*.f64 1/2 K))) (fma.f64 2 l (*.f64 1/3 (pow.f64 l 3))) U)
0.3b
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) (*.f64 (cos.f64 (*.f64 1/2 K)) J))) (+.f64 (*.f64 2 (*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))) U))
8.5b
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) (*.f64 (cos.f64 (*.f64 1/2 K)) J))) (+.f64 (*.f64 2 (expm1.f64 (log1p.f64 (*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))))) U))
0.7b
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) (*.f64 (cos.f64 (*.f64 1/2 K)) J))) (+.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))) 3)) U))
0.7b
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) (*.f64 (cos.f64 (*.f64 1/2 K)) J))) (+.f64 (*.f64 2 (*.f64 l (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J)) 3))) U))
0.3b
(fma.f64 (*.f64 J (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)
Compiler

Compiled 4490 to 3279 computations (27% saved)

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series65.0ms (0.7%)

Counts
3 → 64
Calls

3 calls:

54.0ms
(fma.f64 (*.f64 J (cos.f64 (*.f64 1/2 K))) (fma.f64 2 l (*.f64 1/3 (pow.f64 l 3))) U)
8.0ms
(*.f64 J (cos.f64 (*.f64 1/2 K)))
3.0ms
(*.f64 1/3 (pow.f64 l 3))

rewrite113.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
51×egg-rr
Counts
3 → 51
Calls

2 calls:

112.0ms
((*.f64 1/3 (pow.f64 l 3)) (*.f64 J (cos.f64 (*.f64 1/2 K))) (fma.f64 (*.f64 J (cos.f64 (*.f64 1/2 K))) (fma.f64 2 l (*.f64 1/3 (pow.f64 l 3))) U))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01639
132439
2343139
3491139
4497039
5487439
000
100

simplify85.0ms (0.9%)

Algorithm
egg-herbie
Rules
653×fma-def_binary64
584×associate-*l*_binary64
517×associate-*r*_binary64
418×sub-neg_binary64
352×cancel-sign-sub-inv_binary64
Counts
115 → 81
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0961726
12631469
29481292
344231292
448981292
550001292

prune114.0ms (1.2%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New79281
Fresh145
Picked101
Done011
Total81788
Error
0b
Counts
88 → 7
Alt Table
StatusErrorProgram
44.0b
(-.f64 (+.f64 (fma.f64 1/8 (*.f64 (/.f64 J (exp.f64 l)) (*.f64 K K)) U) (*.f64 (exp.f64 l) (-.f64 J (*.f64 1/8 (*.f64 J (*.f64 K K)))))) (/.f64 J (exp.f64 l)))
0.3b
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) (*.f64 (cos.f64 (*.f64 1/2 K)) J))) (+.f64 (*.f64 2 (*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))) U))
8.5b
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) (*.f64 (cos.f64 (*.f64 1/2 K)) J))) (+.f64 (*.f64 2 (expm1.f64 (log1p.f64 (*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))))) U))
0.7b
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) (*.f64 (cos.f64 (*.f64 1/2 K)) J))) (+.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))) 3)) U))
36.0b
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 J (cos.f64 (*.f64 1/2 K))) (fma.f64 l 2 (*.f64 1/3 (pow.f64 l 3)))) 3) (pow.f64 U 3)) (fma.f64 (*.f64 (*.f64 J (cos.f64 (*.f64 1/2 K))) (fma.f64 l 2 (*.f64 1/3 (pow.f64 l 3)))) (*.f64 (*.f64 J (cos.f64 (*.f64 1/2 K))) (fma.f64 l 2 (*.f64 1/3 (pow.f64 l 3)))) (-.f64 (*.f64 U U) (*.f64 (*.f64 (*.f64 J (cos.f64 (*.f64 1/2 K))) (fma.f64 l 2 (*.f64 1/3 (pow.f64 l 3)))) U))))
0.6b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 J (cos.f64 (*.f64 1/2 K)))) 3) (fma.f64 2 l (*.f64 1/3 (pow.f64 l 3))) U)
0.3b
(fma.f64 (*.f64 J (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)
Compiler

Compiled 2348 to 1672 computations (28.8% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 J (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))
0.0b
(*.f64 1/60 (pow.f64 l 5))
0.1b
(fma.f64 (*.f64 J (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
(fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))

series169.0ms (1.7%)

Counts
4 → 84
Calls

4 calls:

123.0ms
(fma.f64 (*.f64 J (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)
38.0ms
(*.f64 J (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))
4.0ms
(fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))
3.0ms
(*.f64 1/60 (pow.f64 l 5))

rewrite75.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
76×egg-rr
Counts
4 → 76
Calls

2 calls:

73.0ms
((fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))) (fma.f64 (*.f64 J (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) (*.f64 1/60 (pow.f64 l 5)) (*.f64 J (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))))))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01972
139972
2427772
3526472
000
100

simplify82.0ms (0.8%)

Algorithm
egg-herbie
Rules
771×associate-*r*_binary64
607×sub-neg_binary64
506×associate-+l+_binary64
406×associate--l+_binary64
360×cancel-sign-sub-inv_binary64
Counts
160 → 117
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01312896
13452553
212612149
344632149
450522149

prune192.0ms (2%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1161117
Fresh145
Picked011
Done011
Total1177124
Error
0b
Counts
124 → 7
Alt Table
StatusErrorProgram
0.6b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 J (cos.f64 (*.f64 1/2 K)))) 3) (fma.f64 2 l (*.f64 1/3 (pow.f64 l 3))) U)
10.0b
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 J (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)
44.0b
(-.f64 (+.f64 (fma.f64 1/8 (*.f64 (/.f64 J (exp.f64 l)) (*.f64 K K)) U) (*.f64 (exp.f64 l) (-.f64 J (*.f64 1/8 (*.f64 J (*.f64 K K)))))) (/.f64 J (exp.f64 l)))
0.3b
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) (*.f64 (cos.f64 (*.f64 1/2 K)) J))) (+.f64 (*.f64 2 (*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))) U))
8.5b
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) (*.f64 (cos.f64 (*.f64 1/2 K)) J))) (+.f64 (*.f64 2 (expm1.f64 (log1p.f64 (*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))))) U))
36.0b
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 J (cos.f64 (*.f64 1/2 K))) (fma.f64 l 2 (*.f64 1/3 (pow.f64 l 3)))) 3) (pow.f64 U 3)) (fma.f64 (*.f64 (*.f64 J (cos.f64 (*.f64 1/2 K))) (fma.f64 l 2 (*.f64 1/3 (pow.f64 l 3)))) (*.f64 (*.f64 J (cos.f64 (*.f64 1/2 K))) (fma.f64 l 2 (*.f64 1/3 (pow.f64 l 3)))) (-.f64 (*.f64 U U) (*.f64 (*.f64 (*.f64 J (cos.f64 (*.f64 1/2 K))) (fma.f64 l 2 (*.f64 1/3 (pow.f64 l 3)))) U))))
0.3b
(fma.f64 (*.f64 J (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)
Compiler

Compiled 3620 to 2645 computations (26.9% saved)

regimes859.0ms (8.9%)

Accuracy

Total 0.2b remaining (53.1%)

Threshold costs 0.2b (53.1%)

Counts
66 → 1
Compiler

Compiled 17648 to 13396 computations (24.1% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01938
12738
22738

end207.0ms (2.1%)

Compiler

Compiled 305 to 224 computations (26.6% saved)

Profiling

Loading profile data...