Details

Time bar (total: 39.7s)

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

sample65.0ms (0.2%)

Algorithm
intervals
Results
26.0ms256×body128valid
12.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

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
13.3b
Counts
1 → 1
Alt Table
StatusErrorProgram
13.3b
(/.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)

localize49.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

rewrite244.0ms (0.6%)

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

4 calls:

15.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
(/.f32 cos2phi (*.f32 alphax alphax))
3.0ms
(log.f32 (-.f32 1 u0))
Compiler

Compiled 3127 to 1166 computations (62.7% saved)

series364.0ms (0.9%)

Error
0.4b
Counts
4 → 60
Calls

4 calls:

245.0ms
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
30.0ms
(/.f32 sin2phi (*.f32 alphay alphay))
30.0ms
(/.f32 cos2phi (*.f32 alphax alphax))
17.0ms
(log.f32 (-.f32 1 u0))
Compiler

Compiled 3369 to 2479 computations (26.4% saved)

simplify197.0ms (0.5%)

Algorithm
egg-herbie
Rules
349×associate-/l/_binary32
320×div-sub_binary32
303×associate-/r/_binary32
180×associate-/l*_binary32
172×times-frac_binary32
Counts
200 → 165
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03036320
16996176
222186170
346536170
451256170

prune183.0ms (0.5%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New15015165
Fresh000
Picked101
Done000
Total15115166
Error
0.2b
Counts
166 → 15
Alt Table
StatusErrorProgram
14.1b
(/.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))))
19.3b
(*.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))))
13.3b
(*.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)))))
14.5b
(/.f32 (neg.f32 (+.f32 (*.f32 2 (log.f32 (cbrt.f32 (-.f32 1 u0)))) (log.f32 (cbrt.f32 (-.f32 1 u0))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
13.3b
(*.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)))
13.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))
14.1b
(/.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.0b
(+.f32 (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (+.f32 (+.f32 (*.f32 1/2 (*.f32 (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) u0)) (*.f32 1/3 (/.f32 (pow.f32 u0 3) (+.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)))))))
13.3b
(*.f32 (*.f32 (/.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (cbrt.f32 (log.f32 (-.f32 1 u0)))) (/.f32 (cbrt.f32 (log.f32 (-.f32 1 u0))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
13.3b
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 1 (/.f32 alphay (/.f32 sin2phi alphay)))))
4.1b
(/.f32 (neg.f32 (*.f32 u0 (-.f32 -1 (*.f32 1/2 u0)))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
13.3b
(*.f32 (*.f32 (cbrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (cbrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (cbrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
7.7b
(/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
13.5b
(exp.f32 (log.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
2.0b
(/.f32 (neg.f32 (-.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))) u0)) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
Compiler

Compiled 3525 to 1577 computations (55.3% saved)

localize75.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite390.0ms (1%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
89×*-un-lft-identity_binary32
62×add-sqr-sqrt_binary32
59×times-frac_binary32
39×add-cube-cbrt_binary32
25×distribute-rgt-neg-in_binary32 distribute-lft-neg-in_binary32
Counts
4 → 155
Calls

4 calls:

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

Compiled 5888 to 2764 computations (53.1% saved)

series1.2s (2.9%)

Error
0.1b
Counts
4 → 69
Calls

4 calls:

937.0ms
(/.f32 (neg.f32 (-.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))) u0)) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
37.0ms
(/.f32 sin2phi (*.f32 alphay alphay))
26.0ms
(*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))
16.0ms
(*.f32 1/3 u0)
Compiler

Compiled 11993 to 8918 computations (25.6% saved)

simplify279.0ms (0.7%)

Algorithm
egg-herbie
Rules
500×times-frac_binary32
454×associate-/l*_binary32
406×associate-*l*_binary32
268×associate-/r*_binary32
131×associate-*l/_binary32
Counts
224 → 190
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
050719160
1149818846
2518018846

prune437.0ms (1.1%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New17911190
Fresh5914
Picked101
Done000
Total18520205
Error
0.0b
Counts
205 → 20
Alt Table
StatusErrorProgram
14.1b
(/.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))))
19.3b
(*.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))))
13.3b
(*.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)))))
14.5b
(/.f32 (neg.f32 (+.f32 (*.f32 2 (log.f32 (cbrt.f32 (-.f32 1 u0)))) (log.f32 (cbrt.f32 (-.f32 1 u0))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
13.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))
2.0b
(/.f32 (neg.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
2.2b
(*.f32 (/.f32 -1 (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (/.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0)) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
2.2b
(*.f32 (sqrt.f32 (/.f32 (neg.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (sqrt.f32 (/.f32 (neg.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
14.1b
(/.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))))
13.3b
(*.f32 (*.f32 (/.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (cbrt.f32 (log.f32 (-.f32 1 u0)))) (/.f32 (cbrt.f32 (log.f32 (-.f32 1 u0))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
2.3b
(*.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 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0)) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
13.3b
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 1 (/.f32 alphay (/.f32 sin2phi alphay)))))
2.0b
(/.f32 (neg.f32 (-.f32 (*.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))) (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))))) (*.f32 u0 u0))) (*.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))) (+.f32 u0 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))))))
3.7b
(exp.f32 (log.f32 (/.f32 (neg.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
13.3b
(*.f32 (*.f32 (cbrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (cbrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (cbrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
2.4b
(/.f32 (*.f32 (cbrt.f32 (-.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))) u0)) (cbrt.f32 (-.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))) u0))) (/.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))) (neg.f32 (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))))))
10.9b
(*.f32 (/.f32 (neg.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (-.f32 (*.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 cos2phi (*.f32 alphax alphax))) (/.f32 (*.f32 sin2phi sin2phi) (pow.f32 alphay 4)))) (-.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
2.2b
(*.f32 (*.f32 (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0)))) (/.f32 (neg.f32 (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0)))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))
2.0b
(*.f32 (/.f32 (neg.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (+.f32 (*.f32 (*.f32 alphay alphay) cos2phi) (*.f32 sin2phi (*.f32 alphax alphax)))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay)))
2.3b
(*.f32 (/.f32 (*.f32 (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (/.f32 (neg.f32 (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
Compiler

Compiled 8961 to 4767 computations (46.8% saved)

localize75.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite411.0ms (1%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
58×*-un-lft-identity_binary32
43×times-frac_binary32
40×add-sqr-sqrt_binary32
36×add-cube-cbrt_binary32
15×add-exp-log_binary32 add-cbrt-cube_binary32 distribute-rgt-neg-in_binary32 distribute-lft-neg-in_binary32
Counts
4 → 134
Calls

4 calls:

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

Compiled 5328 to 2673 computations (49.8% saved)

series1.1s (2.9%)

Error
0.0b
Counts
4 → 69
Calls

4 calls:

921.0ms
(/.f32 (neg.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
35.0ms
(/.f32 sin2phi (*.f32 alphay alphay))
24.0ms
(*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))
14.0ms
(*.f32 1/3 u0)
Compiler

Compiled 11999 to 8913 computations (25.7% saved)

simplify339.0ms (0.9%)

Algorithm
egg-herbie
Rules
469×times-frac_binary32
416×associate-/l*_binary32
365×associate-*l*_binary32
265×associate-/r*_binary32
131×associate-*l/_binary32
Counts
203 → 161
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
048517648
1145117319
2499117319
3495817319

prune407.0ms (1%)

Pruning

20 alts after pruning (19 fresh and 1 done)

PrunedKeptTotal
New1610161
Fresh01919
Picked011
Done000
Total16120181
Error
0.0b
Counts
181 → 20
Alt Table
StatusErrorProgram
14.1b
(/.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))))
19.3b
(*.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))))
13.3b
(*.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)))))
14.5b
(/.f32 (neg.f32 (+.f32 (*.f32 2 (log.f32 (cbrt.f32 (-.f32 1 u0)))) (log.f32 (cbrt.f32 (-.f32 1 u0))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
13.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))
2.0b
(/.f32 (neg.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
2.2b
(*.f32 (/.f32 -1 (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (/.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0)) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
2.2b
(*.f32 (sqrt.f32 (/.f32 (neg.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (sqrt.f32 (/.f32 (neg.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
14.1b
(/.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))))
13.3b
(*.f32 (*.f32 (/.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (cbrt.f32 (log.f32 (-.f32 1 u0)))) (/.f32 (cbrt.f32 (log.f32 (-.f32 1 u0))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
2.3b
(*.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 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0)) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
13.3b
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 1 (/.f32 alphay (/.f32 sin2phi alphay)))))
2.0b
(/.f32 (neg.f32 (-.f32 (*.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))) (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))))) (*.f32 u0 u0))) (*.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))) (+.f32 u0 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))))))
3.7b
(exp.f32 (log.f32 (/.f32 (neg.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
13.3b
(*.f32 (*.f32 (cbrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (cbrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (cbrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
2.4b
(/.f32 (*.f32 (cbrt.f32 (-.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))) u0)) (cbrt.f32 (-.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))) u0))) (/.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))) (neg.f32 (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))))))
10.9b
(*.f32 (/.f32 (neg.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (-.f32 (*.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 cos2phi (*.f32 alphax alphax))) (/.f32 (*.f32 sin2phi sin2phi) (pow.f32 alphay 4)))) (-.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
2.2b
(*.f32 (*.f32 (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0)))) (/.f32 (neg.f32 (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0)))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))
2.0b
(*.f32 (/.f32 (neg.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (+.f32 (*.f32 (*.f32 alphay alphay) cos2phi) (*.f32 sin2phi (*.f32 alphax alphax)))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay)))
2.3b
(*.f32 (/.f32 (*.f32 (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (/.f32 (neg.f32 (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
Compiler

Compiled 8164 to 4301 computations (47.3% saved)

localize110.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

rewrite974.0ms (2.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
24×add-sqr-sqrt_binary32
22×*-un-lft-identity_binary32
18×add-cube-cbrt_binary32
16×frac-times_binary32
15×pow1_binary32 add-exp-log_binary32 add-cbrt-cube_binary32
Counts
4 → 142
Calls

4 calls:

30.0ms
(/.f32 (neg.f32 (-.f32 (*.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))) (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))))) (*.f32 u0 u0))) (*.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))) (+.f32 u0 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))))))
16.0ms
(*.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))) (+.f32 u0 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))))))
14.0ms
(*.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))) (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))))
4.0ms
(*.f32 1/3 u0)
Compiler

Compiled 12702 to 7296 computations (42.6% saved)

series6.1s (15.5%)

Error
0.0b
Counts
4 → 87
Calls

4 calls:

4.8s
(/.f32 (neg.f32 (-.f32 (*.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))) (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))))) (*.f32 u0 u0))) (*.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))) (+.f32 u0 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))))))
464.0ms
(*.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))) (+.f32 u0 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))))))
27.0ms
(*.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))) (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))))
24.0ms
(*.f32 1/3 u0)
Compiler

Compiled 60640 to 47016 computations (22.5% saved)

simplify927.0ms (2.3%)

Algorithm
egg-herbie
Rules
380×+-commutative_binary32
329×associate-+r+_binary32
325×*-commutative_binary32
141×unswap-sqr_binary32
135×associate-/l*_binary32
Counts
229 → 210
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0115556677
1381855756
2497655755
3488355755

prune1.4s (3.6%)

Pruning

20 alts after pruning (18 fresh and 2 done)

PrunedKeptTotal
New2091210
Fresh11718
Picked011
Done011
Total21020230
Error
0.0b
Counts
230 → 20
Alt Table
StatusErrorProgram
2.0b
(/.f32 (+.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))) u0) (/.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))) (/.f32 (neg.f32 (-.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) u0)) (+.f32 u0 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))))
14.1b
(/.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))))
19.3b
(*.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))))
13.3b
(*.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)))))
14.5b
(/.f32 (neg.f32 (+.f32 (*.f32 2 (log.f32 (cbrt.f32 (-.f32 1 u0)))) (log.f32 (cbrt.f32 (-.f32 1 u0))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
13.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))
2.0b
(/.f32 (neg.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
2.2b
(*.f32 (/.f32 -1 (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (/.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0)) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
14.1b
(/.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))))
13.3b
(*.f32 (*.f32 (/.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (cbrt.f32 (log.f32 (-.f32 1 u0)))) (/.f32 (cbrt.f32 (log.f32 (-.f32 1 u0))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
2.3b
(*.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 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0)) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
13.3b
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 1 (/.f32 alphay (/.f32 sin2phi alphay)))))
2.0b
(/.f32 (neg.f32 (-.f32 (*.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))) (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))))) (*.f32 u0 u0))) (*.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))) (+.f32 u0 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))))))
3.7b
(exp.f32 (log.f32 (/.f32 (neg.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
13.3b
(*.f32 (*.f32 (cbrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (cbrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (cbrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
2.4b
(/.f32 (*.f32 (cbrt.f32 (-.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))) u0)) (cbrt.f32 (-.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0)))) u0))) (/.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))) (neg.f32 (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))))))
10.9b
(*.f32 (/.f32 (neg.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (-.f32 (*.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 cos2phi (*.f32 alphax alphax))) (/.f32 (*.f32 sin2phi sin2phi) (pow.f32 alphay 4)))) (-.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
2.2b
(*.f32 (*.f32 (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0)))) (/.f32 (neg.f32 (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0)))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))
2.0b
(*.f32 (/.f32 (neg.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (+.f32 (*.f32 (*.f32 alphay alphay) cos2phi) (*.f32 sin2phi (*.f32 alphax alphax)))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay)))
2.3b
(*.f32 (/.f32 (*.f32 (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0))) (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (/.f32 (neg.f32 (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))) u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))))
Compiler

Compiled 28942 to 17779 computations (38.6% saved)

regimes19.3s (48.7%)

Accuracy

Total 0.6b remaining (82%)

Threshold costs 0.6b (82%)

Compiler

Compiled 288319 to 185093 computations (35.8% saved)

bsearch23.0ms (0.1%)

Compiler

Compiled 8 to 7 computations (12.5% saved)

simplify8.0ms (0%)

Algorithm
egg-herbie
Rules
27×distribute-rgt-neg-in_binary32
24×cancel-sign-sub-inv_binary32
18×+-commutative_binary32
17×neg-mul-1_binary32 neg-sub0_binary32 sub-neg_binary32 distribute-neg-in_binary32 distribute-lft-neg-in_binary32
15×*-commutative_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
04187
16687
29187
312285
417285
520485
621785
722085
821185

end3.0ms (0%)

Compiler

Compiled 61 to 40 computations (34.4% saved)

sample3.4s (8.5%)

Algorithm
intervals
Results
698.0ms8000×body128valid
349.0ms8000×pre128true
Compiler

Compiled 1099 to 709 computations (35.5% saved)

Profiling

Loading profile data...