Details

Time bar (total: 12.8s)

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

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)

simplify28.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

prune7.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)

localize114.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)))))))

series262.0ms (2.1%)

Counts
4 → 120
Calls

30 calls:

22.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)))))
alphay
-inf
20.0ms
(*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 2 (PI.f32)) u1) (*.f32 1/2 (PI.f32)))))
alphax
0
19.0ms
(*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 2 (PI.f32)) u1) (*.f32 1/2 (PI.f32)))))
alphax
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
199×add-sqr-sqrt_binary32
194×*-un-lft-identity_binary32
194×pow1_binary32
185×add-exp-log_binary32
185×add-log-exp_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01789
137889
017123
Stop Event
saturated
node limit
Counts
4 → 118

simplify80.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.0s (8.1%)

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

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

end129.0ms (1%)

Stop Event
done
Compiler

Compiled 274 to 192 computations (29.9% saved)

Profiling

Loading profile data...