Details

Time bar (total: 9.5s)

analyze1.7s (17.9%)

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 57 to 41 computations (28.1% saved)

sample2.1s (22.2%)

Results
2.1s8256×body128valid
Compiler

Compiled 114 to 82 computations (28.1% saved)

preprocess51.0ms (0.5%)

Algorithm
egg-herbie
Rules
682×div-sub_binary32
604×sub-neg_binary32
450×fma-neg_binary32
303×fma-def_binary32
194×cancel-sign-sub-inv_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
063286
1145275
2235275
3337275
4408275
5546275
6678275
71063275
81640275
92340275
103445275
055
Stop Event
saturated
node limit
Compiler

Compiled 22 to 15 computations (31.8% saved)

simplify18.0ms (0.2%)

Algorithm
egg-herbie
Rules
195×fma-neg_binary32
110×fma-def_binary32
65×cancel-sign-sub-inv_binary32
40×div-sub_binary32
39×sub-neg_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01626
13025
24225
35725
47025
59225
611725
716625
822425
927025
1032325
1141725
1258125
1391925
1499025
15103125
16103625
Stop Event
saturated
Counts
1 → 2

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.4b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.5b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
13.6b
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
Compiler

Compiled 124 to 77 computations (37.9% saved)

localize43.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))
0.2b
(/.f32 sin2phi (*.f32 alphay alphay))
0.3b
(/.f32 cos2phi (*.f32 alphax alphax))
0.4b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))

series212.0ms (2.2%)

Counts
4 → 156
Calls

39 calls:

13.0ms
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
alphay
-inf
10.0ms
(/.f32 cos2phi (*.f32 alphax alphax))
cos2phi
-inf
10.0ms
(+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))
sin2phi
inf
9.0ms
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
alphax
inf
8.0ms
(+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))
cos2phi
0

rewrite48.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
176×egg-rr
173×add-sqr-sqrt_binary32
165×expm1-log1p-u_binary32
164×log1p-expm1-u_binary32
162×add-cbrt-cube_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01555
133647
Stop Event
node limit
Counts
4 → 176

simplify75.0ms (0.8%)

Algorithm
egg-herbie
Rules
684×associate-/r*_binary32
598×associate-*r*_binary32
495×associate-*l*_binary32
222×fma-def_binary32
197×associate-*r/_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01224738
13724542
213984534
Stop Event
node limit
Counts
332 → 223

prune239.0ms (2.5%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New21310223
Fresh101
Picked101
Done000
Total21510225
Error
0.0b
Counts
225 → 10
Alt Table
StatusErrorProgram
8.1b
(*.f32 (/.f32 (log1p.f32 (neg.f32 u0)) sin2phi) (neg.f32 (*.f32 alphay alphay)))
0.6b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay))))
0.5b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2))))
4.1b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 alphay alphay) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) sin2phi)) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) (*.f32 alphay alphay))))
0.6b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3) (/.f32 sin2phi (*.f32 alphay alphay))))
2.2b
(fma.f32 1/2 (/.f32 u0 (/.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))) u0)) (fma.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
7.7b
(*.f32 (/.f32 (sqrt.f32 (log1p.f32 u0)) 1) (/.f32 (sqrt.f32 (log1p.f32 u0)) (fma.f32 cos2phi (pow.f32 alphax -2) (*.f32 sin2phi (pow.f32 alphay -2)))))
4.7b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 alphay (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) (/.f32 sin2phi alphay))) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) alphay)))
7.1b
(/.f32 u0 (+.f32 (/.f32 sin2phi (pow.f32 alphay 2)) (/.f32 cos2phi (pow.f32 alphax 2))))
29.7b
(-.f32 (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 sin2phi (pow.f32 alphax 4))) (*.f32 (pow.f32 cos2phi 2) (pow.f32 alphay 2))) (+.f32 (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 (pow.f32 sin2phi 2) (pow.f32 alphax 6))) (*.f32 (pow.f32 cos2phi 3) (pow.f32 alphay 4))) (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (pow.f32 alphax 2)) cos2phi)))
Compiler

Compiled 6394 to 2879 computations (55% saved)

localize35.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f32 alphax -2)
0.2b
(fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2)))
0.3b
(*.f32 cos2phi (pow.f32 alphax -2))
0.4b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2))))

series154.0ms (1.6%)

Counts
4 → 144
Calls

36 calls:

8.0ms
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2))))
alphay
inf
7.0ms
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2))))
alphay
-inf
7.0ms
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2))))
alphax
-inf
7.0ms
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2))))
alphax
inf
6.0ms
(fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2)))
sin2phi
0

rewrite53.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
298×prod-diff_binary32
244×log1p-udef_binary32
158×add-sqr-sqrt_binary32
149×expm1-log1p-u_binary32
148×log1p-expm1-u_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01548
131544
2404344
Stop Event
node limit
Counts
4 → 92

simplify69.0ms (0.7%)

Algorithm
egg-herbie
Rules
686×associate-/r*_binary32
597×associate-*r*_binary32
497×associate-*l*_binary32
229×fma-def_binary32
197×associate-*r/_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01234654
13734458
214014450
Stop Event
node limit
Counts
236 → 141

prune130.0ms (1.4%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1401141
Fresh189
Picked011
Done000
Total14110151
Error
0.0b
Counts
151 → 10
Alt Table
StatusErrorProgram
8.1b
(*.f32 (/.f32 (log1p.f32 (neg.f32 u0)) sin2phi) (neg.f32 (*.f32 alphay alphay)))
0.6b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay))))
0.5b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2))))
4.1b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 alphay alphay) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) sin2phi)) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) (*.f32 alphay alphay))))
0.6b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3) (/.f32 sin2phi (*.f32 alphay alphay))))
4.7b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 alphay (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) (/.f32 sin2phi alphay))) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) alphay)))
2.2b
(fma.f32 1/2 (/.f32 u0 (/.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))) u0)) (fma.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
7.1b
(/.f32 u0 (+.f32 (/.f32 sin2phi (pow.f32 alphay 2)) (/.f32 cos2phi (pow.f32 alphax 2))))
7.7b
(*.f32 (/.f32 (sqrt.f32 (log1p.f32 u0)) 1) (/.f32 (sqrt.f32 (log1p.f32 u0)) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2)))))
29.7b
(-.f32 (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 sin2phi (pow.f32 alphax 4))) (*.f32 (pow.f32 cos2phi 2) (pow.f32 alphay 2))) (+.f32 (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 (pow.f32 sin2phi 2) (pow.f32 alphax 6))) (*.f32 (pow.f32 cos2phi 3) (pow.f32 alphay 4))) (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (pow.f32 alphax 2)) cos2phi)))
Compiler

Compiled 4252 to 2341 computations (44.9% saved)

localize45.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f32 alphax (*.f32 alphay alphay))
0.3b
(/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay)))
0.3b
(*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay))
0.4b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay))))

series183.0ms (1.9%)

Counts
4 → 168
Calls

42 calls:

9.0ms
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay))))
alphax
0
8.0ms
(/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay)))
sin2phi
inf
7.0ms
(*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay))
alphax
-inf
7.0ms
(/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay)))
sin2phi
0
7.0ms
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay))))
alphax
-inf

rewrite37.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
194×add-sqr-sqrt_binary32
183×expm1-log1p-u_binary32
182×log1p-expm1-u_binary32
180×add-cbrt-cube_binary32
178×add-exp-log_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01772
137968
Stop Event
node limit
Counts
4 → 117

simplify75.0ms (0.8%)

Algorithm
egg-herbie
Rules
794×associate-/r*_binary32
395×fma-def_binary32
267×associate-*l/_binary32
234×associate-/r/_binary32
167×unswap-sqr_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01365129
14454919
218154785
Stop Event
node limit
Counts
285 → 168

prune150.0ms (1.6%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New1662168
Fresh178
Picked011
Done011
Total16711178
Error
0.0b
Counts
178 → 11
Alt Table
StatusErrorProgram
8.1b
(*.f32 (/.f32 (log1p.f32 (neg.f32 u0)) sin2phi) (neg.f32 (*.f32 alphay alphay)))
1.6b
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (pow.f32 u0 2) (*.f32 (pow.f32 alphay 2) alphax)) (+.f32 (*.f32 sin2phi alphax) (/.f32 (*.f32 cos2phi (pow.f32 alphay 2)) alphax)))) (+.f32 (*.f32 1/4 (/.f32 (*.f32 (pow.f32 u0 4) (*.f32 (pow.f32 alphay 2) alphax)) (+.f32 (*.f32 sin2phi alphax) (/.f32 (*.f32 cos2phi (pow.f32 alphay 2)) alphax)))) (+.f32 (*.f32 1/3 (/.f32 (*.f32 (pow.f32 u0 3) (*.f32 (pow.f32 alphay 2) alphax)) (+.f32 (*.f32 sin2phi alphax) (/.f32 (*.f32 cos2phi (pow.f32 alphay 2)) alphax)))) (/.f32 (*.f32 u0 (*.f32 (pow.f32 alphay 2) alphax)) (+.f32 (*.f32 sin2phi alphax) (/.f32 (*.f32 cos2phi (pow.f32 alphay 2)) alphax))))))
0.6b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay))))
2.2b
(fma.f32 1/2 (/.f32 u0 (/.f32 (fma.f32 alphax sin2phi (*.f32 (/.f32 (*.f32 alphay alphay) alphax) cos2phi)) (*.f32 u0 (*.f32 alphay (*.f32 alphay alphax))))) (fma.f32 1/3 (*.f32 (/.f32 (*.f32 alphay (*.f32 alphay alphax)) (fma.f32 alphax sin2phi (*.f32 (/.f32 (*.f32 alphay alphay) alphax) cos2phi))) (pow.f32 u0 3)) (*.f32 (/.f32 (*.f32 alphay (*.f32 alphay alphax)) (fma.f32 alphax sin2phi (*.f32 (/.f32 (*.f32 alphay alphay) alphax) cos2phi))) u0)))
0.5b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2))))
4.1b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 alphay alphay) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) sin2phi)) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) (*.f32 alphay alphay))))
0.6b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3) (/.f32 sin2phi (*.f32 alphay alphay))))
4.7b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 alphay (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) (/.f32 sin2phi alphay))) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) alphay)))
2.2b
(fma.f32 1/2 (/.f32 u0 (/.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))) u0)) (fma.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
7.7b
(*.f32 (/.f32 (sqrt.f32 (log1p.f32 u0)) 1) (/.f32 (sqrt.f32 (log1p.f32 u0)) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2)))))
29.7b
(-.f32 (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 sin2phi (pow.f32 alphax 4))) (*.f32 (pow.f32 cos2phi 2) (pow.f32 alphay 2))) (+.f32 (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 (pow.f32 sin2phi 2) (pow.f32 alphax 6))) (*.f32 (pow.f32 cos2phi 3) (pow.f32 alphay 4))) (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (pow.f32 alphax 2)) cos2phi)))
Compiler

Compiled 6062 to 1982 computations (67.3% saved)

localize46.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f32 sin2phi (*.f32 alphay alphay))
0.3b
(*.f32 cos2phi (pow.f32 alphax -2))
0.4b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3) (/.f32 sin2phi (*.f32 alphay alphay))))
0.8b
(pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3)

series123.0ms (1.3%)

Counts
2 → 60
Calls

21 calls:

18.0ms
(pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3)
cos2phi
-inf
8.0ms
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3) (/.f32 sin2phi (*.f32 alphay alphay))))
cos2phi
-inf
7.0ms
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3) (/.f32 sin2phi (*.f32 alphay alphay))))
alphax
-inf
7.0ms
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3) (/.f32 sin2phi (*.f32 alphay alphay))))
alphay
-inf
7.0ms
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3) (/.f32 sin2phi (*.f32 alphay alphay))))
alphax
inf

rewrite29.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
193×add-sqr-sqrt_binary32
187×expm1-log1p-u_binary32
186×log1p-expm1-u_binary32
181×add-cbrt-cube_binary32
179×add-exp-log_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01932
141026
Stop Event
node limit
Counts
2 → 73

simplify58.0ms (0.6%)

Algorithm
egg-herbie
Rules
682×associate-/r*_binary32
599×associate-*r*_binary32
492×associate-*l*_binary32
229×fma-def_binary32
197×associate-*r/_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01213742
13723546
214043538
Stop Event
node limit
Counts
133 → 113

prune160.0ms (1.7%)

Pruning

11 alts after pruning (8 fresh and 3 done)

PrunedKeptTotal
New1640164
Fresh088
Picked011
Done022
Total16411175
Error
0.0b
Counts
175 → 11
Alt Table
StatusErrorProgram
8.1b
(*.f32 (/.f32 (log1p.f32 (neg.f32 u0)) sin2phi) (neg.f32 (*.f32 alphay alphay)))
1.6b
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (pow.f32 u0 2) (*.f32 (pow.f32 alphay 2) alphax)) (+.f32 (*.f32 sin2phi alphax) (/.f32 (*.f32 cos2phi (pow.f32 alphay 2)) alphax)))) (+.f32 (*.f32 1/4 (/.f32 (*.f32 (pow.f32 u0 4) (*.f32 (pow.f32 alphay 2) alphax)) (+.f32 (*.f32 sin2phi alphax) (/.f32 (*.f32 cos2phi (pow.f32 alphay 2)) alphax)))) (+.f32 (*.f32 1/3 (/.f32 (*.f32 (pow.f32 u0 3) (*.f32 (pow.f32 alphay 2) alphax)) (+.f32 (*.f32 sin2phi alphax) (/.f32 (*.f32 cos2phi (pow.f32 alphay 2)) alphax)))) (/.f32 (*.f32 u0 (*.f32 (pow.f32 alphay 2) alphax)) (+.f32 (*.f32 sin2phi alphax) (/.f32 (*.f32 cos2phi (pow.f32 alphay 2)) alphax))))))
0.6b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay))))
2.2b
(fma.f32 1/2 (/.f32 u0 (/.f32 (fma.f32 alphax sin2phi (*.f32 (/.f32 (*.f32 alphay alphay) alphax) cos2phi)) (*.f32 u0 (*.f32 alphay (*.f32 alphay alphax))))) (fma.f32 1/3 (*.f32 (/.f32 (*.f32 alphay (*.f32 alphay alphax)) (fma.f32 alphax sin2phi (*.f32 (/.f32 (*.f32 alphay alphay) alphax) cos2phi))) (pow.f32 u0 3)) (*.f32 (/.f32 (*.f32 alphay (*.f32 alphay alphax)) (fma.f32 alphax sin2phi (*.f32 (/.f32 (*.f32 alphay alphay) alphax) cos2phi))) u0)))
0.5b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2))))
4.1b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 alphay alphay) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) sin2phi)) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) (*.f32 alphay alphay))))
0.6b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3) (/.f32 sin2phi (*.f32 alphay alphay))))
4.7b
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 alphay (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) (/.f32 sin2phi alphay))) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) alphay)))
2.2b
(fma.f32 1/2 (/.f32 u0 (/.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))) u0)) (fma.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
7.7b
(*.f32 (/.f32 (sqrt.f32 (log1p.f32 u0)) 1) (/.f32 (sqrt.f32 (log1p.f32 u0)) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2)))))
29.7b
(-.f32 (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 sin2phi (pow.f32 alphax 4))) (*.f32 (pow.f32 cos2phi 2) (pow.f32 alphay 2))) (+.f32 (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 (pow.f32 sin2phi 2) (pow.f32 alphax 6))) (*.f32 (pow.f32 cos2phi 3) (pow.f32 alphay 4))) (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (pow.f32 alphax 2)) cos2phi)))
Compiler

Compiled 4919 to 2440 computations (50.4% saved)

regimes3.5s (36.7%)

Accuracy

Total 0.5b remaining (91.8%)

Threshold costs 0.5b (91.8%)

Counts
242 → 1
Compiler

Compiled 100417 to 66949 computations (33.3% saved)

simplify2.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
01625
12525
23125
33525
43625
Stop Event
saturated

end174.0ms (1.8%)

Stop Event
fuel
Compiler

Compiled 483 to 287 computations (40.6% saved)

Profiling

Loading profile data...