Details

Time bar (total: 13.4s)

analyze3.5s (26.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.5s (48.7%)

Results
6.4s8256×body128valid
Compiler

Compiled 338 to 238 computations (29.6% saved)

simplify74.0ms (0.6%)

Algorithm
egg-herbie
Rules
801×fma-def_binary32
676×div-sub_binary32
601×times-frac_binary32
366×associate-/l/_binary32
346×distribute-rgt-in_binary32
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
033138
166133
2117125
3212117
4404117
51310117
64092117
75339117

prune10.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 319 to 215 computations (32.6% saved)

localize111.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 (/.f32 alphay alphax) (tan.f32 (*.f32 (PI.f32) (fma.f32 2 u1 1/2))))
0.4b
(/.f32 (*.f32 (sin.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (*.f32 (PI.f32) (fma.f32 2 u1 1/2)))))) (sin.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (*.f32 (PI.f32) (fma.f32 2 u1 1/2))))))) (*.f32 alphay alphay))
12.7b
(tan.f32 (*.f32 (PI.f32) (fma.f32 2 u1 1/2)))
12.9b
(cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (*.f32 (PI.f32) (fma.f32 2 u1 1/2))))))

series310.0ms (2.3%)

Counts
4 → 120
Calls

4 calls:

136.0ms
(*.f32 (/.f32 alphay alphax) (tan.f32 (*.f32 (PI.f32) (fma.f32 2 u1 1/2))))
121.0ms
(/.f32 (*.f32 (sin.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (*.f32 (PI.f32) (fma.f32 2 u1 1/2)))))) (sin.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (*.f32 (PI.f32) (fma.f32 2 u1 1/2))))))) (*.f32 alphay alphay))
27.0ms
(tan.f32 (*.f32 (PI.f32) (fma.f32 2 u1 1/2)))
26.0ms
(cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (*.f32 (PI.f32) (fma.f32 2 u1 1/2))))))

rewrite278.0ms (2.1%)

Algorithm
egg-rewrite
Rules
62×egg
55×egg
27×egg
23×egg
Counts
4 → 167
Calls

4 calls:

97.0ms
(/.f32 (*.f32 (sin.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (*.f32 (PI.f32) (fma.f32 2 u1 1/2)))))) (sin.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (*.f32 (PI.f32) (fma.f32 2 u1 1/2))))))) (*.f32 alphay alphay))
68.0ms
(*.f32 (/.f32 alphay alphax) (tan.f32 (*.f32 (PI.f32) (fma.f32 2 u1 1/2))))
62.0ms
(cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (*.f32 (PI.f32) (fma.f32 2 u1 1/2))))))
47.0ms
(tan.f32 (*.f32 (PI.f32) (fma.f32 2 u1 1/2)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01421
129021
2347621
3501121
0811
116311
2177311
3533211
01730
137027
2471327
3604527
01217
124917
2298817
3516317

simplify113.0ms (0.8%)

Algorithm
egg-herbie
Rules
953×associate-/r*_binary32
566×fma-def_binary32
363×associate-*l/_binary32
271×associate-/r/_binary32
147×associate-*r*_binary32
Counts
287 → 187
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01293923
14053919
217593864
350653864

prune1.1s (8.6%)

Pruning

1 alts after pruning (0 fresh and 1 done)

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

Compiled 43367 to 27762 computations (36% saved)

regimes1.2s (9.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0.0b (0%)

Counts
45 → 1
Compiler

Compiled 40928 to 29467 computations (28% 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
02997
13697
24097
34297
44397
54297

end112.0ms (0.8%)

Compiler

Compiled 207 to 145 computations (30% saved)

Profiling

Loading profile data...