Details

Time bar (total: 23.0s)

analyze5.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%0.1%99.9%0
0.1%0%99.9%1
Compiler

Compiled 33 to 24 computations (27.3% saved)

sample1.5s (6.4%)

Results
1.4s8256×body128valid
Compiler

Compiled 76 to 55 computations (27.6% saved)

simplify18.0ms (0.1%)

Algorithm
egg-herbie
Rules
199×fma-def_binary32
155×fma-neg_binary32
47×cancel-sign-sub-inv_binary32
34×sub-neg_binary32
26×unsub-neg_binary32
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0710
1158
2358
3638
41428
52628
63818
74348
84588
94638
104288

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.0b
(fma.f32 ux maxCos (-.f32 1 ux))
Compiler

Compiled 34 to 22 computations (35.3% saved)

localize12.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(fma.f32 ux maxCos (-.f32 1 ux))

series5.0ms (0%)

Counts
1 → 24
Calls

1 calls:

5.0ms
(fma.f32 ux maxCos (-.f32 1 ux))

rewrite72.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
583×log1p-expm1-u_binary32
583×expm1-log1p-u_binary32
265×log-prod_binary32
227×prod-diff_binary32
110×expm1-udef_binary32
Counts
1 → 31
Calls

1 calls:

71.0ms
(fma.f32 ux maxCos (-.f32 1 ux))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068
11238
214548
349608
449658

simplify22.0ms (0.1%)

Algorithm
egg-herbie
Rules
161×fma-def_binary32
149×fma-neg_binary32
26×associate--r+_binary32
26×sub-neg_binary32
24×distribute-rgt-in_binary32
Counts
55 → 39
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
014207
133171
269171
3120171
4206171
5332171
6438171
7446171
8457171
9422171

prune31.0ms (0.1%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New35439
Fresh000
Picked011
Done000
Total35540
Error
0.0b
Counts
40 → 5
Alt Table
StatusErrorProgram
0.5b
(-.f32 (exp.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 1)
0.7b
(+.f32 (log.f32 (sqrt.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))) (log.f32 (sqrt.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))
1.1b
(+.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) (cbrt.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))) (log.f32 (cbrt.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))
0.0b
(fma.f32 ux maxCos (-.f32 1 ux))
0.5b
(pow.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)
Compiler

Compiled 564 to 363 computations (35.6% saved)

localize20.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f32 ux maxCos (-.f32 1 ux))
0.2b
(sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))
0.5b
(pow.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)

series327.0ms (1.4%)

Counts
2 → 16
Calls

2 calls:

292.0ms
(pow.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)
35.0ms
(sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))

rewrite95.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
710×log1p-expm1-u_binary32
710×expm1-log1p-u_binary32
216×prod-diff_binary32
161×fma-udef_binary32
135×log1p-udef_binary32
Counts
2 → 66
Calls

2 calls:

94.0ms
(sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))
94.0ms
(pow.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0918
116918
2180318
3499918
4496018
5500518

simplify43.0ms (0.2%)

Algorithm
egg-herbie
Rules
510×fma-def_binary32
411×sub-neg_binary32
400×associate-*l*_binary32
357×associate-*r*_binary32
269×unswap-sqr_binary32
Counts
82 → 83
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
069380
1226361
2763338
33538332
45040332

prune105.0ms (0.5%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1202122
Fresh123
Picked101
Done011
Total1225127
Error
0b
Counts
127 → 5
Alt Table
StatusErrorProgram
0.4b
(*.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/4) (*.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/4) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))
0.7b
(+.f32 (log.f32 (sqrt.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))) (log.f32 (sqrt.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))
0.5b
(-.f32 (exp.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 1)
0.5b
(pow.f32 (pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3/2) 1/3) 2)
0.0b
(fma.f32 ux maxCos (-.f32 1 ux))
Compiler

Compiled 1977 to 1333 computations (32.6% saved)

localize32.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/4)
0.2b
(sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))
0.2b
(*.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/4) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
0.3b
(*.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/4) (*.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/4) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))

series124.0ms (0.5%)

Counts
3 → 72
Calls

3 calls:

96.0ms
(*.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/4) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
22.0ms
(pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/4)
5.0ms
(*.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/4) (*.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/4) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))

rewrite52.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
864×log1p-expm1-u_binary32
864×expm1-log1p-u_binary32
216×prod-diff_binary32
103×add-log-exp_binary32
102×add-cbrt-cube_binary32
Counts
3 → 56
Calls

3 calls:

51.0ms
(pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/4)
51.0ms
(*.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/4) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
51.0ms
(*.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/4) (*.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/4) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01170
123030
2218830
3552130

simplify113.0ms (0.5%)

Algorithm
egg-herbie
Rules
736×fma-def_binary32
568×associate-/r*_binary32
477×times-frac_binary32
288×associate-/l*_binary32
211×*-commutative_binary32
Counts
128 → 154
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
06217909
122507246
254667246

prune471.0ms (2.1%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New2530253
Fresh033
Picked011
Done011
Total2535258
Error
0b
Counts
258 → 5
Alt Table
StatusErrorProgram
0.4b
(*.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/4) (*.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/4) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))
0.7b
(+.f32 (log.f32 (sqrt.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))) (log.f32 (sqrt.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))
0.5b
(-.f32 (exp.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 1)
0.5b
(pow.f32 (pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3/2) 1/3) 2)
0.0b
(fma.f32 ux maxCos (-.f32 1 ux))
Compiler

Compiled 17303 to 12418 computations (28.2% saved)

localize35.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f32 ux maxCos (-.f32 1 ux))
0.1b
(pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3/2) 1/3)
0.3b
(pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3/2)
0.5b
(pow.f32 (pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3/2) 1/3) 2)

series18.8s (81.7%)

Counts
3 → 72
Calls

3 calls:

18.6s
(pow.f32 (pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3/2) 1/3) 2)
88.0ms
(pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3/2)
63.0ms
(pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3/2) 1/3)

rewrite86.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
410×log-prod_binary32
267×pow2_binary32
226×prod-diff_binary32
181×expm1-udef_binary32
180×pow1/3_binary32
Counts
3 → 103
Calls

3 calls:

84.0ms
(pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3/2) 1/3)
84.0ms
(pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3/2)
84.0ms
(pow.f32 (pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3/2) 1/3) 2)
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01236
126129
2243029
3494429
4485029

simplify109.0ms (0.5%)

Algorithm
egg-herbie
Rules
378×fma-def_binary32
352×sub-neg_binary32
275×fma-neg_binary32
263×+-commutative_binary32
240×associate-/r*_binary32
Counts
175 → 214
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03454672
111664458
241244284
349924284

prune323.0ms (1.4%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New2530253
Fresh022
Picked011
Done022
Total2535258
Error
0b
Counts
258 → 5
Alt Table
StatusErrorProgram
0.4b
(*.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/4) (*.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/4) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))
0.7b
(+.f32 (log.f32 (sqrt.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))) (log.f32 (sqrt.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))
0.5b
(-.f32 (exp.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 1)
0.5b
(pow.f32 (pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3/2) 1/3) 2)
0.0b
(fma.f32 ux maxCos (-.f32 1 ux))
Compiler

Compiled 7650 to 5236 computations (31.6% saved)

regimes555.0ms (2.4%)

Accuracy

Total 0.0b remaining (59.7%)

Threshold costs 0.0b (59.7%)

Counts
114 → 1
Compiler

Compiled 7770 to 5966 computations (23.2% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary32
sub-neg_binary32
*-commutative_binary32
neg-sub0_binary32
neg-mul-1_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068
1108
2148
3168
4178
5168

end66.0ms (0.3%)

Compiler

Compiled 105 to 75 computations (28.6% saved)

Profiling

Loading profile data...