Details

Time bar (total: 3.8s)

analyze5.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%74.9%25.1%0
0%74.9%25.1%1
37.5%37.5%25.1%2
37.5%18.7%43.8%3
46.8%9.4%43.8%4
51.5%4.7%43.8%5
51.5%2.3%46.1%6
52.7%1.2%46.1%7
53.3%0.6%46.1%8
53.3%0.3%46.4%9
53.4%0.1%46.4%10
53.5%0.1%46.4%11
53.5%0%46.5%12
53.5%0%46.5%13
53.5%0%46.5%14
Compiler

Compiled 71 to 33 computations (53.5% saved)

sample1.6s (41.8%)

Results
1.5s8256×body128valid
0.0msbody128invalid
Compiler

Compiled 210 to 97 computations (53.8% saved)

prune3.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.1b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.1b
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (/.f64 2 3) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 5) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 21) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x))))))
Compiler

Compiled 204 to 93 computations (54.4% saved)

localize26.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (/.f64 1 5) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))
0.1b
(*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (/.f64 2 3) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 5) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 21) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))))
0.1b
(*.f64 (/.f64 2 3) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))
1.0b
(sqrt.f64 (PI.f64))

series81.0ms (2.1%)

Counts
4 → 36
Calls

4 calls:

58.0ms
(*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (/.f64 2 3) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 5) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 21) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))))
15.0ms
(*.f64 (/.f64 1 5) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))
8.0ms
(*.f64 (/.f64 2 3) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))
0.0ms
(sqrt.f64 (PI.f64))

rewrite41.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
274×log1p-expm1-u_binary64
274×expm1-log1p-u_binary64
268×add-cbrt-cube_binary64
267×add-log-exp_binary64
266×add-exp-log_binary64
Counts
4 → 60
Calls

4 calls:

39.0ms
(*.f64 (/.f64 1 5) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))
39.0ms
(*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (/.f64 2 3) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 5) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 21) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))))
39.0ms
(*.f64 (/.f64 2 3) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))
39.0ms
(sqrt.f64 (PI.f64))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03189
161266
2491966

prune111.0ms (2.9%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New93396
Fresh000
Picked011
Done000
Total93497
Error
0b
Counts
97 → 4
Alt Table
StatusErrorProgram
0.1b
(fabs.f64 (fma.f64 (pow.f64 (PI.f64) -1/2) (fma.f64 1/5 (pow.f64 (fabs.f64 x) 5) (fma.f64 2 (fabs.f64 x) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3)))) (*.f64 (pow.f64 (PI.f64) -1/2) (*.f64 1/21 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6))))))
1.1b
(fabs.f64 (*.f64 (/.f64 1 (expm1.f64 (log1p.f64 (sqrt.f64 (PI.f64))))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (/.f64 2 3) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 5) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 21) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x))))))
0.5b
(fabs.f64 (/.f64 (fma.f64 1/21 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6)) (fma.f64 1/5 (pow.f64 (fabs.f64 x) 5) (fma.f64 2 (fabs.f64 x) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3))))) (sqrt.f64 (PI.f64))))
0.1b
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (/.f64 2 3) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 5) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 21) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x))))))
Compiler

Compiled 5452 to 2342 computations (57% saved)

localize17.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (pow.f64 (PI.f64) -1/2) (*.f64 1/21 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6))))
0.1b
(*.f64 1/21 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6)))
0.1b
(fma.f64 (pow.f64 (PI.f64) -1/2) (fma.f64 1/5 (pow.f64 (fabs.f64 x) 5) (fma.f64 2 (fabs.f64 x) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3)))) (*.f64 (pow.f64 (PI.f64) -1/2) (*.f64 1/21 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6)))))
0.1b
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))

series286.0ms (7.4%)

Counts
4 → 36
Calls

4 calls:

234.0ms
(fma.f64 (pow.f64 (PI.f64) -1/2) (fma.f64 1/5 (pow.f64 (fabs.f64 x) 5) (fma.f64 2 (fabs.f64 x) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3)))) (*.f64 (pow.f64 (PI.f64) -1/2) (*.f64 1/21 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6)))))
27.0ms
(*.f64 (pow.f64 (PI.f64) -1/2) (*.f64 1/21 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6))))
16.0ms
(*.f64 1/21 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6)))
9.0ms
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))

rewrite70.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
227×add-sqr-sqrt_binary64
220×log1p-expm1-u_binary64
220×expm1-log1p-u_binary64
216×add-log-exp_binary64
215×add-exp-log_binary64
Counts
4 → 63
Calls

4 calls:

68.0ms
(*.f64 (pow.f64 (PI.f64) -1/2) (*.f64 1/21 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6))))
68.0ms
(*.f64 1/21 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6)))
68.0ms
(fma.f64 (pow.f64 (PI.f64) -1/2) (fma.f64 1/5 (pow.f64 (fabs.f64 x) 5) (fma.f64 2 (fabs.f64 x) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3)))) (*.f64 (pow.f64 (PI.f64) -1/2) (*.f64 1/21 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6)))))
68.0ms
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02396
148962
2458562
3471762

prune124.0ms (3.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New98199
Fresh112
Picked011
Done101
Total1003103
Error
0b
Counts
103 → 3
Alt Table
StatusErrorProgram
0.1b
(fabs.f64 (fma.f64 (pow.f64 (PI.f64) -1/2) (fma.f64 1/5 (pow.f64 (fabs.f64 x) 5) (fma.f64 2 (fabs.f64 x) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3)))) (*.f64 (pow.f64 (PI.f64) -1/2) (*.f64 1/21 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6))))))
0.1b
(fabs.f64 (*.f64 (pow.f64 (PI.f64) -1/2) (+.f64 (fma.f64 1/5 (pow.f64 x 5) (fma.f64 2 x (*.f64 2/3 (pow.f64 x 3)))) (*.f64 1/21 (pow.f64 x 7)))))
0.5b
(fabs.f64 (/.f64 (fma.f64 1/21 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6)) (fma.f64 1/5 (pow.f64 (fabs.f64 x) 5) (fma.f64 2 (fabs.f64 x) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3))))) (sqrt.f64 (PI.f64))))
Compiler

Compiled 3641 to 2673 computations (26.6% saved)

localize15.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 1/5 (pow.f64 x 5) (fma.f64 2 x (*.f64 2/3 (pow.f64 x 3))))
0.1b
(*.f64 1/21 (pow.f64 x 7))
0.1b
(*.f64 (pow.f64 (PI.f64) -1/2) (+.f64 (fma.f64 1/5 (pow.f64 x 5) (fma.f64 2 x (*.f64 2/3 (pow.f64 x 3)))) (*.f64 1/21 (pow.f64 x 7))))
0.1b
(*.f64 2/3 (pow.f64 x 3))

series19.0ms (0.5%)

Counts
4 → 24
Calls

4 calls:

7.0ms
(*.f64 (pow.f64 (PI.f64) -1/2) (+.f64 (fma.f64 1/5 (pow.f64 x 5) (fma.f64 2 x (*.f64 2/3 (pow.f64 x 3)))) (*.f64 1/21 (pow.f64 x 7))))
6.0ms
(*.f64 1/21 (pow.f64 x 7))
3.0ms
(fma.f64 1/5 (pow.f64 x 5) (fma.f64 2 x (*.f64 2/3 (pow.f64 x 3))))
3.0ms
(*.f64 2/3 (pow.f64 x 3))

rewrite75.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
546×prod-diff_binary64
218×add-sqr-sqrt_binary64
213×log1p-expm1-u_binary64
213×expm1-log1p-u_binary64
207×add-log-exp_binary64
Counts
4 → 78
Calls

4 calls:

73.0ms
(fma.f64 1/5 (pow.f64 x 5) (fma.f64 2 x (*.f64 2/3 (pow.f64 x 3))))
73.0ms
(*.f64 1/21 (pow.f64 x 7))
73.0ms
(*.f64 (pow.f64 (PI.f64) -1/2) (+.f64 (fma.f64 1/5 (pow.f64 x 5) (fma.f64 2 x (*.f64 2/3 (pow.f64 x 3)))) (*.f64 1/21 (pow.f64 x 7))))
73.0ms
(*.f64 2/3 (pow.f64 x 3))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02166
146264
2481164
3562764

prune131.0ms (3.4%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1020102
Fresh011
Picked011
Done011
Total1023105
Error
0b
Counts
105 → 3
Alt Table
StatusErrorProgram
0.1b
(fabs.f64 (fma.f64 (pow.f64 (PI.f64) -1/2) (fma.f64 1/5 (pow.f64 (fabs.f64 x) 5) (fma.f64 2 (fabs.f64 x) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3)))) (*.f64 (pow.f64 (PI.f64) -1/2) (*.f64 1/21 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6))))))
0.1b
(fabs.f64 (*.f64 (pow.f64 (PI.f64) -1/2) (+.f64 (fma.f64 1/5 (pow.f64 x 5) (fma.f64 2 x (*.f64 2/3 (pow.f64 x 3)))) (*.f64 1/21 (pow.f64 x 7)))))
0.5b
(fabs.f64 (/.f64 (fma.f64 1/21 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6)) (fma.f64 1/5 (pow.f64 (fabs.f64 x) 5) (fma.f64 2 (fabs.f64 x) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3))))) (sqrt.f64 (PI.f64))))
Compiler

Compiled 3323 to 2675 computations (19.5% saved)

localize15.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6))
0.1b
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
0.3b
(/.f64 (fma.f64 1/21 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6)) (fma.f64 1/5 (pow.f64 (fabs.f64 x) 5) (fma.f64 2 (fabs.f64 x) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3))))) (sqrt.f64 (PI.f64)))
1.0b
(sqrt.f64 (PI.f64))

series80.0ms (2.1%)

Counts
4 → 24
Calls

4 calls:

58.0ms
(/.f64 (fma.f64 1/21 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6)) (fma.f64 1/5 (pow.f64 (fabs.f64 x) 5) (fma.f64 2 (fabs.f64 x) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3))))) (sqrt.f64 (PI.f64)))
12.0ms
(*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6))
10.0ms
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
0.0ms
(sqrt.f64 (PI.f64))

rewrite71.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
249×prod-diff_binary64
206×add-sqr-sqrt_binary64
200×log1p-expm1-u_binary64
200×expm1-log1p-u_binary64
197×add-log-exp_binary64
Counts
4 → 85
Calls

4 calls:

69.0ms
(*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6))
69.0ms
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
69.0ms
(/.f64 (fma.f64 1/21 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6)) (fma.f64 1/5 (pow.f64 (fabs.f64 x) 5) (fma.f64 2 (fabs.f64 x) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3))))) (sqrt.f64 (PI.f64)))
69.0ms
(sqrt.f64 (PI.f64))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02168
144446
2444646
3465246

prune109.0ms (2.8%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1090109
Fresh000
Picked011
Done022
Total1093112
Error
0b
Counts
112 → 3
Alt Table
StatusErrorProgram
0.1b
(fabs.f64 (fma.f64 (pow.f64 (PI.f64) -1/2) (fma.f64 1/5 (pow.f64 (fabs.f64 x) 5) (fma.f64 2 (fabs.f64 x) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3)))) (*.f64 (pow.f64 (PI.f64) -1/2) (*.f64 1/21 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6))))))
0.1b
(fabs.f64 (*.f64 (pow.f64 (PI.f64) -1/2) (+.f64 (fma.f64 1/5 (pow.f64 x 5) (fma.f64 2 x (*.f64 2/3 (pow.f64 x 3)))) (*.f64 1/21 (pow.f64 x 7)))))
0.5b
(fabs.f64 (/.f64 (fma.f64 1/21 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 6)) (fma.f64 1/5 (pow.f64 (fabs.f64 x) 5) (fma.f64 2 (fabs.f64 x) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3))))) (sqrt.f64 (PI.f64))))
Compiler

Compiled 3408 to 2343 computations (31.3% saved)

regimes845.0ms (22%)

Accuracy

Total 0.1b remaining (80.3%)

Threshold costs 0.1b (80.3%)

Counts
102 → 1
Compiler

Compiled 22047 to 14659 computations (33.5% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
fabs-mul_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02134
12634
22734
32734

end113.0ms (2.9%)

Compiler

Compiled 138 to 107 computations (22.5% saved)

Profiling

Loading profile data...