Details

Time bar (total: 35.0s)

analyze1.8s (5.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 42 to 30 computations (28.6% saved)

sample63.0ms (0.2%)

Algorithm
intervals
Results
25.0ms256×body128valid
11.0ms256×pre128true
Compiler

Compiled 69 to 50 computations (27.5% saved)

simplify23.0ms (0.1%)

Algorithm
egg-herbie
Rules
65×cancel-sign-sub-inv_binary32
42×sub-neg_binary32
41×div-sub_binary32
32×distribute-rgt-neg-in_binary32
29×distribute-rgt-in_binary32
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01626
13026
24126
35326
46226
57326
69326
712126
814326
916026
1019926
1121526
1230326
1329026
1431626
1531126
1631226
1727126

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
12.2b
Counts
1 → 1
Alt Table
StatusErrorProgram
12.2b
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
Compiler

Compiled 44 to 30 computations (31.8% saved)

localize46.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(/.f32 sin2phi (*.f32 alphay alphay))
0.3b
(/.f32 cos2phi (*.f32 alphax alphax))
0.5b
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
13.7b
(log.f32 (-.f32 1 u0))

rewrite188.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
8.2b
Rules
66×*-un-lft-identity_binary32
54×times-frac_binary32
40×add-sqr-sqrt_binary32
37×add-cube-cbrt_binary32
20×distribute-lft-neg-in_binary32
Counts
4 → 140
Calls

4 calls:

11.0ms
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
4.0ms
(/.f32 sin2phi (*.f32 alphay alphay))
3.0ms
(/.f32 cos2phi (*.f32 alphax alphax))
3.0ms
(log.f32 (-.f32 1 u0))
Compiler

Compiled 3127 to 1166 computations (62.7% saved)

series302.0ms (0.9%)

Error
0.4b
Counts
4 → 66
Calls

4 calls:

214.0ms
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
20.0ms
(/.f32 sin2phi (*.f32 alphay alphay))
20.0ms
(/.f32 cos2phi (*.f32 alphax alphax))
12.0ms
(log.f32 (-.f32 1 u0))
Compiler

Compiled 3875 to 2864 computations (26.1% saved)

simplify178.0ms (0.5%)

Algorithm
egg-herbie
Rules
438×associate-/l/_binary32
408×div-sub_binary32
199×times-frac_binary32
190×associate-/l*_binary32
190×distribute-frac-neg_binary32
Counts
206 → 171
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03106776
17236634
224256628
348466628
454016628

prune147.0ms (0.4%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New15615171
Fresh000
Picked101
Done000
Total15715172
Error
0.2b
Counts
172 → 15
Alt Table
StatusErrorProgram
12.8b
(/.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (*.f32 u0 u0))) (log.f32 (+.f32 u0 1)))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
12.2b
(*.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u0))) (cbrt.f32 (log.f32 (-.f32 1 u0)))) (/.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u0)))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))
12.2b
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 (*.f32 (cbrt.f32 cos2phi) (cbrt.f32 cos2phi)) (/.f32 alphax (/.f32 (cbrt.f32 cos2phi) alphax))) (/.f32 sin2phi (*.f32 alphay alphay))))
12.2b
(*.f32 (/.f32 -1 (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (/.f32 (log.f32 (-.f32 1 u0)) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
12.2b
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (*.f32 (cbrt.f32 sin2phi) (cbrt.f32 sin2phi)) (/.f32 alphay (/.f32 (cbrt.f32 sin2phi) alphay)))))
12.4b
(exp.f32 (log.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
12.8b
(/.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (pow.f32 u0 3))) (log.f32 (+.f32 1 (+.f32 u0 (*.f32 u0 u0)))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
12.2b
(*.f32 (/.f32 -1 (*.f32 (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (/.f32 (log.f32 (-.f32 1 u0)) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
2.2b
(+.f32 (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 u0 u0) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (*.f32 1/4 (/.f32 (pow.f32 u0 4) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))))
4.3b
(+.f32 (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (*.f32 1/2 (/.f32 (*.f32 u0 u0) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
8.3b
(/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
2.2b
(/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
18.5b
(*.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (-.f32 (/.f32 (*.f32 cos2phi cos2phi) (pow.f32 alphax 4)) (/.f32 (*.f32 sin2phi sin2phi) (pow.f32 alphay 4)))) (-.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
4.3b
(/.f32 (neg.f32 (*.f32 u0 (-.f32 -1 (*.f32 1/2 u0)))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
12.0b
(*.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (*.f32 (*.f32 alphay alphay) cos2phi) (*.f32 sin2phi (*.f32 alphax alphax)))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay)))
Compiler

Compiled 3550 to 1544 computations (56.5% saved)

localize98.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.4b
(/.f32 (pow.f32 u0 4) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
0.4b
(/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
0.5b
(/.f32 (*.f32 u0 u0) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
0.5b
(/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))

rewrite505.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
115×*-un-lft-identity_binary32
92×times-frac_binary32
61×add-sqr-sqrt_binary32
61×add-cube-cbrt_binary32
30×unpow-prod-down_binary32
Counts
4 → 197
Calls

4 calls:

10.0ms
(/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
10.0ms
(/.f32 (*.f32 u0 u0) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
9.0ms
(/.f32 (pow.f32 u0 4) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
8.0ms
(/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
Compiler

Compiled 12579 to 2899 computations (77% saved)

series772.0ms (2.2%)

Error
0.2b
Counts
4 → 126
Calls

4 calls:

237.0ms
(/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
216.0ms
(/.f32 (*.f32 u0 u0) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
142.0ms
(/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
112.0ms
(/.f32 (pow.f32 u0 4) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
Compiler

Compiled 16123 to 8242 computations (48.9% saved)

simplify268.0ms (0.8%)

Algorithm
egg-herbie
Rules
453×associate-/l*_binary32
325×times-frac_binary32
309×cancel-sign-sub-inv_binary32
243×associate-*l*_binary32
239×associate-*r*_binary32
Counts
323 → 256
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
032611506
171611097
2371711049
3480211049
4496911049

prune245.0ms (0.7%)

Pruning

20 alts after pruning (19 fresh and 1 done)

PrunedKeptTotal
New2506256
Fresh11314
Picked011
Done000
Total25120271
Error
0.1b
Counts
271 → 20
Alt Table
StatusErrorProgram
12.8b
(/.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (*.f32 u0 u0))) (log.f32 (+.f32 u0 1)))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
12.2b
(*.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u0))) (cbrt.f32 (log.f32 (-.f32 1 u0)))) (/.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u0)))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))
12.2b
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 (*.f32 (cbrt.f32 cos2phi) (cbrt.f32 cos2phi)) (/.f32 alphax (/.f32 (cbrt.f32 cos2phi) alphax))) (/.f32 sin2phi (*.f32 alphay alphay))))
12.2b
(*.f32 (/.f32 -1 (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (/.f32 (log.f32 (-.f32 1 u0)) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
2.2b
(+.f32 (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 u0 u0) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (*.f32 1/4 (/.f32 (pow.f32 u0 4) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))))
5.9b
(+.f32 (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (+.f32 (*.f32 1/2 (cbrt.f32 (pow.f32 (*.f32 u0 (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) 3))) (*.f32 1/4 (/.f32 (pow.f32 u0 4) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))))
4.3b
(+.f32 (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (*.f32 1/2 (/.f32 (*.f32 u0 u0) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
2.4b
(+.f32 (*.f32 (sqrt.f32 u0) (/.f32 (sqrt.f32 u0) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 u0 u0) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (*.f32 1/4 (/.f32 (pow.f32 u0 4) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))))
2.2b
(/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
2.5b
(+.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 u0) 2) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (/.f32 (cbrt.f32 u0) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 u0 u0) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (*.f32 1/4 (/.f32 (pow.f32 u0 4) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))))
2.6b
(+.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 u0) 2) (*.f32 (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (/.f32 (cbrt.f32 u0) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 u0 u0) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (*.f32 1/4 (/.f32 (pow.f32 u0 4) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))))
18.5b
(*.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (-.f32 (/.f32 (*.f32 cos2phi cos2phi) (pow.f32 alphax 4)) (/.f32 (*.f32 sin2phi sin2phi) (pow.f32 alphay 4)))) (-.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
12.2b
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (*.f32 (cbrt.f32 sin2phi) (cbrt.f32 sin2phi)) (/.f32 alphay (/.f32 (cbrt.f32 sin2phi) alphay)))))
12.4b
(exp.f32 (log.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
12.8b
(/.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (pow.f32 u0 3))) (log.f32 (+.f32 1 (+.f32 u0 (*.f32 u0 u0)))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
12.2b
(*.f32 (/.f32 -1 (*.f32 (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (/.f32 (log.f32 (-.f32 1 u0)) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
20.1b
(+.f32 (*.f32 (/.f32 u0 (+.f32 (/.f32 (pow.f32 sin2phi 3) (pow.f32 alphay 6)) (/.f32 (pow.f32 cos2phi 3) (pow.f32 alphax 6)))) (+.f32 (*.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 sin2phi (*.f32 alphay alphay))) (-.f32 (*.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 cos2phi (*.f32 alphax alphax))) (*.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 u0 u0) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (*.f32 1/4 (/.f32 (pow.f32 u0 4) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))))
2.4b
(+.f32 (*.f32 (pow.f32 (cbrt.f32 u0) 2) (/.f32 (cbrt.f32 u0) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 u0 u0) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (*.f32 1/4 (/.f32 (pow.f32 u0 4) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))))
4.3b
(/.f32 (neg.f32 (*.f32 u0 (-.f32 -1 (*.f32 1/2 u0)))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
12.0b
(*.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (*.f32 (*.f32 alphay alphay) cos2phi) (*.f32 sin2phi (*.f32 alphax alphax)))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay)))
Compiler

Compiled 8469 to 2538 computations (70% saved)

localize80.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.3b
(/.f32 cos2phi (*.f32 alphax alphax))
0.4b
(*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))
0.4b
(*.f32 1/3 u0)
0.5b
(/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))

rewrite333.0ms (1%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
115×*-un-lft-identity_binary32
67×times-frac_binary32
64×add-sqr-sqrt_binary32
41×add-cube-cbrt_binary32
40×distribute-rgt-neg-in_binary32
Counts
4 → 165
Calls

4 calls:

17.0ms
(/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
7.0ms
(*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))
3.0ms
(/.f32 cos2phi (*.f32 alphax alphax))
3.0ms
(*.f32 1/3 u0)
Compiler

Compiled 6066 to 2767 computations (54.4% saved)

series895.0ms (2.6%)

Error
0.1b
Counts
4 → 69
Calls

4 calls:

690.0ms
(/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
27.0ms
(/.f32 cos2phi (*.f32 alphax alphax))
19.0ms
(*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))
13.0ms
(*.f32 1/3 u0)
Compiler

Compiled 12550 to 9335 computations (25.6% saved)

simplify340.0ms (1%)

Algorithm
egg-herbie
Rules
510×times-frac_binary32
473×associate-/l*_binary32
268×associate-/r*_binary32
131×associate-*l/_binary32
115×distribute-rgt-in_binary32
Counts
234 → 208
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
047920080
1143119763
2482819690
3495719690

prune372.0ms (1.1%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New2008208
Fresh51318
Picked101
Done101
Total20721228
Error
0.1b
Counts
228 → 21
Alt Table
StatusErrorProgram
12.8b
(/.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (*.f32 u0 u0))) (log.f32 (+.f32 u0 1)))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
2.4b
(/.f32 (neg.f32 (-.f32 (pow.f32 (neg.f32 u0) 3) (pow.f32 (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4))) 3))) (*.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))) (+.f32 (*.f32 u0 u0) (*.f32 (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) (-.f32 (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) u0)))))
2.5b
(*.f32 (*.f32 (cbrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))) (cbrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))) (cbrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))))
12.2b
(*.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u0))) (cbrt.f32 (log.f32 (-.f32 1 u0)))) (/.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u0)))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))
12.2b
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 (*.f32 (cbrt.f32 cos2phi) (cbrt.f32 cos2phi)) (/.f32 alphax (/.f32 (cbrt.f32 cos2phi) alphax))) (/.f32 sin2phi (*.f32 alphay alphay))))
12.2b
(*.f32 (/.f32 -1 (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (/.f32 (log.f32 (-.f32 1 u0)) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
2.6b
(+.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 u0) 2) (*.f32 (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (/.f32 (cbrt.f32 u0) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 u0 u0) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (*.f32 1/4 (/.f32 (pow.f32 u0 4) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))))
3.2b
(/.f32 -1 (/.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))) (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))))
2.4b
(*.f32 (/.f32 (sqrt.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))) (sqrt.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))) (/.f32 (sqrt.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))) (sqrt.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))))
18.5b
(*.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (-.f32 (/.f32 (*.f32 cos2phi cos2phi) (pow.f32 alphax 4)) (/.f32 (*.f32 sin2phi sin2phi) (pow.f32 alphay 4)))) (-.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
2.0b
(*.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay)))
12.2b
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (*.f32 (cbrt.f32 sin2phi) (cbrt.f32 sin2phi)) (/.f32 alphay (/.f32 (cbrt.f32 sin2phi) alphay)))))
12.4b
(exp.f32 (log.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
2.3b
(/.f32 (neg.f32 (-.f32 (*.f32 (neg.f32 u0) (neg.f32 u0)) (*.f32 (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4))) (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4)))))) (*.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))) (-.f32 (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) u0)))
2.4b
(*.f32 (sqrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))) (sqrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))))
12.8b
(/.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (pow.f32 u0 3))) (log.f32 (+.f32 1 (+.f32 u0 (*.f32 u0 u0)))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
12.2b
(*.f32 (/.f32 -1 (*.f32 (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (/.f32 (log.f32 (-.f32 1 u0)) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
5.9b
(+.f32 (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (+.f32 (*.f32 1/2 (cbrt.f32 (pow.f32 (*.f32 u0 (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) 3))) (*.f32 1/4 (/.f32 (pow.f32 u0 4) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))))
2.2b
(+.f32 (+.f32 (*.f32 1/2 (/.f32 (*.f32 u0 u0) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))) (+.f32 (/.f32 u0 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) (*.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))))) (*.f32 1/4 (/.f32 (pow.f32 u0 4) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))))
2.4b
(+.f32 (*.f32 (pow.f32 (cbrt.f32 u0) 2) (/.f32 (cbrt.f32 u0) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 u0 u0) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (*.f32 1/4 (/.f32 (pow.f32 u0 4) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))))
12.0b
(*.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (*.f32 (*.f32 alphay alphay) cos2phi) (*.f32 sin2phi (*.f32 alphax alphax)))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay)))
Compiler

Compiled 9433 to 4733 computations (49.8% saved)

localize92.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.3b
(*.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay)))
0.3b
(/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi)))
0.4b
(*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay))
0.4b
(*.f32 u0 1/3)

rewrite489.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
117×*-un-lft-identity_binary32
96×times-frac_binary32
91×add-sqr-sqrt_binary32
61×add-cube-cbrt_binary32
61×add-cbrt-cube_binary32
Counts
4 → 222
Calls

4 calls:

24.0ms
(*.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay)))
13.0ms
(/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi)))
6.0ms
(*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay))
3.0ms
(*.f32 u0 1/3)
Compiler

Compiled 11221 to 4673 computations (58.4% saved)

series1.6s (4.7%)

Error
0.1b
Counts
4 → 119
Calls

4 calls:

700.0ms
(*.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay)))
664.0ms
(/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi)))
26.0ms
(*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay))
11.0ms
(*.f32 u0 1/3)
Compiler

Compiled 23934 to 17646 computations (26.3% saved)

simplify450.0ms (1.3%)

Algorithm
egg-herbie
Rules
758×associate-/l*_binary32
555×associate-/r*_binary32
217×*-commutative_binary32
156×+-commutative_binary32
125×associate-+r+_binary32
Counts
341 → 324
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
068837059
1220535556
2564035556

prune500.0ms (1.4%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New3195324
Fresh51520
Picked101
Done000
Total32520345
Error
0.1b
Counts
345 → 20
Alt Table
StatusErrorProgram
12.8b
(/.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (*.f32 u0 u0))) (log.f32 (+.f32 u0 1)))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
2.4b
(/.f32 (neg.f32 (-.f32 (pow.f32 (neg.f32 u0) 3) (pow.f32 (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4))) 3))) (*.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))) (+.f32 (*.f32 u0 u0) (*.f32 (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) (-.f32 (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) u0)))))
12.2b
(*.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u0))) (cbrt.f32 (log.f32 (-.f32 1 u0)))) (/.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u0)))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))
12.2b
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 (*.f32 (cbrt.f32 cos2phi) (cbrt.f32 cos2phi)) (/.f32 alphax (/.f32 (cbrt.f32 cos2phi) alphax))) (/.f32 sin2phi (*.f32 alphay alphay))))
12.2b
(*.f32 (/.f32 -1 (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (/.f32 (log.f32 (-.f32 1 u0)) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
2.6b
(+.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 u0) 2) (*.f32 (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (/.f32 (cbrt.f32 u0) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 u0 u0) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (*.f32 1/4 (/.f32 (pow.f32 u0 4) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))))
2.4b
(*.f32 (/.f32 (sqrt.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))) (sqrt.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))) (/.f32 (sqrt.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))) (sqrt.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))))
18.5b
(*.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (-.f32 (/.f32 (*.f32 cos2phi cos2phi) (pow.f32 alphax 4)) (/.f32 (*.f32 sin2phi sin2phi) (pow.f32 alphay 4)))) (-.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
2.3b
(*.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi))) (*.f32 (*.f32 (cbrt.f32 (*.f32 (*.f32 alphay alphay) (*.f32 alphax alphax))) (cbrt.f32 (*.f32 (*.f32 alphay alphay) (*.f32 alphax alphax)))) (cbrt.f32 (*.f32 (*.f32 alphay alphay) (*.f32 alphax alphax)))))
12.0b
(*.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (*.f32 (*.f32 alphay alphay) cos2phi) (*.f32 sin2phi (*.f32 alphax alphax)))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay)))
3.3b
(*.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi))) (exp.f32 (*.f32 2 (+.f32 (log.f32 alphax) (log.f32 alphay)))))
12.2b
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (*.f32 (cbrt.f32 sin2phi) (cbrt.f32 sin2phi)) (/.f32 alphay (/.f32 (cbrt.f32 sin2phi) alphay)))))
12.4b
(exp.f32 (log.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
12.8b
(/.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (pow.f32 u0 3))) (log.f32 (+.f32 1 (+.f32 u0 (*.f32 u0 u0)))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
12.2b
(*.f32 (/.f32 -1 (*.f32 (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (/.f32 (log.f32 (-.f32 1 u0)) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
5.9b
(+.f32 (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (+.f32 (*.f32 1/2 (cbrt.f32 (pow.f32 (*.f32 u0 (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) 3))) (*.f32 1/4 (/.f32 (pow.f32 u0 4) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))))
2.1b
(*.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi))) (*.f32 (*.f32 alphay alphax) (*.f32 alphay alphax)))
2.6b
(*.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi))) (cbrt.f32 (*.f32 (pow.f32 alphax 6) (pow.f32 alphay 6))))
2.1b
(*.f32 (/.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))))) (sqrt.f32 (+.f32 (*.f32 (*.f32 alphax alphax) sin2phi) (*.f32 (*.f32 alphay alphay) cos2phi)))) (sqrt.f32 (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi)))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay)))
2.4b
(*.f32 (sqrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))) (sqrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))))
Compiler

Compiled 14110 to 6466 computations (54.2% saved)

regimes22.2s (63.5%)

Accuracy

Total 0.5b remaining (84.6%)

Threshold costs 0.5b (84.6%)

Compiler

Compiled 498588 to 266413 computations (46.6% saved)

bsearch45.0ms (0.1%)

Compiler

Compiled 8 to 7 computations (12.5% saved)

simplify8.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
049147
171147
282147
391147
4103147
5116147
6125147
7131147
8133147
9132147

end3.0ms (0%)

Compiler

Compiled 103 to 50 computations (51.5% saved)

sample2.9s (8.3%)

Algorithm
intervals
Results
756.0ms8000×body128valid
328.0ms8000×pre128true
Compiler

Compiled 1139 to 645 computations (43.4% saved)

Profiling

Loading profile data...