Details

Time bar (total: 2.3s)

analyze6.0ms (0.3%)

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 (50%)

Results
1.1s8256×body128valid
Compiler

Compiled 38 to 32 computations (15.8% saved)

simplify38.0ms (1.7%)

Algorithm
egg-herbie
Rules
396×fma-neg_binary64
375×fma-def_binary64
260×div-sub_binary64
123×times-frac_binary64
116×associate-/l*_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01017
11917
22517
33517
45717
57317
610217
715817
824017
929917
1039117
1153617
1277717
1382617
1479917
1572217

prune2.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 36 to 30 computations (16.7% saved)

localize8.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (/.f64 (-.f64 1 x) (+.f64 1 x)))
0.0b
(atan.f64 (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:

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

rewrite80.0ms (3.5%)

Algorithm
batch-egg-rewrite
Rules
913×log1p-expm1-u_binary64
913×expm1-log1p-u_binary64
311×prod-diff_binary64
164×egg-rr
85×add-sqr-sqrt_binary64
Counts
3 → 164
Calls

3 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0836
117436
2229136
3624736
000
100

simplify56.0ms (2.5%)

Algorithm
egg-herbie
Rules
692×fma-def_binary64
653×fma-neg_binary64
443×cancel-sign-sub-inv_binary64
264×associate-/l/_binary64
194×sub-neg_binary64
Counts
188 → 190
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
061494
1188468
2590456
31925394
44421390
54962390

prune185.0ms (8.2%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New1882190
Fresh000
Picked101
Done000
Total1892191
Error
0b
Counts
191 → 2
Alt Table
StatusErrorProgram
0.0b
(*.f64 2 (atan.f64 (/.f64 1 (sqrt.f64 (/.f64 (+.f64 1 x) (-.f64 1 x))))))
0.0b
(*.f64 2 (atan.f64 (sqrt.f64 (*.f64 (-.f64 1 x) (/.f64 1 (+.f64 1 x))))))
Compiler

Compiled 6174 to 4603 computations (25.4% saved)

localize8.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series10.0ms (0.4%)

Counts
4 → 48
Calls

4 calls:

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

rewrite64.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
921×log1p-expm1-u_binary64
921×expm1-log1p-u_binary64
177×prod-diff_binary64
113×egg-rr
94×add-sqr-sqrt_binary64
Counts
4 → 113
Calls

4 calls:

62.0ms
(sqrt.f64 (*.f64 (-.f64 1 x) (/.f64 1 (+.f64 1 x))))
62.0ms
(atan.f64 (sqrt.f64 (*.f64 (-.f64 1 x) (/.f64 1 (+.f64 1 x)))))
62.0ms
(*.f64 (-.f64 1 x) (/.f64 1 (+.f64 1 x)))
62.0ms
(/.f64 1 (+.f64 1 x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0943
119543
2237543
3600843
000
100

simplify60.0ms (2.7%)

Algorithm
egg-herbie
Rules
796×fma-def_binary64
731×fma-neg_binary64
668×times-frac_binary64
500×cancel-sign-sub-inv_binary64
270×associate-/l/_binary64
Counts
161 → 150
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
077833
1231803
2698791
32159727
44477723
55654723

prune200.0ms (8.8%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New1491150
Fresh101
Picked011
Done000
Total1502152
Error
0b
Counts
152 → 2
Alt Table
StatusErrorProgram
0.0b
(*.f64 2 (atan.f64 (sqrt.f64 (*.f64 (-.f64 1 x) (exp.f64 (neg.f64 (log1p.f64 x)))))))
0.0b
(*.f64 2 (atan.f64 (sqrt.f64 (*.f64 (-.f64 1 x) (/.f64 1 (+.f64 1 x))))))
Compiler

Compiled 2508 to 2074 computations (17.3% saved)

localize9.0ms (0.4%)

Local error

Found 3 expressions with local error:

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

series17.0ms (0.7%)

Counts
3 → 16
Calls

3 calls:

11.0ms
(sqrt.f64 (*.f64 (-.f64 1 x) (exp.f64 (neg.f64 (log1p.f64 x)))))
4.0ms
(*.f64 (-.f64 1 x) (exp.f64 (neg.f64 (log1p.f64 x))))
2.0ms
(atan.f64 (sqrt.f64 (*.f64 (-.f64 1 x) (exp.f64 (neg.f64 (log1p.f64 x))))))

rewrite52.0ms (2.3%)

Algorithm
batch-egg-rewrite
Rules
786×expm1-log1p-u_binary64
785×log1p-expm1-u_binary64
132×prod-diff_binary64
95×add-sqr-sqrt_binary64
88×add-log-exp_binary64
Counts
3 → 72
Calls

3 calls:

51.0ms
(sqrt.f64 (*.f64 (-.f64 1 x) (exp.f64 (neg.f64 (log1p.f64 x)))))
51.0ms
(atan.f64 (sqrt.f64 (*.f64 (-.f64 1 x) (exp.f64 (neg.f64 (log1p.f64 x))))))
51.0ms
(*.f64 (-.f64 1 x) (exp.f64 (neg.f64 (log1p.f64 x))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01045
119836
2205436
3501836
000
100

simplify71.0ms (3.1%)

Algorithm
egg-herbie
Rules
678×fma-def_binary64
488×cancel-sign-sub-inv_binary64
475×div-sub_binary64
418×fma-neg_binary64
383×sub-neg_binary64
Counts
88 → 95
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
052184
1162172
2443164
31152154
43907152
54440152
65129152

prune63.0ms (2.8%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New95095
Fresh000
Picked011
Done011
Total95297
Error
0b
Counts
97 → 2
Alt Table
StatusErrorProgram
0.0b
(*.f64 2 (atan.f64 (sqrt.f64 (*.f64 (-.f64 1 x) (exp.f64 (neg.f64 (log1p.f64 x)))))))
0.0b
(*.f64 2 (atan.f64 (sqrt.f64 (*.f64 (-.f64 1 x) (/.f64 1 (+.f64 1 x))))))
Compiler

Compiled 1495 to 1233 computations (17.5% saved)

regimes139.0ms (6.1%)

Accuracy

Total 0.0b remaining (4.4%)

Threshold costs 0.0b (4.4%)

Counts
33 → 1
Compiler

Compiled 2848 to 2378 computations (16.5% saved)

simplify3.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
12120
22620
32920
43020
52920

end51.0ms (2.3%)

Compiler

Compiled 53 to 45 computations (15.1% saved)

Profiling

Loading profile data...