Details

Time bar (total: 2.3s)

analyze11.0ms (0.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%50%50%3
25%25%50%4
37.5%12.5%50%5
43.7%6.2%50%6
46.9%3.1%50%7
48.4%1.6%50%8
49.2%0.8%50%9
49.6%0.4%50%10
49.8%0.2%50%11
49.9%0.1%50%12
49.9%0%50%13
49.9%0%50%14
Compiler

Compiled 13 to 11 computations (15.4% saved)

sample1.1s (47.7%)

Results
1.1s8256×body128valid
Compiler

Compiled 38 to 32 computations (15.8% saved)

simplify26.0ms (1.1%)

Algorithm
egg-herbie
Rules
396×fma-neg_binary64
375×fma-def_binary64
260×div-sub_binary64
121×times-frac_binary64
111×associate-/l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01017
11917
22517
33517
45817
58217
611717
718917
835617
957717
1078917
11113417
12152417
13194017
14218117
Stop Event
saturated
Counts
1 → 2

prune2.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.0b
(*.f64 2 (atan.f64 (sqrt.f64 (/.f64 (-.f64 1 x) (+.f64 1 x)))))
Compiler

Compiled 47 to 39 computations (17% saved)

localize7.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(atan.f64 (sqrt.f64 (/.f64 (-.f64 1 x) (+.f64 1 x))))
0.0b
(sqrt.f64 (/.f64 (-.f64 1 x) (+.f64 1 x)))
0.0b
(/.f64 (-.f64 1 x) (+.f64 1 x))

series10.0ms (0.4%)

Counts
3 → 24
Calls

3 calls:

4.0ms
(sqrt.f64 (/.f64 (-.f64 1 x) (+.f64 1 x)))
3.0ms
(atan.f64 (sqrt.f64 (/.f64 (-.f64 1 x) (+.f64 1 x))))
2.0ms
(/.f64 (-.f64 1 x) (+.f64 1 x))

rewrite79.0ms (3.4%)

Algorithm
batch-egg-rewrite
Rules
913×log1p-expm1-u_binary64
913×expm1-log1p-u_binary64
311×prod-diff_binary64
161×egg-rr
85×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0836
117736
2240836
Stop Event
node limit
Counts
3 → 161
Calls

3 calls:

73.0ms
(atan.f64 (sqrt.f64 (/.f64 (-.f64 1 x) (+.f64 1 x))))
73.0ms
(sqrt.f64 (/.f64 (-.f64 1 x) (+.f64 1 x)))
73.0ms
(/.f64 (-.f64 1 x) (+.f64 1 x))

simplify32.0ms (1.4%)

Algorithm
egg-herbie
Rules
692×fma-def_binary64
444×cancel-sign-sub-inv_binary64
314×fma-neg_binary64
262×associate-/l/_binary64
194×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
061494
1189468
2609456
32374394
Stop Event
node limit
Counts
185 → 187

prune185.0ms (7.9%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1843187
Fresh000
Picked101
Done000
Total1853188
Error
0b
Counts
188 → 3
Alt Table
StatusErrorProgram
0.0b
(*.f64 2 (-.f64 (exp.f64 (log1p.f64 (atan.f64 (sqrt.f64 (/.f64 (-.f64 1 x) (+.f64 1 x)))))) 1))
0.0b
(*.f64 2 (atan.f64 (exp.f64 (*.f64 1/2 (-.f64 (log1p.f64 (neg.f64 x)) (log1p.f64 x))))))
0.0b
(*.f64 2 (atan.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 x) (+.f64 1 x)) 3/2))))
Compiler

Compiled 6065 to 4084 computations (32.7% saved)

localize9.0ms (0.4%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (log1p.f64 (neg.f64 x)) (log1p.f64 x))
0.0b
(atan.f64 (exp.f64 (*.f64 1/2 (-.f64 (log1p.f64 (neg.f64 x)) (log1p.f64 x)))))

series5.0ms (0.2%)

Counts
2 → 16
Calls

2 calls:

3.0ms
(-.f64 (log1p.f64 (neg.f64 x)) (log1p.f64 x))
2.0ms
(atan.f64 (exp.f64 (*.f64 1/2 (-.f64 (log1p.f64 (neg.f64 x)) (log1p.f64 x)))))

rewrite42.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
793×expm1-log1p-u_binary64
791×log1p-expm1-u_binary64
391×prod-diff_binary64
103×add-sqr-sqrt_binary64
96×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01027
120723
2270623
Stop Event
node limit
Counts
2 → 67
Calls

2 calls:

41.0ms
(-.f64 (log1p.f64 (neg.f64 x)) (log1p.f64 x))
41.0ms
(atan.f64 (exp.f64 (*.f64 1/2 (-.f64 (log1p.f64 (neg.f64 x)) (log1p.f64 x)))))

simplify31.0ms (1.3%)

Algorithm
egg-herbie
Rules
622×fma-neg_binary64
452×sub-neg_binary64
326×cancel-sign-sub-inv_binary64
194×associate-+l-_binary64
189×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
055254
1161248
2473240
31609238
44252238
Stop Event
node limit
Counts
83 → 92

prune67.0ms (2.9%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New92092
Fresh022
Picked011
Done000
Total92395
Error
0b
Counts
95 → 3
Alt Table
StatusErrorProgram
0.0b
(*.f64 2 (-.f64 (exp.f64 (log1p.f64 (atan.f64 (sqrt.f64 (/.f64 (-.f64 1 x) (+.f64 1 x)))))) 1))
0.0b
(*.f64 2 (atan.f64 (exp.f64 (*.f64 1/2 (-.f64 (log1p.f64 (neg.f64 x)) (log1p.f64 x))))))
0.0b
(*.f64 2 (atan.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 x) (+.f64 1 x)) 3/2))))
Compiler

Compiled 1788 to 1151 computations (35.6% saved)

localize9.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (/.f64 (-.f64 1 x) (+.f64 1 x)) 3/2)
0.0b
(atan.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 x) (+.f64 1 x)) 3/2)))
0.0b
(/.f64 (-.f64 1 x) (+.f64 1 x))
0.0b
(cbrt.f64 (pow.f64 (/.f64 (-.f64 1 x) (+.f64 1 x)) 3/2))

series9.0ms (0.4%)

Counts
3 → 36
Calls

3 calls:

4.0ms
(cbrt.f64 (pow.f64 (/.f64 (-.f64 1 x) (+.f64 1 x)) 3/2))
3.0ms
(pow.f64 (/.f64 (-.f64 1 x) (+.f64 1 x)) 3/2)
2.0ms
(atan.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 x) (+.f64 1 x)) 3/2)))

rewrite56.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
473×log-prod_binary64
311×prod-diff_binary64
182×fma-def_binary64
178×expm1-udef_binary64
177×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01045
122139
2284639
Stop Event
node limit
Counts
3 → 74
Calls

3 calls:

55.0ms
(pow.f64 (/.f64 (-.f64 1 x) (+.f64 1 x)) 3/2)
55.0ms
(atan.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 x) (+.f64 1 x)) 3/2)))
55.0ms
(cbrt.f64 (pow.f64 (/.f64 (-.f64 1 x) (+.f64 1 x)) 3/2))

simplify32.0ms (1.4%)

Algorithm
egg-herbie
Rules
693×fma-def_binary64
477×cancel-sign-sub-inv_binary64
309×fma-neg_binary64
207×times-frac_binary64
197×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
067735
1198703
2644671
32561647
Stop Event
node limit
Counts
110 → 100

prune210.0ms (9%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New2251226
Fresh101
Picked011
Done011
Total2263229
Error
0b
Counts
229 → 3
Alt Table
StatusErrorProgram
0.0b
(*.f64 2 (atan.f64 (exp.f64 (*.f64 1/2 (-.f64 (log1p.f64 (neg.f64 x)) (log1p.f64 x))))))
0.0b
(*.f64 2 (atan.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 x) (+.f64 1 x)) 3/2))))
0.4b
(*.f64 2 (atan.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9/2 -3) 1))))
Compiler

Compiled 7075 to 4985 computations (29.5% saved)

localize7.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(atan.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9/2 -3) 1)))
0.0b
(cbrt.f64 (fma.f64 x (fma.f64 x 9/2 -3) 1))

series7.0ms (0.3%)

Counts
2 → 24
Calls

2 calls:

5.0ms
(cbrt.f64 (fma.f64 x (fma.f64 x 9/2 -3) 1))
2.0ms
(atan.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9/2 -3) 1)))

rewrite38.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
686×log1p-expm1-u_binary64
686×expm1-log1p-u_binary64
313×log-prod_binary64
143×expm1-udef_binary64
143×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0924
117324
2183124
Stop Event
node limit
Counts
2 → 45
Calls

2 calls:

37.0ms
(atan.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9/2 -3) 1)))
37.0ms
(cbrt.f64 (fma.f64 x (fma.f64 x 9/2 -3) 1))

simplify25.0ms (1.1%)

Algorithm
egg-herbie
Rules
710×fma-def_binary64
476×times-frac_binary64
340×associate-/l*_binary64
247×associate-/r*_binary64
225×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
063674
1175644
2440508
31442414
Stop Event
node limit
Counts
69 → 69

prune56.0ms (2.4%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New69069
Fresh000
Picked011
Done022
Total69372
Error
0b
Counts
72 → 3
Alt Table
StatusErrorProgram
0.0b
(*.f64 2 (atan.f64 (exp.f64 (*.f64 1/2 (-.f64 (log1p.f64 (neg.f64 x)) (log1p.f64 x))))))
0.0b
(*.f64 2 (atan.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 x) (+.f64 1 x)) 3/2))))
0.4b
(*.f64 2 (atan.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9/2 -3) 1))))
Compiler

Compiled 1411 to 1203 computations (14.7% saved)

regimes200.0ms (8.6%)

Accuracy

Total 0.0b remaining (51.2%)

Threshold costs 0.0b (51.2%)

Counts
37 → 1
Compiler

Compiled 2799 to 2411 computations (13.9% saved)

simplify2.0ms (0.1%)

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
01220
12020
22520
32820
42920
Stop Event
saturated

end59.0ms (2.5%)

Compiler

Compiled 65 to 55 computations (15.4% saved)

Profiling

Loading profile data...