Details

Time bar (total: 28.3s)

analyze4.7s (16.5%)

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
0%99.9%0.1%7
15.6%84.3%0.1%8
15.6%84.3%0.1%9
15.6%84.3%0.1%10
30.4%69.4%0.1%11
30.4%69.4%0.1%12
30.4%69.4%0.1%13
39.6%60.3%0.1%14
Compiler

Compiled 28 to 23 computations (17.9% saved)

sample7.9s (27.8%)

Results
4.1s2046×body1024valid
1.9s4678×body128valid
1.3s1018×body512valid
489.0ms513×body256valid
4.0msbody1024invalid
3.0msbody2048valid
0.0msbody128invalid
Compiler

Compiled 83 to 68 computations (18.1% saved)

simplify87.0ms (0.3%)

Algorithm
egg-herbie
Rules
1043×associate-*l/_binary64
692×associate-/l/_binary64
651×associate-/r/_binary64
474×associate-/l*_binary64
398×times-frac_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01837
13732
28332
320832
474232
5227332
6247432
7287532
8301532
9312632
10323432
11483532
12495332
13488032

prune7.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 96 to 76 computations (20.8% saved)

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))
0.1b
(*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2))
0.1b
(*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))
7.8b
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))))

series393.0ms (1.4%)

Counts
4 → 120
Calls

4 calls:

255.0ms
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))))
95.0ms
(/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))
22.0ms
(*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))
21.0ms
(*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2))

rewrite172.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
258×prod-diff_binary64
250×expm1-udef_binary64
250×log1p-udef_binary64
219×log-pow_binary64
161×add-sqr-sqrt_binary64
Counts
4 → 100
Calls

4 calls:

168.0ms
(/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))
168.0ms
(*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2))
168.0ms
(*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))
168.0ms
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01671
133271
2356471
3497071
4513471
000
100

simplify174.0ms (0.6%)

Algorithm
egg-herbie
Rules
826×fma-def_binary64
616×fma-neg_binary64
345×cancel-sign-sub-inv_binary64
218×neg-mul-1_binary64
192×associate-/r/_binary64
Counts
220 → 141
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01963231
15593137
221043011
346173003
450653003

prune247.0ms (0.9%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1374141
Fresh000
Picked011
Done000
Total1375142
Error
0.0b
Counts
142 → 5
Alt Table
StatusErrorProgram
50.3b
U
9.4b
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 3)
8.4b
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))))
30.2b
(fma.f64 J (*.f64 (cos.f64 (*.f64 1/2 K)) -2) (*.f64 (/.f64 (*.f64 U U) (*.f64 J (cos.f64 (*.f64 1/2 K)))) -1/4))
46.8b
(neg.f64 U)
Compiler

Compiled 4576 to 3427 computations (25.1% saved)

localize24.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))
0.6b
(cbrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))
0.7b
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 3)
7.8b
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))

series5.9s (20.9%)

Counts
3 → 108
Calls

3 calls:

3.3s
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 3)
2.3s
(cbrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))
255.0ms
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))

rewrite129.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
275×expm1-udef_binary64
275×log1p-udef_binary64
157×add-sqr-sqrt_binary64
151×log1p-expm1-u_binary64
151×expm1-log1p-u_binary64
Counts
3 → 87
Calls

3 calls:

124.0ms
(cbrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))
124.0ms
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 3)
124.0ms
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01798
133898
2391198
3489998
000
100

simplify238.0ms (0.8%)

Algorithm
egg-herbie
Rules
437×fma-def_binary64
387×times-frac_binary64
331×associate-/l*_binary64
295×associate-/r*_binary64
250×*-commutative_binary64
Counts
195 → 215
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
06149058
118488304
249608304

prune698.0ms (2.5%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New2683271
Fresh123
Picked101
Done101
Total2715276
Error
0.0b
Counts
276 → 5
Alt Table
StatusErrorProgram
46.8b
(neg.f64 U)
33.3b
(*.f64 (sqrt.f64 (*.f64 -2 J)) (*.f64 (sqrt.f64 (*.f64 -2 J)) (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))))
9.7b
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 3)) 3)
50.3b
U
8.4b
(*.f64 -2 (*.f64 J (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))))
Compiler

Compiled 13375 to 10750 computations (19.6% saved)

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))
0.1b
(*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))
0.1b
(*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))
7.8b
(*.f64 J (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))

series435.0ms (1.5%)

Counts
3 → 108
Calls

3 calls:

178.0ms
(*.f64 J (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))
175.0ms
(*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))
81.0ms
(/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))

rewrite153.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
264×expm1-udef_binary64
264×log1p-udef_binary64
209×fma-neg_binary64
149×add-sqr-sqrt_binary64
146×prod-diff_binary64
Counts
3 → 73
Calls

3 calls:

150.0ms
(/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))
149.0ms
(*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))
149.0ms
(*.f64 J (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01570
130970
2370170
3491470
4497670
5500870
000
100

simplify197.0ms (0.7%)

Algorithm
egg-herbie
Rules
455×cancel-sign-sub-inv_binary64
388×fma-neg_binary64
212×fma-def_binary64
190×associate-/l/_binary64
170×distribute-rgt-neg-in_binary64
Counts
181 → 157
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02844396
17874218
228924090
348064086
449714086

prune342.0ms (1.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1832185
Fresh134
Picked011
Done000
Total1846190
Error
0.0b
Counts
190 → 6
Alt Table
StatusErrorProgram
9.7b
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 3)) 3)
28.4b
(*.f64 -2 (*.f64 J (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J -2))))))))))
50.3b
U
46.8b
(neg.f64 U)
8.4b
(*.f64 -2 (*.f64 J (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))))
14.0b
(*.f64 -2 (*.f64 J (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J -2))))))) 1)))
Compiler

Compiled 6630 to 4926 computations (25.7% saved)

localize26.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 3))
0.7b
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 3)
0.7b
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 3)) 3)
7.8b
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))

series5.1s (17.9%)

Counts
2 → 72
Calls

2 calls:

3.0s
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 3)) 3)
2.1s
(cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 3))

rewrite72.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
275×expm1-udef_binary64
275×log1p-udef_binary64
157×add-sqr-sqrt_binary64
153×log1p-expm1-u_binary64
153×expm1-log1p-u_binary64
Counts
2 → 71
Calls

2 calls:

69.0ms
(cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 3))
69.0ms
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 3)) 3)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01966
134066
2391166
3489966
000
100

simplify101.0ms (0.4%)

Algorithm
egg-herbie
Rules
416×fma-def_binary64
376×times-frac_binary64
323×associate-/l*_binary64
284×associate-/r*_binary64
243×*-commutative_binary64
Counts
143 → 182
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05887215
117646437
249556437

prune396.0ms (1.4%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New3150315
Fresh044
Picked011
Done011
Total3156321
Error
0.0b
Counts
321 → 6
Alt Table
StatusErrorProgram
9.7b
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 3)) 3)
28.4b
(*.f64 -2 (*.f64 J (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J -2))))))))))
50.3b
U
46.8b
(neg.f64 U)
8.4b
(*.f64 -2 (*.f64 J (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))))
14.0b
(*.f64 -2 (*.f64 J (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J -2))))))) 1)))
Compiler

Compiled 17710 to 14251 computations (19.5% saved)

regimes698.0ms (2.5%)

Accuracy

Total 8.3b remaining (99.4%)

Threshold costs 0b (0%)

Counts
74 → 2
Compiler

Compiled 10550 to 8664 computations (17.9% saved)

bsearch3.0ms (0%)

Compiler

Compiled 27 to 22 computations (18.5% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02877
13777
23977
34077
43977

end126.0ms (0.4%)

Compiler

Compiled 225 to 181 computations (19.6% saved)

Profiling

Loading profile data...