Details

Time bar (total: 12.9s)

analyze3.0s (23.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
0%0%100%2
0%0%100%3
0%0%100%4
0%0%100%5
0%0%100%6
0%0%100%7
0%0%100%8
0%0%100%9
0%0%100%10
0%0%100%11
0%0%100%12
0%0%100%13
0%0%100%14
Compiler

Compiled 123 to 87 computations (29.3% saved)

sample6.0s (46.8%)

Results
6.0s8256×body128valid
Compiler

Compiled 246 to 174 computations (29.3% saved)

preprocess56.0ms (0.4%)

Algorithm
egg-herbie
Rules
593×fma-def_binary32
355×associate-/l*_binary32
350×times-frac_binary32
251×associate-*l/_binary32
241×associate-/r*_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0142966
1321931
2644875
31822819
44225819
044
Stop Event
saturated
node limit
Compiler

Compiled 92 to 64 computations (30.4% saved)

simplify21.0ms (0.2%)

Algorithm
egg-herbie
Rules
790×fma-def_binary32
601×times-frac_binary32
347×distribute-rgt-in_binary32
336×associate-/l/_binary32
284×distribute-lft-in_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
033138
166133
2121125
3235117
4495117
51791117
Stop Event
node limit
Counts
1 → 2

prune10.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.2b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.2b
(/.f32 1 (sqrt.f32 (+.f32 1 (/.f32 (*.f32 (/.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 2 (PI.f32)) u1) (*.f32 1/2 (PI.f32))))))) (cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 2 (PI.f32)) u1) (*.f32 1/2 (PI.f32)))))))) (*.f32 alphax alphax)) (/.f32 (*.f32 (sin.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 2 (PI.f32)) u1) (*.f32 1/2 (PI.f32))))))) (sin.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 2 (PI.f32)) u1) (*.f32 1/2 (PI.f32)))))))) (*.f32 alphay alphay)))) u0) (-.f32 1 u0)))))
Compiler

Compiled 349 to 241 computations (30.9% saved)

localize111.0ms (0.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 2 (PI.f32)) u1) (*.f32 1/2 (PI.f32)))))
0.5b
(*.f32 (cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 2 (PI.f32)) u1) (*.f32 1/2 (PI.f32))))))) (cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 2 (PI.f32)) u1) (*.f32 1/2 (PI.f32))))))))
12.5b
(tan.f32 (+.f32 (*.f32 (*.f32 2 (PI.f32)) u1) (*.f32 1/2 (PI.f32))))
13.2b
(cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 2 (PI.f32)) u1) (*.f32 1/2 (PI.f32)))))))

series289.0ms (2.2%)

Counts
4 → 120
Calls

30 calls:

24.0ms
(*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 2 (PI.f32)) u1) (*.f32 1/2 (PI.f32)))))
alphay
0
21.0ms
(*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 2 (PI.f32)) u1) (*.f32 1/2 (PI.f32)))))
alphax
-inf
20.0ms
(*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 2 (PI.f32)) u1) (*.f32 1/2 (PI.f32)))))
alphay
-inf
19.0ms
(*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 2 (PI.f32)) u1) (*.f32 1/2 (PI.f32)))))
alphay
inf
18.0ms
(*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 2 (PI.f32)) u1) (*.f32 1/2 (PI.f32)))))
alphax
inf

rewrite47.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
195×add-sqr-sqrt_binary32
185×log1p-expm1-u_binary32
185×expm1-log1p-u_binary32
183×add-cbrt-cube_binary32
182×add-log-exp_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01789
137889
Stop Event
node limit
Counts
4 → 118

simplify84.0ms (0.6%)

Algorithm
egg-herbie
Rules
932×associate-/r*_binary32
563×fma-def_binary32
362×associate-*l/_binary32
268×associate-/r/_binary32
147×associate-*r*_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01154315
13924311
217943952
Stop Event
node limit
Counts
238 → 142

prune1.1s (8.9%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New4360436
Fresh000
Picked011
Done000
Total4361437
Error
0.2b
Counts
437 → 1
Alt Table
StatusErrorProgram
0.2b
(/.f32 1 (sqrt.f32 (+.f32 1 (/.f32 (*.f32 (/.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 2 (PI.f32)) u1) (*.f32 1/2 (PI.f32))))))) (cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 2 (PI.f32)) u1) (*.f32 1/2 (PI.f32)))))))) (*.f32 alphax alphax)) (/.f32 (*.f32 (sin.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 2 (PI.f32)) u1) (*.f32 1/2 (PI.f32))))))) (sin.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 2 (PI.f32)) u1) (*.f32 1/2 (PI.f32)))))))) (*.f32 alphay alphay)))) u0) (-.f32 1 u0)))))
Compiler

Compiled 44067 to 28405 computations (35.5% saved)

regimes2.0s (15.2%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0.0b (0%)

Counts
59 → 1
Compiler

Compiled 72008 to 51122 computations (29% saved)

simplify5.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
041144
156144
260144
362144
463144
Stop Event
saturated

end151.0ms (1.2%)

Stop Event
done
Compiler

Compiled 274 to 192 computations (29.9% saved)

Profiling

Loading profile data...