Details

Time bar (total: 3.8s)

analyze6.0ms (0.2%)

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.6s (41.3%)

Results
1.5s8254×body128valid
1.0msbody256valid
Compiler

Compiled 76 to 55 computations (27.6% saved)

simplify18.0ms (0.5%)

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.1%)

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)

localize14.0ms (0.4%)

Local error

Found 1 expressions with local error:

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

series4.0ms (0.1%)

Counts
1 → 24
Calls

1 calls:

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

rewrite71.0ms (1.9%)

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

1 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
068
11238
214548
349608
449658
000
100

simplify25.0ms (0.6%)

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
56 → 40
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
014207
133171
269171
3120171
4206171
5332171
6438171
7446171
8457171
9422171

prune39.0ms (1%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New35540
Fresh000
Picked101
Done000
Total36541
Error
0b
Counts
41 → 5
Alt Table
StatusErrorProgram
0.0b
(sqrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 2))
0.5b
(pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 3)
0.8b
(+.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.2b
(+.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.1b
(-.f32 (fma.f32 maxCos ux 1) ux)
Compiler

Compiled 577 to 370 computations (35.9% saved)

localize23.0ms (0.6%)

Local error

Found 3 expressions with local error:

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

series13.0ms (0.3%)

Counts
2 → 48
Calls

2 calls:

9.0ms
(pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 2)
4.0ms
(sqrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 2))

rewrite96.0ms (2.5%)

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

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
116819
2180119
3499919
4496019
5500519
000
100

simplify61.0ms (1.6%)

Algorithm
egg-herbie
Rules
636×unswap-sqr_binary32
467×cancel-sign-sub-inv_binary32
464×sub-neg_binary32
362×fma-neg_binary32
344×associate-+l+_binary32
Counts
119 → 95
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
039934
1132807
2397725
31439679
43491679
54979679

prune214.0ms (5.6%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New1341135
Fresh134
Picked101
Done000
Total1364140
Error
0b
Counts
140 → 4
Alt Table
StatusErrorProgram
0.5b
(pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 3)
0.3b
(sqrt.f32 (+.f32 (fma.f32 ux (fma.f32 2 maxCos -2) 1) (*.f32 (*.f32 ux ux) (+.f32 (fma.f32 maxCos maxCos 1) (*.f32 maxCos -2)))))
0.8b
(+.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.1b
(-.f32 (fma.f32 maxCos ux 1) ux)
Compiler

Compiled 1865 to 1204 computations (35.4% saved)

localize13.0ms (0.3%)

Local error

Found 1 expressions with local error:

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

series4.0ms (0.1%)

Counts
1 → 24
Calls

1 calls:

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

rewrite102.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
624×log1p-expm1-u_binary32
624×expm1-log1p-u_binary32
359×prod-diff_binary32
278×fma-udef_binary32
238×fma-def_binary32
Counts
1 → 99
Calls

1 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
068
11248
215348
349848
449658
549718
000
100

simplify26.0ms (0.7%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
014207
133171
269171
3120171
4206171
5332171
6438171
7446171
8457171
9422171

prune93.0ms (2.4%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1080108
Fresh033
Picked011
Done000
Total1084112
Error
0b
Counts
112 → 4
Alt Table
StatusErrorProgram
0.5b
(pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 3)
0.3b
(sqrt.f32 (+.f32 (fma.f32 ux (fma.f32 2 maxCos -2) 1) (*.f32 (*.f32 ux ux) (+.f32 (fma.f32 maxCos maxCos 1) (*.f32 maxCos -2)))))
0.8b
(+.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.1b
(-.f32 (fma.f32 maxCos ux 1) ux)
Compiler

Compiled 1636 to 865 computations (47.1% saved)

localize53.0ms (1.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f32 (*.f32 ux ux) (+.f32 (fma.f32 maxCos maxCos 1) (*.f32 maxCos -2)))
0.1b
(+.f32 (fma.f32 maxCos maxCos 1) (*.f32 maxCos -2))
0.2b
(sqrt.f32 (+.f32 (fma.f32 ux (fma.f32 2 maxCos -2) 1) (*.f32 (*.f32 ux ux) (+.f32 (fma.f32 maxCos maxCos 1) (*.f32 maxCos -2)))))
0.2b
(+.f32 (fma.f32 ux (fma.f32 2 maxCos -2) 1) (*.f32 (*.f32 ux ux) (+.f32 (fma.f32 maxCos maxCos 1) (*.f32 maxCos -2))))

series69.0ms (1.8%)

Counts
4 → 84
Calls

4 calls:

39.0ms
(sqrt.f32 (+.f32 (fma.f32 ux (fma.f32 2 maxCos -2) 1) (*.f32 (*.f32 ux ux) (+.f32 (fma.f32 maxCos maxCos 1) (*.f32 maxCos -2)))))
15.0ms
(+.f32 (fma.f32 ux (fma.f32 2 maxCos -2) 1) (*.f32 (*.f32 ux ux) (+.f32 (fma.f32 maxCos maxCos 1) (*.f32 maxCos -2))))
12.0ms
(*.f32 (*.f32 ux ux) (+.f32 (fma.f32 maxCos maxCos 1) (*.f32 maxCos -2)))
2.0ms
(+.f32 (fma.f32 maxCos maxCos 1) (*.f32 maxCos -2))

rewrite84.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
282×fma-neg_binary32
271×expm1-udef_binary32
271×log1p-udef_binary32
156×add-sqr-sqrt_binary32
151×log1p-expm1-u_binary32
Counts
4 → 133
Calls

4 calls:

80.0ms
(*.f32 (*.f32 ux ux) (+.f32 (fma.f32 maxCos maxCos 1) (*.f32 maxCos -2)))
80.0ms
(+.f32 (fma.f32 maxCos maxCos 1) (*.f32 maxCos -2))
80.0ms
(sqrt.f32 (+.f32 (fma.f32 ux (fma.f32 2 maxCos -2) 1) (*.f32 (*.f32 ux ux) (+.f32 (fma.f32 maxCos maxCos 1) (*.f32 maxCos -2)))))
80.0ms
(+.f32 (fma.f32 ux (fma.f32 2 maxCos -2) 1) (*.f32 (*.f32 ux ux) (+.f32 (fma.f32 maxCos maxCos 1) (*.f32 maxCos -2))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01586
132174
2393674
3493874
000
100

simplify103.0ms (2.7%)

Algorithm
egg-herbie
Rules
522×cancel-sign-sub-inv_binary32
436×fma-neg_binary32
432×times-frac_binary32
244×fma-def_binary32
226×sub-neg_binary32
Counts
217 → 195
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01703368
15862759
222502479
345892451
453382451

prune225.0ms (5.9%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1950195
Fresh022
Picked011
Done011
Total1954199
Error
0b
Counts
199 → 4
Alt Table
StatusErrorProgram
0.5b
(pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 3)
0.3b
(sqrt.f32 (+.f32 (fma.f32 ux (fma.f32 2 maxCos -2) 1) (*.f32 (*.f32 ux ux) (+.f32 (fma.f32 maxCos maxCos 1) (*.f32 maxCos -2)))))
0.8b
(+.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.1b
(-.f32 (fma.f32 maxCos ux 1) ux)
Compiler

Compiled 7062 to 4823 computations (31.7% saved)

regimes814.0ms (21.3%)

Accuracy

Total 0.0b remaining (64.9%)

Threshold costs 0.0b (64.9%)

Counts
155 → 1
Compiler

Compiled 9851 to 7031 computations (28.6% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary32
*-commutative_binary32
sub-neg_binary32
unsub-neg_binary32
neg-sub0_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0915
11715
21915
32015
41915

end69.0ms (1.8%)

Compiler

Compiled 93 to 64 computations (31.2% saved)

Profiling

Loading profile data...