Details

Time bar (total: 29.0s)

analyze1.7s (6%)

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)

sample66.0ms (0.2%)

Algorithm
intervals
Results
24.0ms256×body128valid
15.0ms256×pre128true
Compiler

Compiled 69 to 50 computations (27.5% saved)

simplify24.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.0b
Counts
1 → 1
Alt Table
StatusErrorProgram
12.0b
(/.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.2%)

Local error

Found 4 expressions with local error:

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

rewrite199.0ms (0.7%)

Algorithm
rewrite-expression-head
Error
8.1b
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))
4.0ms
(log.f32 (-.f32 1 u0))
3.0ms
(/.f32 cos2phi (*.f32 alphax alphax))
Compiler

Compiled 3127 to 1166 computations (62.7% saved)

series337.0ms (1.2%)

Error
0.4b
Counts
4 → 60
Calls

4 calls:

237.0ms
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
26.0ms
(/.f32 sin2phi (*.f32 alphay alphay))
24.0ms
(/.f32 cos2phi (*.f32 alphax alphax))
14.0ms
(log.f32 (-.f32 1 u0))
Compiler

Compiled 3804 to 2811 computations (26.1% saved)

simplify248.0ms (0.9%)

Algorithm
egg-herbie
Rules
408×associate-/l/_binary32
375×associate-/r/_binary32
183×times-frac_binary32
178×associate-/l*_binary32
169×distribute-frac-neg_binary32
Counts
200 → 165
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03016128
16945986
222545980
349045980
449775980
549995980
649085980

prune158.0ms (0.5%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New15213165
Fresh000
Picked011
Done000
Total15214166
Error
0.3b
Counts
166 → 14
Alt Table
StatusErrorProgram
12.1b
(*.f32 (/.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u0))) (cbrt.f32 (log.f32 (-.f32 1 u0)))) (*.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 (neg.f32 (cbrt.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 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) u0)) (*.f32 1/4 (/.f32 (pow.f32 u0 4) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))))
12.1b
(*.f32 (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (sqrt.f32 (+.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))))
12.1b
(*.f32 (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (*.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 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
2.8b
(/.f32 (neg.f32 (-.f32 (neg.f32 u0) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
12.0b
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
12.9b
(/.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.9b
(/.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))))
4.2b
(+.f32 (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (*.f32 1/2 (*.f32 (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) u0)))
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.1b
(*.f32 (sqrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (sqrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
12.3b
(exp.f32 (log.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
11.9b
(*.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 3499 to 1484 computations (57.6% saved)

localize85.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.3b
(/.f32 cos2phi (*.f32 alphax alphax))
0.3b
(*.f32 1/3 u0)
0.4b
(*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))
0.4b
(/.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))))

rewrite334.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
0.0b
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:

20.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))))
6.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)

series868.0ms (3%)

Error
0.1b
Counts
4 → 57
Calls

4 calls:

712.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))))
28.0ms
(/.f32 cos2phi (*.f32 alphax alphax))
24.0ms
(*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))
13.0ms
(*.f32 1/3 u0)
Compiler

Compiled 11115 to 8260 computations (25.7% saved)

simplify207.0ms (0.7%)

Algorithm
egg-herbie
Rules
392×times-frac_binary32
373×associate-*l*_binary32
372×associate-*r*_binary32
371×associate-/l*_binary32
210×associate-/r*_binary32
Counts
222 → 196
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
042214920
1121314648
2504714648

prune339.0ms (1.2%)

Pruning

18 alts after pruning (17 fresh and 1 done)

PrunedKeptTotal
New1879196
Fresh4812
Picked101
Done011
Total19218210
Error
0.0b
Counts
210 → 18
Alt Table
StatusErrorProgram
12.9b
(/.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.2b
(*.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.9b
(/.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))))
2.2b
(/.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)))
5.1b
(/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (log.f32 (pow.f32 (exp.f32 (*.f32 u0 u0)) (+.f32 1/2 (*.f32 u0 1/3)))) (*.f32 1/4 (pow.f32 u0 4))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
2.4b
(*.f32 (*.f32 (cbrt.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (cbrt.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 (neg.f32 (cbrt.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)))))
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))))))
2.2b
(/.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))))
2.5b
(*.f32 (/.f32 (*.f32 (cbrt.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (cbrt.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 (neg.f32 (cbrt.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))))))
12.1b
(*.f32 (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (*.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 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
12.0b
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
2.7b
(/.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.1b
(*.f32 (/.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u0))) (cbrt.f32 (log.f32 (-.f32 1 u0)))) (*.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 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u0)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
2.3b
(*.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.1b
(*.f32 (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
12.1b
(*.f32 (sqrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (sqrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
12.3b
(exp.f32 (log.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
11.9b
(*.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 7916 to 4022 computations (49.2% saved)

localize78.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.3b
(/.f32 cos2phi (*.f32 alphax alphax))
0.3b
(*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))
0.3b
(*.f32 u0 1/3)
0.4b
(/.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))))

rewrite348.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
116×*-un-lft-identity_binary32
67×times-frac_binary32
66×add-sqr-sqrt_binary32
42×add-cube-cbrt_binary32
40×distribute-rgt-neg-in_binary32
Counts
4 → 164
Calls

4 calls:

16.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 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
4.0ms
(*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))
3.0ms
(*.f32 u0 1/3)
3.0ms
(/.f32 cos2phi (*.f32 alphax alphax))
Compiler

Compiled 6007 to 2914 computations (51.5% saved)

series840.0ms (2.9%)

Error
0.0b
Counts
4 → 57
Calls

4 calls:

694.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 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
28.0ms
(/.f32 cos2phi (*.f32 alphax alphax))
20.0ms
(*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))
11.0ms
(*.f32 u0 1/3)
Compiler

Compiled 11121 to 8255 computations (25.8% saved)

simplify270.0ms (0.9%)

Algorithm
egg-herbie
Rules
368×times-frac_binary32
342×associate-/l*_binary32
324×associate-*r*_binary32
312×associate-*l*_binary32
228×div-sub_binary32
Counts
221 → 183
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
041814817
1119114565
2479414529
3528614529

prune307.0ms (1.1%)

Pruning

18 alts after pruning (16 fresh and 2 done)

PrunedKeptTotal
New1830183
Fresh01616
Picked011
Done011
Total18318201
Error
0.0b
Counts
201 → 18
Alt Table
StatusErrorProgram
12.9b
(/.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.2b
(*.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.9b
(/.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))))
2.2b
(/.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)))
5.1b
(/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (log.f32 (pow.f32 (exp.f32 (*.f32 u0 u0)) (+.f32 1/2 (*.f32 u0 1/3)))) (*.f32 1/4 (pow.f32 u0 4))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
2.4b
(*.f32 (*.f32 (cbrt.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (cbrt.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 (neg.f32 (cbrt.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)))))
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))))))
2.2b
(/.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))))
2.5b
(*.f32 (/.f32 (*.f32 (cbrt.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (cbrt.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 (neg.f32 (cbrt.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))))))
12.1b
(*.f32 (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (*.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 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
12.0b
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
2.7b
(/.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.1b
(*.f32 (/.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u0))) (cbrt.f32 (log.f32 (-.f32 1 u0)))) (*.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 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u0)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
2.3b
(*.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.1b
(*.f32 (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
12.1b
(*.f32 (sqrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (sqrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
12.3b
(exp.f32 (log.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
11.9b
(*.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 7512 to 3722 computations (50.5% saved)

localize82.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.3b
(*.f32 u0 1/3)
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 (*.f32 alphax alphax) (*.f32 alphay alphay))
0.4b
(/.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)))

rewrite474.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
0.0b
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.5s (5.1%)

Error
0.0b
Counts
4 → 101
Calls

4 calls:

667.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)))
625.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 21909 to 16139 computations (26.3% saved)

simplify336.0ms (1.2%)

Algorithm
egg-herbie
Rules
860×times-frac_binary32
633×associate-/l*_binary32
191×*-commutative_binary32
125×+-commutative_binary32
111×associate-*r*_binary32
Counts
323 → 290
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
061029343
1191427861
2537927861

prune420.0ms (1.5%)

Pruning

18 alts after pruning (16 fresh and 2 done)

PrunedKeptTotal
New2882290
Fresh11415
Picked011
Done112
Total29018308
Error
0.0b
Counts
308 → 18
Alt Table
StatusErrorProgram
12.9b
(/.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.2b
(*.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.9b
(/.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))))
2.2b
(/.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.3b
(*.f32 (/.f32 -1 (sqrt.f32 (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi)))) (*.f32 (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay)) (/.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 sin2phi (*.f32 alphax alphax)) (*.f32 cos2phi (*.f32 alphay alphay)))))))
2.3b
(*.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))))))
5.1b
(/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (log.f32 (pow.f32 (exp.f32 (*.f32 u0 u0)) (+.f32 1/2 (*.f32 u0 1/3)))) (*.f32 1/4 (pow.f32 u0 4))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
2.4b
(*.f32 (*.f32 (cbrt.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (cbrt.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 (neg.f32 (cbrt.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)))))
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.1b
(*.f32 (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (*.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 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
12.0b
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
2.2b
(/.f32 (*.f32 (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay)) (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)))
11.9b
(*.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)))
2.7b
(/.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.1b
(*.f32 (/.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u0))) (cbrt.f32 (log.f32 (-.f32 1 u0)))) (*.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 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u0)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
12.1b
(*.f32 (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
12.1b
(*.f32 (sqrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (sqrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
12.3b
(exp.f32 (log.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
Compiler

Compiled 11878 to 5338 computations (55.1% saved)

regimes16.9s (58.4%)

Accuracy

Total 0.6b remaining (85%)

Threshold costs 0.6b (85%)

Compiler

Compiled 338615 to 206708 computations (39% saved)

bsearch33.0ms (0.1%)

Compiler

Compiled 8 to 7 computations (12.5% saved)

simplify9.0ms (0%)

Algorithm
egg-herbie
Rules
47×distribute-rgt-neg-in_binary32
43×cancel-sign-sub-inv_binary32
30×distribute-lft-neg-in_binary32
24×distribute-lft-neg-out_binary32
24×neg-sub0_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03885
16385
28681
313581
419081
523181
625881
727281
827681
926681

end2.0ms (0%)

Compiler

Compiled 59 to 37 computations (37.3% saved)

sample2.7s (9.3%)

Algorithm
intervals
Results
706.0ms8000×body128valid
310.0ms8000×pre128true
Compiler

Compiled 1035 to 638 computations (38.4% saved)

Profiling

Loading profile data...