Details

Time bar (total: 13.2s)

analyze2.6s (19.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)

sample4.4s (33%)

Results
2.3s1998×body1024valid
1.0s4697×body128valid
711.0ms1036×body512valid
236.0ms523×body256valid
4.0msbody2048valid
1.0msbody512invalid
1.0msbody128invalid
Compiler

Compiled 83 to 68 computations (18.1% saved)

simplify81.0ms (0.6%)

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

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
9.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
9.1b
(*.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)

localize11.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)))
8.5b
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))))

series152.0ms (1.1%)

Counts
4 → 120
Calls

4 calls:

91.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)))))
40.0ms
(/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))
11.0ms
(*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2))
9.0ms
(*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))

rewrite97.0ms (0.7%)

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 → 104
Calls

4 calls:

95.0ms
(/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))
95.0ms
(*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2))
95.0ms
(*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))
95.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

simplify93.0ms (0.7%)

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
224 → 144
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01963231
15593137
221043011
346173003
450653003

prune168.0ms (1.3%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1386144
Fresh000
Picked101
Done000
Total1396145
Error
0.0b
Counts
145 → 6
Alt Table
StatusErrorProgram
36.0b
(pow.f64 (sqrt.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))))))) 2)
49.0b
(neg.f64 (fma.f64 2 (/.f64 (*.f64 (*.f64 J J) (pow.f64 (cos.f64 (*.f64 1/2 K)) 2)) U) U))
9.2b
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (pow.f64 (/.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) U) -1)))
48.0b
U
42.1b
(cbrt.f64 (pow.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))
10.2b
(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)
Compiler

Compiled 4757 to 3572 computations (24.9% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series192.0ms (1.5%)

Counts
3 → 108
Calls

3 calls:

105.0ms
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (pow.f64 (/.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) U) -1)))
62.0ms
(pow.f64 (/.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) U) -1)
25.0ms
(/.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) U)

rewrite99.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
272×expm1-udef_binary64
272×log1p-udef_binary64
157×add-sqr-sqrt_binary64
148×log1p-expm1-u_binary64
148×expm1-log1p-u_binary64
Counts
3 → 119
Calls

3 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01668
133162
2382562
3494962
4486462
000
100

simplify86.0ms (0.7%)

Algorithm
egg-herbie
Rules
873×associate-/l*_binary64
726×fma-def_binary64
250×cancel-sign-sub-inv_binary64
225×fma-neg_binary64
221×associate-/r/_binary64
Counts
227 → 175
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02123185
15873103
221652999
358242999

prune201.0ms (1.5%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New2330233
Fresh055
Picked011
Done000
Total2336239
Error
0.0b
Counts
239 → 6
Alt Table
StatusErrorProgram
36.0b
(pow.f64 (sqrt.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))))))) 2)
49.0b
(neg.f64 (fma.f64 2 (/.f64 (*.f64 (*.f64 J J) (pow.f64 (cos.f64 (*.f64 1/2 K)) 2)) U) U))
9.2b
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (pow.f64 (/.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) U) -1)))
48.0b
U
42.1b
(cbrt.f64 (pow.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))
10.2b
(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)
Compiler

Compiled 7345 to 5590 computations (23.9% saved)

localize11.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)
8.5b
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))

series2.4s (17.9%)

Counts
3 → 108
Calls

3 calls:

1.4s
(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)
876.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)))))))
120.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))))))

rewrite79.0ms (0.6%)

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 → 89
Calls

3 calls:

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

simplify137.0ms (1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
06149058
118488304
249608304

prune337.0ms (2.6%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New2713274
Fresh134
Picked011
Done011
Total2728280
Error
0.0b
Counts
280 → 8
Alt Table
StatusErrorProgram
48.0b
U
10.3b
(pow.f64 (*.f64 (cbrt.f64 (*.f64 -2 J)) (cbrt.f64 (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))) 3)
42.1b
(cbrt.f64 (pow.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))
10.2b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 -2 J)) 2) (*.f64 (cbrt.f64 (*.f64 -2 J)) (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))))
36.0b
(pow.f64 (sqrt.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))))))) 2)
47.0b
(*.f64 -2 (*.f64 (pow.f64 1/8 1/3) U))
9.2b
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (pow.f64 (/.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) U) -1)))
10.2b
(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)
Compiler

Compiled 13591 to 10931 computations (19.6% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (cbrt.f64 (*.f64 -2 J)) 2)
0.6b
(cbrt.f64 (*.f64 -2 J))
2.9b
(*.f64 (cbrt.f64 (*.f64 -2 J)) (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))
5.9b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 -2 J)) 2) (*.f64 (cbrt.f64 (*.f64 -2 J)) (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))))

series614.0ms (4.7%)

Counts
4 → 96
Calls

4 calls:

364.0ms
(*.f64 (cbrt.f64 (*.f64 -2 J)) (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))
150.0ms
(*.f64 (pow.f64 (cbrt.f64 (*.f64 -2 J)) 2) (*.f64 (cbrt.f64 (*.f64 -2 J)) (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))))
58.0ms
(pow.f64 (cbrt.f64 (*.f64 -2 J)) 2)
42.0ms
(cbrt.f64 (*.f64 -2 J))

rewrite77.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
307×log1p-udef_binary64
176×add-sqr-sqrt_binary64
169×associate-*r*_binary64
165×log1p-expm1-u_binary64
165×expm1-log1p-u_binary64
Counts
4 → 81
Calls

4 calls:

75.0ms
(pow.f64 (cbrt.f64 (*.f64 -2 J)) 2)
75.0ms
(cbrt.f64 (*.f64 -2 J))
75.0ms
(*.f64 (cbrt.f64 (*.f64 -2 J)) (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))
75.0ms
(*.f64 (pow.f64 (cbrt.f64 (*.f64 -2 J)) 2) (*.f64 (cbrt.f64 (*.f64 -2 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
01881
137181
2435981
3508981
000
100

simplify119.0ms (0.9%)

Algorithm
egg-herbie
Rules
433×fma-neg_binary64
409×associate-*r*_binary64
335×associate-*l*_binary64
285×*-commutative_binary64
269×unswap-sqr_binary64
Counts
177 → 169
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03515042
110424743
240464731
352204731

prune208.0ms (1.6%)

Pruning

11 alts after pruning (8 fresh and 3 done)

PrunedKeptTotal
New1944198
Fresh145
Picked011
Done022
Total19511206
Error
0.0b
Counts
206 → 11
Alt Table
StatusErrorProgram
42.1b
(cbrt.f64 (pow.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))
10.9b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 -2 J))) 3) 2) (*.f64 (cbrt.f64 (*.f64 -2 J)) (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))))
10.2b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 -2 J)) 2) (*.f64 (cbrt.f64 (*.f64 -2 J)) (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))))
36.0b
(pow.f64 (sqrt.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))))))) 2)
47.0b
(*.f64 -2 (*.f64 (pow.f64 1/8 1/3) U))
10.2b
(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)
23.6b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 -2 J)) 2) (cbrt.f64 (*.f64 (*.f64 -2 J) (pow.f64 (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))) 3))))
9.2b
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (pow.f64 (/.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) U) -1)))
48.0b
U
10.2b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 -2 J)) (cbrt.f64 -2)) (cbrt.f64 J)) (*.f64 (cbrt.f64 (*.f64 -2 J)) (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))))
22.2b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 -2 J)) 2) (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 -2 J)) (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 3)))
Compiler

Compiled 8530 to 6708 computations (21.4% saved)

regimes758.0ms (5.7%)

Accuracy

Total 7.9b remaining (99.5%)

Threshold costs 0b (0%)

Counts
76 → 3
Compiler

Compiled 10568 to 8532 computations (19.3% saved)

bsearch122.0ms (0.9%)

Steps
ItersRangePoint
6
1.1289383880095078e-256
6.223455101205146e-256
1.1675397400157695e-256
8
1.2732470243619092e-307
5.632253589411949e-304
5.545996234148348e-304
Compiler

Compiled 4 to 3 computations (25% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02377
13077
22977

end232.0ms (1.8%)

Compiler

Compiled 401 to 322 computations (19.7% saved)

Profiling

Loading profile data...