Details

Time bar (total: 5.0s)

analyze401.0ms (8%)

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 39 to 31 computations (20.5% saved)

sample2.4s (46.9%)

Results
2.3s8256×body128valid
2.0msbody128invalid

preprocess35.0ms (0.7%)

Algorithm
egg-herbie
Rules
104×fma-neg_binary32
95×fma-def_binary32
60×sub-neg_binary32
45×cancel-sign-sub-inv_binary32
30×distribute-rgt-in_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03088
15984
29884
312484
415584
519184
623184
731984
849084
953184
1058584
1163584
1272684
1377384
1479184
1579484
033
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 cosTheta_i)))) (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 2 (PI.f32)) cosTheta_i)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u2)))) (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u1)))
Outputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 cosTheta_i)))) (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 cosTheta_i)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 cosTheta_i)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 2 (PI.f32)) cosTheta_i)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) cosTheta_i))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) cosTheta_i))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u2)))) (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u1)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u2)))) (cos.f32 (*.f32 u1 (*.f32 2 (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u2)))) (cos.f32 (*.f32 2 (*.f32 u1 (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u2)))) (cos.f32 (*.f32 u1 (*.f32 2 (PI.f32)))))
Compiler

Compiled 16 to 14 computations (12.5% saved)

simplify14.0ms (0.3%)

Algorithm
egg-herbie
Rules
40×fma-neg_binary32
22×sub-neg_binary32
17×cancel-sign-sub-inv_binary32
13×fma-def_binary32
10×*-commutative_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01422
12621
23921
34921
46021
57421
69221
711921
814921
916221
1018421
1120621
1224521
1326221
1426821
1526921
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
Outputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 (PI.f32) (*.f32 2 u2))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))

eval1.0ms (0%)

Compiler

Compiled 28 to 23 computations (17.9% saved)

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.3b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.3b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
14.6b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
Compiler

Compiled 62 to 54 computations (12.9% saved)

localize35.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))
0.1b
(cos.f32 (*.f32 2 (*.f32 (PI.f32) u2)))
0.2b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
0.3b
(*.f32 (PI.f32) u2)

series45.0ms (0.9%)

Counts
4 → 52
Calls

15 calls:

TimeVariablePointExpression
32.0ms
u2
@inf
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
2.0ms
u1
@-inf
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
2.0ms
u1
@inf
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
2.0ms
u1
@0
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
2.0ms
u2
@0
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))

rewrite69.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
679×prod-diff_binary32
204×expm1-udef_binary32
204×log1p-udef_binary32
133×add-sqr-sqrt_binary32
129×pow1_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01345
126637
2325037
Stop Event
node limit
Counts
4 → 96
Calls
Call 1
Inputs
(*.f32 (PI.f32) u2)
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
(cos.f32 (*.f32 2 (*.f32 (PI.f32) u2)))
(sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) u2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (PI.f32) u2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (PI.f32) u2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (PI.f32) u2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (PI.f32) u2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (PI.f32) u2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 u2) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (PI.f32) u2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (PI.f32) u2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 u2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (PI.f32) u2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (PI.f32) u2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (PI.f32) u2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (PI.f32) u2)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (log1p.f32 u1) (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))) (sqrt.f32 (log1p.f32 u1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (log1p.f32 u1) 3/2) (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) 3) (pow.f32 (log1p.f32 u1) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) (fma.f32 (neg.f32 (sqrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (sqrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (*.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 1 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (neg.f32 (*.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) 1))) (fma.f32 (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) 1 (*.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 (cos.f32 (*.f32 (PI.f32) u2)) (cos.f32 (*.f32 (PI.f32) u2)) (neg.f32 (*.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) 1))) (fma.f32 (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) 1 (*.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (neg.f32 (*.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) 1))) (fma.f32 (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) 1 (*.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 (sqrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (sqrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (neg.f32 (*.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) 1))) (fma.f32 (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) 1 (*.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 1 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 1 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (fma.f32 (neg.f32 (sqrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (sqrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (fma.f32 (neg.f32 (sqrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (sqrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 (sqrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (sqrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 (sqrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (sqrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (fma.f32 (neg.f32 (sqrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (sqrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 1 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (neg.f32 (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (fma.f32 (neg.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 (cos.f32 (*.f32 (PI.f32) u2)) (cos.f32 (*.f32 (PI.f32) u2)) (neg.f32 (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (fma.f32 (neg.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (neg.f32 (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (fma.f32 (neg.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 (sqrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (sqrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (neg.f32 (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (fma.f32 (neg.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))) (pow.f32 (cbrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))) 2) (cbrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))) (sqrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (cos.f32 (*.f32 (PI.f32) u2)) (sin.f32 (*.f32 (PI.f32) u2))) (-.f32 (cos.f32 (*.f32 (PI.f32) u2)) (sin.f32 (*.f32 (PI.f32) u2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) 3) (pow.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) 3)) (+.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (+.f32 (*.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (+.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cos.f32 (*.f32 (PI.f32) u2)) (cos.f32 (*.f32 (PI.f32) u2)) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (sqrt.f32 (log1p.f32 u1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (log1p.f32 u1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (sqrt.f32 (log1p.f32 u1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (log1p.f32 u1)) (cbrt.f32 (sqrt.f32 (log1p.f32 u1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (sqrt.f32 (log1p.f32 u1))) (cbrt.f32 (log1p.f32 u1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (log1p.f32 u1) 1/4) (pow.f32 (log1p.f32 u1) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (log1p.f32 u1)) 2)) (sqrt.f32 (cbrt.f32 (log1p.f32 u1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 -1) (sqrt.f32 (log1p.f32 u1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 1 1/2) (sqrt.f32 (log1p.f32 u1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (cbrt.f32 (log1p.f32 u1)) 2) 1/2) (pow.f32 (cbrt.f32 (log1p.f32 u1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 -1 1/2) (sqrt.f32 (log1p.f32 u1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log1p.f32 u1) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (log1p.f32 u1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (log1p.f32 u1) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (sqrt.f32 (log1p.f32 u1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (log1p.f32 u1) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (sqrt.f32 (log1p.f32 u1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (sqrt.f32 (log1p.f32 u1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (sqrt.f32 (log1p.f32 u1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (log1p.f32 u1) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (sqrt.f32 (log1p.f32 u1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (sqrt.f32 (log1p.f32 u1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (sqrt.f32 (log1p.f32 u1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (log1p.f32 u1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (log1p.f32 u1))) 1))))))

simplify48.0ms (0.9%)

Algorithm
egg-herbie
Rules
677×fma-def_binary32
560×associate-*l*_binary32
399×times-frac_binary32
346×associate-/r*_binary32
306×associate-/l*_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01391936
14211724
214071554
Stop Event
node limit
Counts
148 → 147
Calls
Call 1
Inputs
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(+.f32 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) u1))))
(+.f32 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1))))))) 2)) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (pow.f32 u1 2)))) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) u1)))))
(+.f32 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (-.f32 1/3 (*.f32 1/2 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1))))))) 2)) (pow.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) 2))))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (pow.f32 u1 3)))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1))))))) 2)) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (pow.f32 u1 2)))) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) u1))))))
(*.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1))) (*.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (*.f32 (-.f32 1/2 (pow.f32 (*.f32 -1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) 2)) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (pow.f32 u1 2)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1))) (*.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (*.f32 (+.f32 (*.f32 -1/2 (/.f32 (-.f32 1/2 (pow.f32 (*.f32 -1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) 2)) (log.f32 (/.f32 -1 u1)))) 1/3) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (pow.f32 u1 3)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (*.f32 (-.f32 1/2 (pow.f32 (*.f32 -1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) 2)) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (pow.f32 u1 2)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1))) (*.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))))))
(sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))
(+.f32 (*.f32 -2 (*.f32 (pow.f32 u2 2) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 2)))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(+.f32 (*.f32 2/3 (*.f32 (pow.f32 u2 4) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 4)))) (+.f32 (*.f32 -2 (*.f32 (pow.f32 u2 2) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 2)))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))))
(+.f32 (*.f32 2/3 (*.f32 (pow.f32 u2 4) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 4)))) (+.f32 (*.f32 -2 (*.f32 (pow.f32 u2 2) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 2)))) (+.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (*.f32 -4/45 (*.f32 (pow.f32 u2 6) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 6)))))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
1
(+.f32 1 (*.f32 -2 (*.f32 (pow.f32 u2 2) (pow.f32 (PI.f32) 2))))
(+.f32 1 (+.f32 (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))) (*.f32 -2 (*.f32 (pow.f32 u2 2) (pow.f32 (PI.f32) 2)))))
(+.f32 1 (+.f32 (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))) (+.f32 (*.f32 -2 (*.f32 (pow.f32 u2 2) (pow.f32 (PI.f32) 2))) (*.f32 -4/45 (*.f32 (pow.f32 u2 6) (pow.f32 (PI.f32) 6))))))
(cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))
(sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1))))))
(+.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (*.f32 1/2 (/.f32 1 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) u1))))
(+.f32 (*.f32 1/2 (/.f32 1 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) u1))) (+.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (*.f32 1/2 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1))))))) 2)) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (pow.f32 u1 2))))))
(+.f32 (*.f32 1/2 (/.f32 1 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) u1))) (+.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 1/3 (*.f32 1/2 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1))))))) 2)) (pow.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) 2)))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (pow.f32 u1 3)))) (*.f32 1/2 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1))))))) 2)) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (pow.f32 u1 2)))))))
(sqrt.f32 (log.f32 (/.f32 -1 u1)))
(+.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 1 u1))))
(+.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 1 u1))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (-.f32 1/2 (pow.f32 (*.f32 -1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) 2)) (pow.f32 u1 2))))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (+.f32 (*.f32 -1/2 (/.f32 (-.f32 1/2 (pow.f32 (*.f32 -1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) 2)) (log.f32 (/.f32 -1 u1)))) 1/3) (pow.f32 u1 3)))) (+.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 1 u1))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (-.f32 1/2 (pow.f32 (*.f32 -1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) 2)) (pow.f32 u1 2)))))))
Outputs
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)))
(*.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
(*.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))))
(+.f32 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) u1))))
(fma.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) (*.f32 1/2 (/.f32 (/.f32 (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1))))))) u1)))
(fma.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (/.f32 (/.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) 1/2) u1) (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))))
(fma.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (*.f32 1/2 (/.f32 (/.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) u1)))
(+.f32 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1))))))) 2)) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (pow.f32 u1 2)))) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) u1)))))
(fma.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) (*.f32 1/2 (+.f32 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1))))))) 2)) (/.f32 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) (*.f32 u1 u1)) (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)))) (/.f32 (/.f32 (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1))))))) u1))))
(fma.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (*.f32 1/2 (fma.f32 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) 2)) (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) (/.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (*.f32 u1 u1)) (/.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) u1) (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))))))
(fma.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (*.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) (+.f32 (/.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) u1) (*.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) 2)) (/.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (*.f32 u1 u1))))))
(+.f32 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (-.f32 1/3 (*.f32 1/2 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1))))))) 2)) (pow.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) 2))))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (pow.f32 u1 3)))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1))))))) 2)) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (pow.f32 u1 2)))) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) u1))))))
(fma.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1))))))) (/.f32 (+.f32 1/3 (*.f32 -1/2 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1))))))) 2)) (pow.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) 2)))) (pow.f32 u1 3))) (*.f32 1/2 (+.f32 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1))))))) 2)) (/.f32 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) (*.f32 u1 u1)) (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)))) (/.f32 (/.f32 (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1))))))) u1)))))
(fma.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (*.f32 1/2 (+.f32 (*.f32 (/.f32 (+.f32 1/3 (*.f32 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) 2)) (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) -1/2)) (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) (/.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (pow.f32 u1 3))) (fma.f32 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) 2)) (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) (/.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (*.f32 u1 u1)) (/.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) u1) (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))))))))
(fma.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (*.f32 1/2 (+.f32 (/.f32 (/.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) u1) (*.f32 (/.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) (+.f32 (/.f32 (+.f32 1/3 (*.f32 1/2 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) 2)) (+.f32 (log.f32 -1) (log.f32 u1))))) (pow.f32 u1 3)) (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) 2)) (*.f32 u1 u1)))))))
(*.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) (sqrt.f32 (log.f32 (/.f32 -1 u1))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sqrt.f32 (log.f32 (/.f32 -1 u1))))
(*.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (sqrt.f32 (log.f32 (/.f32 -1 u1))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1))) (*.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) u1)) (*.f32 (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) (sqrt.f32 (log.f32 (/.f32 -1 u1)))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) u1)) (*.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sqrt.f32 (log.f32 (/.f32 -1 u1)))))
(fma.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (sqrt.f32 (log.f32 (/.f32 -1 u1))) (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (/.f32 u1 1/2))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (*.f32 (-.f32 1/2 (pow.f32 (*.f32 -1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) 2)) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (pow.f32 u1 2)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1))) (*.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (-.f32 1/2 (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) -1/2) 2)) (/.f32 (*.f32 u1 u1) (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2))))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) u1)) (*.f32 (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) (sqrt.f32 (log.f32 (/.f32 -1 u1))))))
(+.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sqrt.f32 (log.f32 (/.f32 -1 u1)))) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) (+.f32 (/.f32 (-.f32 1/2 (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) -1/2) 2)) (/.f32 u1 (/.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) u1))) (/.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) u1))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (*.f32 (+.f32 (/.f32 (-.f32 1/2 (*.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))) 1/4)) u1) 1) (/.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) u1))) (*.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (sqrt.f32 (log.f32 (/.f32 -1 u1)))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (*.f32 (+.f32 (*.f32 -1/2 (/.f32 (-.f32 1/2 (pow.f32 (*.f32 -1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) 2)) (log.f32 (/.f32 -1 u1)))) 1/3) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (pow.f32 u1 3)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (*.f32 (-.f32 1/2 (pow.f32 (*.f32 -1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) 2)) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (pow.f32 u1 2)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1))) (*.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (fma.f32 -1/2 (/.f32 (-.f32 1/2 (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) -1/2) 2)) (log.f32 (/.f32 -1 u1))) 1/3) (/.f32 (pow.f32 u1 3) (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2))))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (-.f32 1/2 (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) -1/2) 2)) (/.f32 (*.f32 u1 u1) (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2))))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) u1)) (*.f32 (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) (sqrt.f32 (log.f32 (/.f32 -1 u1)))))))
(+.f32 (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) u1)) (*.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sqrt.f32 (log.f32 (/.f32 -1 u1))))) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) (+.f32 (/.f32 (fma.f32 -1/2 (/.f32 (-.f32 1/2 (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) -1/2) 2)) (log.f32 (/.f32 -1 u1))) 1/3) (/.f32 (pow.f32 u1 3) (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))) (/.f32 (-.f32 1/2 (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) -1/2) 2)) (/.f32 u1 (/.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) u1))))))
(+.f32 (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) (+.f32 (*.f32 (/.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (pow.f32 u1 3)) (fma.f32 -1/2 (/.f32 (-.f32 1/2 (*.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))) 1/4)) (log.f32 (/.f32 -1 u1))) 1/3)) (*.f32 (+.f32 (/.f32 (-.f32 1/2 (*.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))) 1/4)) u1) 1) (/.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) u1)))) (*.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (sqrt.f32 (log.f32 (/.f32 -1 u1)))))
(sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))
(sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))
(+.f32 (*.f32 -2 (*.f32 (pow.f32 u2 2) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 2)))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(fma.f32 -2 (*.f32 (*.f32 u2 u2) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(fma.f32 -2 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (*.f32 u2 u2) (pow.f32 (PI.f32) 2))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (fma.f32 -2 (*.f32 u2 (*.f32 (pow.f32 (PI.f32) 2) u2)) 1) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(+.f32 (*.f32 2/3 (*.f32 (pow.f32 u2 4) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 4)))) (+.f32 (*.f32 -2 (*.f32 (pow.f32 u2 2) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 2)))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))))
(fma.f32 2/3 (*.f32 (pow.f32 u2 4) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 4))) (fma.f32 -2 (*.f32 (*.f32 u2 u2) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))))
(fma.f32 2/3 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))) (fma.f32 -2 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (*.f32 u2 u2) (pow.f32 (PI.f32) 2))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))))
(+.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 (*.f32 u2 u2) (*.f32 (pow.f32 (PI.f32) 2) -2) (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))))))
(+.f32 (*.f32 2/3 (*.f32 (pow.f32 u2 4) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 4)))) (+.f32 (*.f32 -2 (*.f32 (pow.f32 u2 2) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 2)))) (+.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (*.f32 -4/45 (*.f32 (pow.f32 u2 6) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 6)))))))
(fma.f32 2/3 (*.f32 (pow.f32 u2 4) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 4))) (+.f32 (fma.f32 -2 (*.f32 (*.f32 u2 u2) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (*.f32 -4/45 (*.f32 (pow.f32 u2 6) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 6))))))
(fma.f32 2/3 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))) (fma.f32 -2 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (*.f32 u2 u2) (pow.f32 (PI.f32) 2))) (fma.f32 -4/45 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (pow.f32 u2 6) (pow.f32 (PI.f32) 6))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))))
(+.f32 (*.f32 (fma.f32 -2 (*.f32 u2 (*.f32 (pow.f32 (PI.f32) 2) u2)) 1) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 -4/45 (*.f32 (pow.f32 u2 6) (pow.f32 (PI.f32) 6)) (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
1
(+.f32 1 (*.f32 -2 (*.f32 (pow.f32 u2 2) (pow.f32 (PI.f32) 2))))
(+.f32 1 (*.f32 (*.f32 -2 (*.f32 u2 u2)) (pow.f32 (PI.f32) 2)))
(fma.f32 -2 (*.f32 (*.f32 u2 u2) (pow.f32 (PI.f32) 2)) 1)
(fma.f32 -2 (*.f32 u2 (*.f32 (pow.f32 (PI.f32) 2) u2)) 1)
(+.f32 1 (+.f32 (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))) (*.f32 -2 (*.f32 (pow.f32 u2 2) (pow.f32 (PI.f32) 2)))))
(+.f32 1 (fma.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4)) (*.f32 (*.f32 -2 (*.f32 u2 u2)) (pow.f32 (PI.f32) 2))))
(+.f32 (*.f32 (pow.f32 u2 4) (*.f32 (pow.f32 (PI.f32) 4) 2/3)) (fma.f32 -2 (*.f32 (*.f32 u2 u2) (pow.f32 (PI.f32) 2)) 1))
(fma.f32 (*.f32 u2 u2) (*.f32 (pow.f32 (PI.f32) 2) -2) (fma.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4)) 1))
(+.f32 1 (+.f32 (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))) (+.f32 (*.f32 -2 (*.f32 (pow.f32 u2 2) (pow.f32 (PI.f32) 2))) (*.f32 -4/45 (*.f32 (pow.f32 u2 6) (pow.f32 (PI.f32) 6))))))
(+.f32 1 (fma.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4)) (fma.f32 -2 (*.f32 (*.f32 u2 u2) (pow.f32 (PI.f32) 2)) (*.f32 -4/45 (*.f32 (pow.f32 u2 6) (pow.f32 (PI.f32) 6))))))
(+.f32 (fma.f32 (*.f32 u2 u2) (*.f32 (pow.f32 (PI.f32) 2) -2) (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4)))) (fma.f32 (pow.f32 u2 6) (*.f32 (pow.f32 (PI.f32) 6) -4/45) 1))
(cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))
(cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2))
(cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2))
(cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))
(cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2))
(cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2))
(cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))
(cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2))
(cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2))
(cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))
(cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2))
(cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2))
(cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))
(cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2))
(cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2))
(cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))
(cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2))
(cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2))
(cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))
(cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2))
(cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2))
(cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))
(cos.f32 (*.f32 (*.f32 u2 (PI.f32)) 2))
(cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2))
(cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2)))
(sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1))))))
(sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1))))))
(sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))
(+.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (*.f32 1/2 (/.f32 1 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) u1))))
(+.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) (/.f32 1/2 (*.f32 u1 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))))))
(+.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (/.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) u1))
(+.f32 (*.f32 1/2 (/.f32 1 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) u1))) (+.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (*.f32 1/2 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1))))))) 2)) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (pow.f32 u1 2))))))
(+.f32 (+.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) (/.f32 1/2 (*.f32 u1 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1))))))))) (*.f32 1/2 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1))))))) 2)) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) (*.f32 u1 u1)))))
(+.f32 (/.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) u1) (fma.f32 1/2 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) 2)) (*.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (*.f32 u1 u1))) (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))))
(fma.f32 1/2 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) 2)) (*.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (*.f32 u1 u1))) (+.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (/.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) u1)))
(+.f32 (*.f32 1/2 (/.f32 1 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) u1))) (+.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 1/3 (*.f32 1/2 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1))))))) 2)) (pow.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) 2)))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (pow.f32 u1 3)))) (*.f32 1/2 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1))))))) 2)) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (pow.f32 u1 2)))))))
(+.f32 (/.f32 1/2 (*.f32 u1 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))))) (+.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) (*.f32 1/2 (+.f32 (/.f32 (+.f32 1/3 (*.f32 -1/2 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1))))))) 2)) (pow.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) 2)))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) (pow.f32 u1 3))) (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1))))))) 2)) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) (*.f32 u1 u1)))))))
(+.f32 (/.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) u1) (fma.f32 1/2 (+.f32 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) 2)) (*.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (*.f32 u1 u1))) (/.f32 (+.f32 1/3 (*.f32 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) 2)) (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) -1/2)) (*.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (pow.f32 u1 3)))) (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))))
(+.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (+.f32 (*.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) (+.f32 (/.f32 (+.f32 1/3 (*.f32 1/2 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) 2)) (+.f32 (log.f32 -1) (log.f32 u1))))) (pow.f32 u1 3)) (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) 2)) (*.f32 u1 u1)))) (/.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) u1)))
(sqrt.f32 (log.f32 (/.f32 -1 u1)))
(+.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 1 u1))))
(+.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (*.f32 1/2 (*.f32 (/.f32 1 u1) (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))))))
(fma.f32 1/2 (/.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) u1) (sqrt.f32 (log.f32 (/.f32 -1 u1))))
(+.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 1 u1))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (-.f32 1/2 (pow.f32 (*.f32 -1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) 2)) (pow.f32 u1 2))))))
(+.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (*.f32 1/2 (+.f32 (*.f32 (/.f32 1 u1) (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (-.f32 1/2 (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) -1/2) 2)) (*.f32 u1 u1))))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (+.f32 (/.f32 1 u1) (/.f32 (-.f32 1/2 (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) -1/2) 2)) (*.f32 u1 u1)))) (sqrt.f32 (log.f32 (/.f32 -1 u1))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (+.f32 (/.f32 1 u1) (/.f32 (-.f32 1/2 (*.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))) 1/4)) (*.f32 u1 u1)))) (sqrt.f32 (log.f32 (/.f32 -1 u1))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (+.f32 (*.f32 -1/2 (/.f32 (-.f32 1/2 (pow.f32 (*.f32 -1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) 2)) (log.f32 (/.f32 -1 u1)))) 1/3) (pow.f32 u1 3)))) (+.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 1 u1))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (-.f32 1/2 (pow.f32 (*.f32 -1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) 2)) (pow.f32 u1 2)))))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (fma.f32 -1/2 (/.f32 (-.f32 1/2 (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) -1/2) 2)) (log.f32 (/.f32 -1 u1))) 1/3) (pow.f32 u1 3))) (+.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (*.f32 1/2 (+.f32 (*.f32 (/.f32 1 u1) (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (-.f32 1/2 (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) -1/2) 2)) (*.f32 u1 u1)))))))
(fma.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) (/.f32 (fma.f32 -1/2 (/.f32 (-.f32 1/2 (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) -1/2) 2)) (log.f32 (/.f32 -1 u1))) 1/3) (pow.f32 u1 3)) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (+.f32 (/.f32 1 u1) (/.f32 (-.f32 1/2 (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) -1/2) 2)) (*.f32 u1 u1)))) (sqrt.f32 (log.f32 (/.f32 -1 u1)))))
(+.f32 (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) (+.f32 (/.f32 (fma.f32 -1/2 (/.f32 (-.f32 1/2 (*.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))) 1/4)) (log.f32 (/.f32 -1 u1))) 1/3) (pow.f32 u1 3)) (+.f32 (/.f32 1 u1) (/.f32 (-.f32 1/2 (*.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))) 1/4)) (*.f32 u1 u1))))) (sqrt.f32 (log.f32 (/.f32 -1 u1))))

eval73.0ms (1.4%)

Compiler

Compiled 4227 to 2582 computations (38.9% saved)

prune252.0ms (5%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New13215147
Fresh101
Picked101
Done000
Total13415149
Error
0.1b
Counts
149 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
8.1b
(*.f32 (exp.f32 (log.f32 (sqrt.f32 (log1p.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
0.3b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))
14.6b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
0.3b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (cbrt.f32 (*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))))))
0.8b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log.f32 (+.f32 1 (expm1.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (neg.f32 (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (fma.f32 (neg.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))))
0.3b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (-.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) u2))) 1))))
2.9b
(+.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 (*.f32 u2 u2) (*.f32 (pow.f32 (PI.f32) 2) -2) (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))))))
7.7b
(*.f32 (pow.f32 (cbrt.f32 (sqrt.f32 (log1p.f32 u1))) 3) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (pow.f32 (cbrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))) 3))
0.3b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) u2)) 3))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (/.f32 (-.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (+.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))
7.6b
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 u1) 3/2)) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
7.6b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (log1p.f32 u1))) (cbrt.f32 (log1p.f32 u1))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
2.4b
(+.f32 (*.f32 (fma.f32 -2 (*.f32 u2 (*.f32 (pow.f32 (PI.f32) 2) u2)) 1) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 -4/45 (*.f32 (pow.f32 u2 6) (pow.f32 (PI.f32) 6)) (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))))))
Compiler

Compiled 874 to 630 computations (27.9% saved)

localize51.0ms (1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(cbrt.f32 (*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3)))
0.2b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (cbrt.f32 (*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))))))
0.3b
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
1.0b
(pow.f32 (PI.f32) 3)

series9.0ms (0.2%)

Counts
4 → 32
Calls

12 calls:

TimeVariablePointExpression
2.0ms
u2
@-inf
(cbrt.f32 (*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3)))
1.0ms
u2
@0
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
1.0ms
u2
@-inf
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (cbrt.f32 (*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))))))
1.0ms
u2
@inf
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
1.0ms
u1
@inf
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (cbrt.f32 (*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))))))

rewrite62.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
495×prod-diff_binary32
253×log1p-udef_binary32
166×add-sqr-sqrt_binary32
160×pow1_binary32
157×*-un-lft-identity_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01739
136035
2408835
Stop Event
node limit
Counts
4 → 79
Calls
Call 1
Inputs
(pow.f32 (PI.f32) 3)
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (cbrt.f32 (*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))))))
(cbrt.f32 (*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (pow.f32 (PI.f32) 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (PI.f32) (pow.f32 (PI.f32) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (PI.f32) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (pow.f32 (PI.f32) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (PI.f32) 2) (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (PI.f32) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (PI.f32)) (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (PI.f32) 3/2) (pow.f32 (PI.f32) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) 3) (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sqrt.f32 (PI.f32)) 3) (pow.f32 (sqrt.f32 (PI.f32)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (pow.f32 (PI.f32) 2) 1) (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (pow.f32 (PI.f32) 2) (sqrt.f32 (PI.f32))) (sqrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (PI.f32) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (pow.f32 (PI.f32) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (pow.f32 (PI.f32) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 3 (log.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log.f32 (PI.f32))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (pow.f32 (*.f32 (PI.f32) u2) 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (PI.f32) u2) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (PI.f32) u2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (pow.f32 (*.f32 (PI.f32) u2) 3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (PI.f32) u2) 3/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (PI.f32) u2) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (pow.f32 (*.f32 (PI.f32) u2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (pow.f32 (*.f32 (PI.f32) u2) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (pow.f32 (*.f32 (PI.f32) u2) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (pow.f32 (PI.f32) 3) 3) (pow.f32 (pow.f32 u2 3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (pow.f32 u2 3) 3) (pow.f32 (pow.f32 (PI.f32) 3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (*.f32 (PI.f32) u2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (*.f32 (PI.f32) u2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 3 (log.f32 (*.f32 (PI.f32) u2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 (PI.f32) u2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (PI.f32) u2)) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (log1p.f32 u1) (pow.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (sqrt.f32 (log1p.f32 u1))) (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (log1p.f32 u1) 3/2) (pow.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) 3) (pow.f32 (log1p.f32 u1) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) u2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (PI.f32) u2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 u2 (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) u2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (*.f32 (PI.f32) u2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 (PI.f32) u2)) (pow.f32 (cbrt.f32 (*.f32 (PI.f32) u2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) u2)) 2) (cbrt.f32 (*.f32 (PI.f32) u2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 u2) 2) (*.f32 (cbrt.f32 u2) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 (PI.f32) u2)) (sqrt.f32 (*.f32 (PI.f32) u2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 u2) (*.f32 (sqrt.f32 u2) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 1 1/3) (*.f32 (PI.f32) u2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (*.f32 (PI.f32) u2) 2) 1/3) (cbrt.f32 (*.f32 (PI.f32) u2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (*.f32 (PI.f32) u2) 3/2) 1/3) (pow.f32 (pow.f32 (*.f32 (PI.f32) u2) 3/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 u2 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 u2 (sqrt.f32 (PI.f32))) (sqrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (PI.f32) u2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (PI.f32) u2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (PI.f32) u2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (PI.f32) u2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (PI.f32) u2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 u2) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (PI.f32) u2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (PI.f32) u2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (PI.f32) u2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (PI.f32) u2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 (PI.f32) u2))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (PI.f32) u2)) 1))))))

simplify56.0ms (1.1%)

Algorithm
egg-herbie
Rules
410×fma-def_binary32
398×associate-*l*_binary32
349×associate-*r*_binary32
258×times-frac_binary32
205×associate-/r*_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01101254
13191144
210281025
345411025
Stop Event
node limit
Counts
111 → 109
Calls
Call 1
Inputs
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(+.f32 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) u1))))
(+.f32 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1))))))) 2)) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (pow.f32 u1 2)))) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) u1)))))
(+.f32 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (-.f32 1/3 (*.f32 1/2 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1))))))) 2)) (pow.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) 2))))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (pow.f32 u1 3)))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1))))))) 2)) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (pow.f32 u1 2)))) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) u1))))))
(*.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1))) (*.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (*.f32 (-.f32 1/2 (pow.f32 (*.f32 -1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) 2)) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (pow.f32 u1 2)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1))) (*.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (*.f32 (+.f32 (*.f32 -1/2 (/.f32 (-.f32 1/2 (pow.f32 (*.f32 -1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) 2)) (log.f32 (/.f32 -1 u1)))) 1/3) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (pow.f32 u1 3)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (*.f32 (-.f32 1/2 (pow.f32 (*.f32 -1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) 2)) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (pow.f32 u1 2)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1))) (*.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))))))
(sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))
(+.f32 (*.f32 -2 (*.f32 (pow.f32 u2 2) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 2)))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(+.f32 (*.f32 2/3 (*.f32 (pow.f32 u2 4) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 4)))) (+.f32 (*.f32 -2 (*.f32 (pow.f32 u2 2) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 2)))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))))
(+.f32 (*.f32 2/3 (*.f32 (pow.f32 u2 4) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 4)))) (+.f32 (*.f32 -2 (*.f32 (pow.f32 u2 2) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 2)))) (+.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (*.f32 -4/45 (*.f32 (pow.f32 u2 6) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 6)))))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 -2 (*.f32 u2 (*.f32 (cbrt.f32 -1) (PI.f32))))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(*.f32 (cos.f32 (*.f32 -2 (*.f32 u2 (*.f32 (cbrt.f32 -1) (PI.f32))))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(*.f32 (cos.f32 (*.f32 -2 (*.f32 u2 (*.f32 (cbrt.f32 -1) (PI.f32))))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(*.f32 (cos.f32 (*.f32 -2 (*.f32 u2 (*.f32 (cbrt.f32 -1) (PI.f32))))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 -1 (*.f32 u2 (*.f32 (cbrt.f32 -1) (PI.f32))))
(*.f32 -1 (*.f32 u2 (*.f32 (cbrt.f32 -1) (PI.f32))))
(*.f32 -1 (*.f32 u2 (*.f32 (cbrt.f32 -1) (PI.f32))))
(*.f32 -1 (*.f32 u2 (*.f32 (cbrt.f32 -1) (PI.f32))))
Outputs
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(+.f32 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) u1))))
(fma.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (/.f32 (*.f32 1/2 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (*.f32 u1 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))))))
(fma.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 (/.f32 1/2 u1) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))))))
(fma.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) (/.f32 1/2 u1)))
(+.f32 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1))))))) 2)) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (pow.f32 u1 2)))) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) u1)))))
(fma.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 1/2 (+.f32 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1))))))) 2)) (/.f32 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) (*.f32 u1 u1)) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 u1 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))))))))
(fma.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 1/2 (fma.f32 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) 2)) (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 u1 u1)) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 u1 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))))))))
(fma.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) (+.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1) (*.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) 2)) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 u1 u1))))))
(+.f32 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (-.f32 1/3 (*.f32 1/2 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1))))))) 2)) (pow.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) 2))))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (pow.f32 u1 3)))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1))))))) 2)) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) (pow.f32 u1 2)))) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (*.f32 -1 (log.f32 (/.f32 1 u1)))))) u1))))))
(fma.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1))))))) (/.f32 (-.f32 1/3 (/.f32 (*.f32 1/2 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1))))))) 2))) (pow.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) 2))) (pow.f32 u1 3))) (*.f32 1/2 (+.f32 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1))))))) 2)) (/.f32 (*.f32 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1)))))) (*.f32 u1 u1)) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 u1 (sqrt.f32 (neg.f32 (+.f32 (log.f32 -1) (neg.f32 (neg.f32 (log.f32 u1))))))))))))
(fma.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 1/2 (+.f32 (fma.f32 (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) 2)) (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 u1 u1)) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 u1 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))))) (*.f32 (/.f32 (-.f32 1/3 (/.f32 (*.f32 1/2 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) 2))) (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (pow.f32 u1 3))))))
(fma.f32 1/2 (+.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (*.f32 u1 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))))) (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) (+.f32 (/.f32 (-.f32 1/3 (*.f32 (/.f32 -1/2 (+.f32 (log.f32 -1) (log.f32 u1))) (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) 2)))) (pow.f32 u1 3)) (/.f32 (-.f32 1/2 (pow.f32 (/.f32 1/2 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1)))) 2)) (*.f32 u1 u1))))) (*.f32 (sqrt.f32 (-.f32 (neg.f32 (log.f32 u1)) (log.f32 -1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))))
(*.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (log.f32 (/.f32 -1 u1))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1))) (*.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1)) (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (log.f32 (/.f32 -1 u1)))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (log.f32 (/.f32 -1 u1))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (*.f32 (-.f32 1/2 (pow.f32 (*.f32 -1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) 2)) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (pow.f32 u1 2)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1))) (*.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (-.f32 1/2 (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) -1/2) 2)) (/.f32 (*.f32 u1 u1) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1)) (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (log.f32 (/.f32 -1 u1))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (log.f32 (/.f32 -1 u1)))) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) (+.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1) (/.f32 (-.f32 1/2 (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) -1/2) 2)) u1)) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (log.f32 (/.f32 -1 u1))) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) (*.f32 (+.f32 (/.f32 (-.f32 1/2 (*.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))) 1/4)) u1) 1) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (*.f32 (+.f32 (*.f32 -1/2 (/.f32 (-.f32 1/2 (pow.f32 (*.f32 -1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) 2)) (log.f32 (/.f32 -1 u1)))) 1/3) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (pow.f32 u1 3)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (*.f32 (-.f32 1/2 (pow.f32 (*.f32 -1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) 2)) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))) (pow.f32 u1 2)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1))) (*.f32 (sqrt.f32 (log.f32 (/.f32 -1 u1))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (fma.f32 -1/2 (/.f32 (-.f32 1/2 (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) -1/2) 2)) (log.f32 (/.f32 -1 u1))) 1/3) (/.f32 (pow.f32 u1 3) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (-.f32 1/2 (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) -1/2) 2)) (/.f32 (*.f32 u1 u1) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32))))))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1)) (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (log.f32 (/.f32 -1 u1)))))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) (*.f32 (/.f32 (fma.f32 -1/2 (/.f32 (-.f32 1/2 (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) -1/2) 2)) (log.f32 (/.f32 -1 u1))) 1/3) (pow.f32 u1 3)) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))) (+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (log.f32 (/.f32 -1 u1)))) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) (+.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1) (/.f32 (-.f32 1/2 (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1)))) -1/2) 2)) u1)) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1)))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (log.f32 (/.f32 -1 u1)))) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))))) (+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (+.f32 (/.f32 (fma.f32 -1/2 (/.f32 (-.f32 1/2 (*.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))) 1/4)) (log.f32 (/.f32 -1 u1))) 1/3) (pow.f32 u1 3)) (/.f32 (-.f32 1/2 (*.f32 (/.f32 1 (log.f32 (/.f32 -1 u1))) 1/4)) (*.f32 u1 u1)))) (/.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) u1))))
(sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))
(sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))
(+.f32 (*.f32 -2 (*.f32 (pow.f32 u2 2) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 2)))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(fma.f32 -2 (*.f32 (*.f32 u2 u2) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(fma.f32 -2 (*.f32 u2 (*.f32 u2 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (pow.f32 (PI.f32) 2)))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (+.f32 (*.f32 (*.f32 u2 u2) (*.f32 -2 (pow.f32 (PI.f32) 2))) 1) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(+.f32 (*.f32 2/3 (*.f32 (pow.f32 u2 4) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 4)))) (+.f32 (*.f32 -2 (*.f32 (pow.f32 u2 2) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 2)))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))))
(fma.f32 2/3 (*.f32 (*.f32 (pow.f32 u2 4) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (pow.f32 (PI.f32) 4)) (fma.f32 -2 (*.f32 (*.f32 u2 u2) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))))
(fma.f32 2/3 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 u2 4))) (fma.f32 -2 (*.f32 u2 (*.f32 u2 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (pow.f32 (PI.f32) 2)))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))))
(+.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (*.f32 (*.f32 u2 u2) (*.f32 -2 (pow.f32 (PI.f32) 2))) (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))))))
(+.f32 (*.f32 2/3 (*.f32 (pow.f32 u2 4) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 4)))) (+.f32 (*.f32 -2 (*.f32 (pow.f32 u2 2) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 2)))) (+.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (*.f32 -4/45 (*.f32 (pow.f32 u2 6) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 6)))))))
(fma.f32 2/3 (*.f32 (*.f32 (pow.f32 u2 4) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (pow.f32 (PI.f32) 4)) (+.f32 (fma.f32 -2 (*.f32 (*.f32 u2 u2) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (*.f32 (*.f32 -4/45 (pow.f32 u2 6)) (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (pow.f32 (PI.f32) 6)))))
(fma.f32 2/3 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 u2 4))) (fma.f32 -2 (*.f32 u2 (*.f32 u2 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (pow.f32 (PI.f32) 2)))) (fma.f32 -4/45 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 u2 6))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))))
(+.f32 (*.f32 (+.f32 (*.f32 (*.f32 u2 u2) (*.f32 -2 (pow.f32 (PI.f32) 2))) 1) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (*.f32 (pow.f32 u2 6) (*.f32 -4/45 (pow.f32 (PI.f32) 6))) (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
(*.f32 (cos.f32 (*.f32 -2 (*.f32 u2 (*.f32 (cbrt.f32 -1) (PI.f32))))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 -2 (*.f32 (*.f32 u2 (cbrt.f32 -1)) (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 -2 (*.f32 u2 (*.f32 (PI.f32) (cbrt.f32 -1))))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 u2 (*.f32 (PI.f32) (*.f32 (cbrt.f32 -1) -2)))))
(*.f32 (cos.f32 (*.f32 -2 (*.f32 u2 (*.f32 (cbrt.f32 -1) (PI.f32))))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 -2 (*.f32 (*.f32 u2 (cbrt.f32 -1)) (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 -2 (*.f32 u2 (*.f32 (PI.f32) (cbrt.f32 -1))))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 u2 (*.f32 (PI.f32) (*.f32 (cbrt.f32 -1) -2)))))
(*.f32 (cos.f32 (*.f32 -2 (*.f32 u2 (*.f32 (cbrt.f32 -1) (PI.f32))))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 -2 (*.f32 (*.f32 u2 (cbrt.f32 -1)) (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 -2 (*.f32 u2 (*.f32 (PI.f32) (cbrt.f32 -1))))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 u2 (*.f32 (PI.f32) (*.f32 (cbrt.f32 -1) -2)))))
(*.f32 (cos.f32 (*.f32 -2 (*.f32 u2 (*.f32 (cbrt.f32 -1) (PI.f32))))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 -2 (*.f32 (*.f32 u2 (cbrt.f32 -1)) (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 -2 (*.f32 u2 (*.f32 (PI.f32) (cbrt.f32 -1))))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 u2 (*.f32 (PI.f32) (*.f32 (cbrt.f32 -1) -2)))))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 u2 (PI.f32))
(*.f32 -1 (*.f32 u2 (*.f32 (cbrt.f32 -1) (PI.f32))))
(neg.f32 (*.f32 (*.f32 u2 (cbrt.f32 -1)) (PI.f32)))
(*.f32 u2 (neg.f32 (*.f32 (PI.f32) (cbrt.f32 -1))))
(*.f32 (cbrt.f32 -1) (*.f32 u2 (neg.f32 (PI.f32))))
(*.f32 -1 (*.f32 u2 (*.f32 (cbrt.f32 -1) (PI.f32))))
(neg.f32 (*.f32 (*.f32 u2 (cbrt.f32 -1)) (PI.f32)))
(*.f32 u2 (neg.f32 (*.f32 (PI.f32) (cbrt.f32 -1))))
(*.f32 (cbrt.f32 -1) (*.f32 u2 (neg.f32 (PI.f32))))
(*.f32 -1 (*.f32 u2 (*.f32 (cbrt.f32 -1) (PI.f32))))
(neg.f32 (*.f32 (*.f32 u2 (cbrt.f32 -1)) (PI.f32)))
(*.f32 u2 (neg.f32 (*.f32 (PI.f32) (cbrt.f32 -1))))
(*.f32 (cbrt.f32 -1) (*.f32 u2 (neg.f32 (PI.f32))))
(*.f32 -1 (*.f32 u2 (*.f32 (cbrt.f32 -1) (PI.f32))))
(neg.f32 (*.f32 (*.f32 u2 (cbrt.f32 -1)) (PI.f32)))
(*.f32 u2 (neg.f32 (*.f32 (PI.f32) (cbrt.f32 -1))))
(*.f32 (cbrt.f32 -1) (*.f32 u2 (neg.f32 (PI.f32))))

eval46.0ms (0.9%)

Compiler

Compiled 2535 to 1608 computations (36.6% saved)

prune218.0ms (4.3%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New1072109
Fresh21214
Picked101
Done000
Total11014124
Error
0.1b
Counts
124 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
8.1b
(*.f32 (exp.f32 (log.f32 (sqrt.f32 (log1p.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
0.3b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))
0.3b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (-.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) u2))) 1))))
7.6b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (log1p.f32 u1))) (cbrt.f32 (log1p.f32 u1))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
0.3b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (cbrt.f32 (*.f32 (pow.f32 u2 3) (*.f32 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32))))))))
0.8b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log.f32 (+.f32 1 (expm1.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (neg.f32 (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (fma.f32 (neg.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))))
2.9b
(+.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 (*.f32 u2 u2) (*.f32 (pow.f32 (PI.f32) 2) -2) (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))))))
7.7b
(*.f32 (pow.f32 (cbrt.f32 (sqrt.f32 (log1p.f32 u1))) 3) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (pow.f32 (cbrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))) 3))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (/.f32 (-.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (+.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))
7.6b
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 u1) 3/2)) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
14.6b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
2.4b
(+.f32 (*.f32 (fma.f32 -2 (*.f32 u2 (*.f32 (pow.f32 (PI.f32) 2) u2)) 1) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 -4/45 (*.f32 (pow.f32 u2 6) (pow.f32 (PI.f32) 6)) (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))))))
Compiler

Compiled 854 to 608 computations (28.8% saved)

localize68.0ms (1.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 (pow.f32 u2 3) (*.f32 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32))))
1.0b
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 (cbrt.f32 (PI.f32)) 2))
1.0b
(*.f32 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32)))
1.0b
(pow.f32 (PI.f32) 2)

series1.0ms (0%)

Counts
4 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
u2
@0
(*.f32 (pow.f32 u2 3) (*.f32 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32))))
0.0ms
u2
@inf
(*.f32 (pow.f32 u2 3) (*.f32 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32))))
0.0ms
u2
@-inf
(*.f32 (pow.f32 u2 3) (*.f32 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32))))

rewrite54.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
875×log1p-expm1-u_binary32
875×expm1-log1p-u_binary32
112×add-sqr-sqrt_binary32
109×pow1_binary32
106×associate-*r*_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01240
125628
2269828
Stop Event
node limit
Counts
4 → 64
Calls
Call 1
Inputs
(pow.f32 (PI.f32) 2)
(*.f32 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32)))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 (cbrt.f32 (PI.f32)) 2))
(*.f32 (pow.f32 u2 3) (*.f32 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (pow.f32 (PI.f32) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (PI.f32) (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (PI.f32) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (PI.f32) 2)) (pow.f32 (cbrt.f32 (PI.f32)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (pow.f32 (PI.f32) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (pow.f32 (PI.f32) 3)) (sqrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (PI.f32)) (*.f32 (sqrt.f32 (PI.f32)) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) (cbrt.f32 (pow.f32 (PI.f32) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) (cbrt.f32 (PI.f32))) (cbrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) (cbrt.f32 (pow.f32 (PI.f32) 2))) (cbrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 1) (cbrt.f32 (pow.f32 (PI.f32) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))) (cbrt.f32 (cbrt.f32 (pow.f32 (PI.f32) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (PI.f32) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (pow.f32 (PI.f32) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (pow.f32 (PI.f32) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (pow.f32 (PI.f32) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (PI.f32) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (PI.f32) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 2 (log.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 2 (log.f32 (PI.f32))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (pow.f32 (PI.f32) 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (PI.f32) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (PI.f32) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (pow.f32 (PI.f32) 3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (pow.f32 (PI.f32) 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (pow.f32 (PI.f32) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (pow.f32 (PI.f32) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (pow.f32 (PI.f32) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (PI.f32) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 (PI.f32) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (pow.f32 (PI.f32) 3)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 (PI.f32) 4)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 (PI.f32) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 (pow.f32 (PI.f32) 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 2 (log.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 2 (log.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (pow.f32 (*.f32 (PI.f32) u2) 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (PI.f32) u2) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (pow.f32 (*.f32 (PI.f32) u2) 3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (PI.f32) u2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (pow.f32 (*.f32 (PI.f32) u2) 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (pow.f32 (*.f32 (PI.f32) u2) 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (pow.f32 (*.f32 (PI.f32) u2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (pow.f32 (*.f32 (PI.f32) u2) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (pow.f32 (*.f32 (PI.f32) u2) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (pow.f32 (PI.f32) 3) 3) (pow.f32 (pow.f32 u2 3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (pow.f32 u2 3) 3) (pow.f32 (pow.f32 (PI.f32) 3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (*.f32 (PI.f32) u2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (*.f32 (PI.f32) u2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (pow.f32 (*.f32 (PI.f32) u2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (pow.f32 (*.f32 (PI.f32) u2) 3)) 1))))))

simplify72.0ms (1.4%)

Algorithm
egg-herbie
Rules
974×unswap-sqr_binary32
626×sqr-pow_binary32
403×*-commutative_binary32
237×pow-sqr_binary32
219×cube-prod_binary32
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
07132
121132
256132
3189132
471596
5127996
6270396
7279296
8293496
9309396
10326496
11349496
12379096
13414296
14456696
Stop Event
node limit
Counts
76 → 66
Calls
Call 1
Inputs
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
Outputs
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(pow.f32 (*.f32 u2 (PI.f32)) 3)
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(pow.f32 (*.f32 u2 (PI.f32)) 3)
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(pow.f32 (*.f32 u2 (PI.f32)) 3)
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(pow.f32 (*.f32 u2 (PI.f32)) 3)
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(pow.f32 (*.f32 u2 (PI.f32)) 3)
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(pow.f32 (*.f32 u2 (PI.f32)) 3)
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(pow.f32 (*.f32 u2 (PI.f32)) 3)
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(pow.f32 (*.f32 u2 (PI.f32)) 3)
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(pow.f32 (*.f32 u2 (PI.f32)) 3)
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(pow.f32 (*.f32 u2 (PI.f32)) 3)
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(pow.f32 (*.f32 u2 (PI.f32)) 3)
(*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))
(pow.f32 (*.f32 u2 (PI.f32)) 3)

eval27.0ms (0.5%)

Compiler

Compiled 1553 to 933 computations (39.9% saved)

prune166.0ms (3.3%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New66066
Fresh01313
Picked011
Done000
Total661480
Error
0.1b
Counts
80 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
8.1b
(*.f32 (exp.f32 (log.f32 (sqrt.f32 (log1p.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
0.3b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))
0.3b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (-.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) u2))) 1))))
7.6b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (log1p.f32 u1))) (cbrt.f32 (log1p.f32 u1))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
0.3b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (cbrt.f32 (*.f32 (pow.f32 u2 3) (*.f32 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32))))))))
0.8b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log.f32 (+.f32 1 (expm1.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (neg.f32 (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (fma.f32 (neg.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))))
2.9b
(+.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 (*.f32 u2 u2) (*.f32 (pow.f32 (PI.f32) 2) -2) (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))))))
7.7b
(*.f32 (pow.f32 (cbrt.f32 (sqrt.f32 (log1p.f32 u1))) 3) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (pow.f32 (cbrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))) 3))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (/.f32 (-.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (+.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))
7.6b
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 u1) 3/2)) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
14.6b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
2.4b
(+.f32 (*.f32 (fma.f32 -2 (*.f32 u2 (*.f32 (pow.f32 (PI.f32) 2) u2)) 1) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 -4/45 (*.f32 (pow.f32 u2 6) (pow.f32 (PI.f32) 6)) (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))))))
Compiler

Compiled 826 to 585 computations (29.2% saved)

localize68.0ms (1.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 (PI.f32) (*.f32 u2 2))
0.3b
(*.f32 (PI.f32) u2)
0.5b
(pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)
29.2b
(fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))

series6.0ms (0.1%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
2.0ms
u2
@0
(fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))
1.0ms
u2
@inf
(fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))
1.0ms
u2
@-inf
(fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))
0.0ms
u2
@0
(pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)
0.0ms
u2
@-inf
(*.f32 (PI.f32) (*.f32 u2 2))

rewrite57.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
848×log1p-expm1-u_binary32
848×expm1-log1p-u_binary32
111×add-sqr-sqrt_binary32
108×pow1_binary32
107×*-un-lft-identity_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01146
122640
2267740
Stop Event
node limit
Counts
3 → 59
Calls
Call 1
Inputs
(fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))
(pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)
(*.f32 (PI.f32) (*.f32 u2 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 (PI.f32) u2)) (+.f32 (sin.f32 (*.f32 (PI.f32) u2)) (sin.f32 (*.f32 (PI.f32) u2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (pow.f32 (cbrt.f32 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) 2) (cbrt.f32 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (sqrt.f32 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) 3) (pow.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) 3)) (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 4) (-.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 4) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 4) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 4)) (-.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 1/2 (*.f32 1/2 (cos.f32 (*.f32 u2 (*.f32 (PI.f32) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 (PI.f32) u2)) (sin.f32 (*.f32 (PI.f32) u2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) 2) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) 2) (*.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 4)) (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (sin.f32 (*.f32 (PI.f32) u2)) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) 2)) (cbrt.f32 (sin.f32 (*.f32 (PI.f32) u2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (cos.f32 (-.f32 (*.f32 (PI.f32) u2) (*.f32 (PI.f32) u2))) (cos.f32 (+.f32 (*.f32 (PI.f32) u2) (*.f32 (PI.f32) u2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 2 (log.f32 (sin.f32 (*.f32 (PI.f32) u2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 2 (log.f32 (sin.f32 (*.f32 (PI.f32) u2)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 u2 (*.f32 (PI.f32) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 u2 (*.f32 (PI.f32) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 u2 (*.f32 (PI.f32) 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) u2) 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (pow.f32 (exp.f32 u2) (PI.f32)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 u2 (*.f32 (PI.f32) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 u2 (*.f32 (PI.f32) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 (*.f32 u2 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 u2 2) 3) (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 u2 (*.f32 (PI.f32) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 u2 (*.f32 (PI.f32) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 u2 (*.f32 (PI.f32) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 u2 (*.f32 (PI.f32) 2))) 1))))))

simplify36.0ms (0.7%)

Algorithm
egg-herbie
Rules
757×distribute-rgt-out_binary32
680×fma-def_binary32
417×associate-*l*_binary32
371×associate-*r*_binary32
275×associate-+l+_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
072472
1218388
2785316
34061316
Stop Event
node limit
Counts
95 → 77
Calls
Call 1
Inputs
(*.f32 (+.f32 (*.f32 -1 (pow.f32 (PI.f32) 2)) (pow.f32 (PI.f32) 2)) (pow.f32 u2 2))
(+.f32 (*.f32 (pow.f32 u2 4) (+.f32 (*.f32 1/3 (pow.f32 (PI.f32) 4)) (*.f32 -1/3 (pow.f32 (PI.f32) 4)))) (*.f32 (+.f32 (*.f32 -1 (pow.f32 (PI.f32) 2)) (pow.f32 (PI.f32) 2)) (pow.f32 u2 2)))
(+.f32 (*.f32 (pow.f32 u2 4) (+.f32 (*.f32 1/3 (pow.f32 (PI.f32) 4)) (*.f32 -1/3 (pow.f32 (PI.f32) 4)))) (+.f32 (*.f32 (+.f32 (*.f32 -1 (pow.f32 (PI.f32) 2)) (pow.f32 (PI.f32) 2)) (pow.f32 u2 2)) (*.f32 (pow.f32 u2 6) (+.f32 (*.f32 1/60 (pow.f32 (PI.f32) 6)) (+.f32 (*.f32 -1/36 (pow.f32 (PI.f32) 6)) (+.f32 (*.f32 -1/60 (pow.f32 (PI.f32) 6)) (*.f32 1/36 (pow.f32 (PI.f32) 6))))))))
(+.f32 (*.f32 (pow.f32 u2 4) (+.f32 (*.f32 1/3 (pow.f32 (PI.f32) 4)) (*.f32 -1/3 (pow.f32 (PI.f32) 4)))) (+.f32 (*.f32 (+.f32 (*.f32 -1 (pow.f32 (PI.f32) 2)) (pow.f32 (PI.f32) 2)) (pow.f32 u2 2)) (+.f32 (*.f32 (+.f32 (*.f32 -1/2520 (pow.f32 (PI.f32) 8)) (+.f32 (*.f32 1/360 (pow.f32 (PI.f32) 8)) (+.f32 (*.f32 1/2520 (pow.f32 (PI.f32) 8)) (*.f32 -1/360 (pow.f32 (PI.f32) 8))))) (pow.f32 u2 8)) (*.f32 (pow.f32 u2 6) (+.f32 (*.f32 1/60 (pow.f32 (PI.f32) 6)) (+.f32 (*.f32 -1/36 (pow.f32 (PI.f32) 6)) (+.f32 (*.f32 -1/60 (pow.f32 (PI.f32) 6)) (*.f32 1/36 (pow.f32 (PI.f32) 6)))))))))
(+.f32 (*.f32 -1 (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)) (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2))
(+.f32 (*.f32 -1 (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)) (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2))
(+.f32 (*.f32 -1 (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)) (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2))
(+.f32 (*.f32 -1 (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)) (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2))
(+.f32 (*.f32 -1 (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)) (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2))
(+.f32 (*.f32 -1 (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)) (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2))
(+.f32 (*.f32 -1 (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)) (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2))
(+.f32 (*.f32 -1 (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)) (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2))
(*.f32 (pow.f32 u2 2) (pow.f32 (PI.f32) 2))
(+.f32 (*.f32 -1/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))) (*.f32 (pow.f32 u2 2) (pow.f32 (PI.f32) 2)))
(+.f32 (*.f32 (pow.f32 u2 6) (+.f32 (*.f32 1/60 (pow.f32 (PI.f32) 6)) (*.f32 1/36 (pow.f32 (PI.f32) 6)))) (+.f32 (*.f32 -1/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))) (*.f32 (pow.f32 u2 2) (pow.f32 (PI.f32) 2))))
(+.f32 (*.f32 (pow.f32 u2 6) (+.f32 (*.f32 1/60 (pow.f32 (PI.f32) 6)) (*.f32 1/36 (pow.f32 (PI.f32) 6)))) (+.f32 (*.f32 (+.f32 (*.f32 -1/2520 (pow.f32 (PI.f32) 8)) (*.f32 -1/360 (pow.f32 (PI.f32) 8))) (pow.f32 u2 8)) (+.f32 (*.f32 -1/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))) (*.f32 (pow.f32 u2 2) (pow.f32 (PI.f32) 2)))))
(pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)
(pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)
(pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)
(pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)
(pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)
(pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)
(pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)
(pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 u2 (PI.f32)))
Outputs
(*.f32 (+.f32 (*.f32 -1 (pow.f32 (PI.f32) 2)) (pow.f32 (PI.f32) 2)) (pow.f32 u2 2))
(*.f32 (*.f32 0 (pow.f32 (PI.f32) 2)) (*.f32 u2 u2))
(*.f32 u2 (*.f32 u2 0))
0
(+.f32 (*.f32 (pow.f32 u2 4) (+.f32 (*.f32 1/3 (pow.f32 (PI.f32) 4)) (*.f32 -1/3 (pow.f32 (PI.f32) 4)))) (*.f32 (+.f32 (*.f32 -1 (pow.f32 (PI.f32) 2)) (pow.f32 (PI.f32) 2)) (pow.f32 u2 2)))
(*.f32 (*.f32 0 (pow.f32 (PI.f32) 2)) (*.f32 u2 u2))
(*.f32 u2 (*.f32 u2 0))
0
(+.f32 (*.f32 (pow.f32 u2 4) (+.f32 (*.f32 1/3 (pow.f32 (PI.f32) 4)) (*.f32 -1/3 (pow.f32 (PI.f32) 4)))) (+.f32 (*.f32 (+.f32 (*.f32 -1 (pow.f32 (PI.f32) 2)) (pow.f32 (PI.f32) 2)) (pow.f32 u2 2)) (*.f32 (pow.f32 u2 6) (+.f32 (*.f32 1/60 (pow.f32 (PI.f32) 6)) (+.f32 (*.f32 -1/36 (pow.f32 (PI.f32) 6)) (+.f32 (*.f32 -1/60 (pow.f32 (PI.f32) 6)) (*.f32 1/36 (pow.f32 (PI.f32) 6))))))))
(*.f32 (*.f32 0 (pow.f32 (PI.f32) 2)) (*.f32 u2 u2))
(*.f32 u2 (*.f32 u2 0))
0
(+.f32 (*.f32 (pow.f32 u2 4) (+.f32 (*.f32 1/3 (pow.f32 (PI.f32) 4)) (*.f32 -1/3 (pow.f32 (PI.f32) 4)))) (+.f32 (*.f32 (+.f32 (*.f32 -1 (pow.f32 (PI.f32) 2)) (pow.f32 (PI.f32) 2)) (pow.f32 u2 2)) (+.f32 (*.f32 (+.f32 (*.f32 -1/2520 (pow.f32 (PI.f32) 8)) (+.f32 (*.f32 1/360 (pow.f32 (PI.f32) 8)) (+.f32 (*.f32 1/2520 (pow.f32 (PI.f32) 8)) (*.f32 -1/360 (pow.f32 (PI.f32) 8))))) (pow.f32 u2 8)) (*.f32 (pow.f32 u2 6) (+.f32 (*.f32 1/60 (pow.f32 (PI.f32) 6)) (+.f32 (*.f32 -1/36 (pow.f32 (PI.f32) 6)) (+.f32 (*.f32 -1/60 (pow.f32 (PI.f32) 6)) (*.f32 1/36 (pow.f32 (PI.f32) 6)))))))))
(*.f32 (*.f32 0 (pow.f32 (PI.f32) 2)) (*.f32 u2 u2))
(*.f32 u2 (*.f32 u2 0))
0
(+.f32 (*.f32 -1 (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)) (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2))
(*.f32 (*.f32 0 (pow.f32 (PI.f32) 2)) (*.f32 u2 u2))
(*.f32 u2 (*.f32 u2 0))
0
(+.f32 (*.f32 -1 (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)) (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2))
(*.f32 (*.f32 0 (pow.f32 (PI.f32) 2)) (*.f32 u2 u2))
(*.f32 u2 (*.f32 u2 0))
0
(+.f32 (*.f32 -1 (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)) (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2))
(*.f32 (*.f32 0 (pow.f32 (PI.f32) 2)) (*.f32 u2 u2))
(*.f32 u2 (*.f32 u2 0))
0
(+.f32 (*.f32 -1 (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)) (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2))
(*.f32 (*.f32 0 (pow.f32 (PI.f32) 2)) (*.f32 u2 u2))
(*.f32 u2 (*.f32 u2 0))
0
(+.f32 (*.f32 -1 (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)) (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2))
(*.f32 (*.f32 0 (pow.f32 (PI.f32) 2)) (*.f32 u2 u2))
(*.f32 u2 (*.f32 u2 0))
0
(+.f32 (*.f32 -1 (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)) (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2))
(*.f32 (*.f32 0 (pow.f32 (PI.f32) 2)) (*.f32 u2 u2))
(*.f32 u2 (*.f32 u2 0))
0
(+.f32 (*.f32 -1 (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)) (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2))
(*.f32 (*.f32 0 (pow.f32 (PI.f32) 2)) (*.f32 u2 u2))
(*.f32 u2 (*.f32 u2 0))
0
(+.f32 (*.f32 -1 (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)) (pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2))
(*.f32 (*.f32 0 (pow.f32 (PI.f32) 2)) (*.f32 u2 u2))
(*.f32 u2 (*.f32 u2 0))
0
(*.f32 (pow.f32 u2 2) (pow.f32 (PI.f32) 2))
(*.f32 (pow.f32 (PI.f32) 2) (*.f32 u2 u2))
(+.f32 (*.f32 -1/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))) (*.f32 (pow.f32 u2 2) (pow.f32 (PI.f32) 2)))
(fma.f32 -1/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4)) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 u2 u2)))
(fma.f32 (pow.f32 (PI.f32) 2) (*.f32 u2 u2) (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 u2 4) -1/3)))
(+.f32 (*.f32 (pow.f32 u2 6) (+.f32 (*.f32 1/60 (pow.f32 (PI.f32) 6)) (*.f32 1/36 (pow.f32 (PI.f32) 6)))) (+.f32 (*.f32 -1/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))) (*.f32 (pow.f32 u2 2) (pow.f32 (PI.f32) 2))))
(fma.f32 (pow.f32 u2 6) (*.f32 (pow.f32 (PI.f32) 6) 2/45) (fma.f32 -1/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4)) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 u2 u2))))
(fma.f32 (pow.f32 u2 6) (*.f32 (pow.f32 (PI.f32) 6) 2/45) (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 u2 u2) (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 u2 4) -1/3))))
(fma.f32 (pow.f32 u2 4) (*.f32 (pow.f32 (PI.f32) 4) -1/3) (fma.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 u2 6) 2/45) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 u2 u2))))
(+.f32 (*.f32 (pow.f32 u2 6) (+.f32 (*.f32 1/60 (pow.f32 (PI.f32) 6)) (*.f32 1/36 (pow.f32 (PI.f32) 6)))) (+.f32 (*.f32 (+.f32 (*.f32 -1/2520 (pow.f32 (PI.f32) 8)) (*.f32 -1/360 (pow.f32 (PI.f32) 8))) (pow.f32 u2 8)) (+.f32 (*.f32 -1/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))) (*.f32 (pow.f32 u2 2) (pow.f32 (PI.f32) 2)))))
(fma.f32 (pow.f32 u2 6) (*.f32 (pow.f32 (PI.f32) 6) 2/45) (fma.f32 (*.f32 (pow.f32 (PI.f32) 8) -1/315) (pow.f32 u2 8) (fma.f32 -1/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4)) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 u2 u2)))))
(fma.f32 (pow.f32 u2 6) (*.f32 (pow.f32 (PI.f32) 6) 2/45) (fma.f32 (pow.f32 u2 8) (*.f32 (pow.f32 (PI.f32) 8) -1/315) (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 u2 u2) (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 u2 4) -1/3)))))
(fma.f32 (pow.f32 u2 6) (*.f32 (pow.f32 (PI.f32) 6) 2/45) (fma.f32 (pow.f32 u2 4) (*.f32 (pow.f32 (PI.f32) 4) -1/3) (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 u2 u2) (*.f32 (pow.f32 u2 8) (*.f32 (pow.f32 (PI.f32) 8) -1/315)))))
(pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)
(pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)
(pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)
(pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)
(pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)
(pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)
(pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)
(pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)
(pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)
(pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)
(pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)
(pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)
(pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)
(pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)
(pow.f32 (sin.f32 (*.f32 u2 (PI.f32))) 2)
(pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 (PI.f32) u2))
(*.f32 (PI.f32) (*.f32 2 u2))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 (PI.f32) u2))
(*.f32 (PI.f32) (*.f32 2 u2))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 (PI.f32) u2))
(*.f32 (PI.f32) (*.f32 2 u2))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 (PI.f32) u2))
(*.f32 (PI.f32) (*.f32 2 u2))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 (PI.f32) u2))
(*.f32 (PI.f32) (*.f32 2 u2))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 (PI.f32) u2))
(*.f32 (PI.f32) (*.f32 2 u2))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 (PI.f32) u2))
(*.f32 (PI.f32) (*.f32 2 u2))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 (PI.f32) u2))
(*.f32 (PI.f32) (*.f32 2 u2))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 (PI.f32) u2))
(*.f32 (PI.f32) (*.f32 2 u2))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 (PI.f32) u2))
(*.f32 (PI.f32) (*.f32 2 u2))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 (PI.f32) u2))
(*.f32 (PI.f32) (*.f32 2 u2))
(*.f32 2 (*.f32 u2 (PI.f32)))
(*.f32 2 (*.f32 (PI.f32) u2))
(*.f32 (PI.f32) (*.f32 2 u2))

eval57.0ms (1.1%)

Compiler

Compiled 4245 to 1799 computations (57.6% saved)

prune408.0ms (8.1%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New1214125
Fresh3912
Picked101
Done011
Total12514139
Error
0.0b
Counts
139 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (pow.f32 (cbrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))) 3))
0.3b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (cbrt.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 u2 3)))) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))
0.3b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (cos.f32 (log.f32 (+.f32 1 (expm1.f32 (*.f32 u2 (*.f32 (PI.f32) 2)))))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))
0.3b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (cbrt.f32 (*.f32 (pow.f32 u2 3) (*.f32 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32))))))))
0.8b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log.f32 (+.f32 1 (expm1.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (neg.f32 (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (fma.f32 (neg.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (/.f32 (-.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (+.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)) (-.f32 (exp.f32 (log1p.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) 1))))
7.6b
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 u1) 3/2)) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
7.6b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (log1p.f32 u1))) (cbrt.f32 (log1p.f32 u1))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
14.6b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
2.4b
(+.f32 (*.f32 (fma.f32 -2 (*.f32 u2 (*.f32 (pow.f32 (PI.f32) 2) u2)) 1) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 -4/45 (*.f32 (pow.f32 u2 6) (pow.f32 (PI.f32) 6)) (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))))))
7.7b
(*.f32 (pow.f32 (cbrt.f32 (sqrt.f32 (log1p.f32 u1))) 3) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
0.3b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (pow.f32 (sqrt.f32 (*.f32 (PI.f32) u2)) 2)) 2))))
Compiler

Compiled 472 to 330 computations (30.1% saved)

regimes185.0ms (3.7%)

Accuracy

Total -20.0b remaining (-7657.9%)

Threshold costs -20.0b (-7657.9%)

Counts
23 → 1
Calls
Call 1
Inputs
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (cbrt.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 u2 3)))) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (cos.f32 (log.f32 (+.f32 1 (expm1.f32 (*.f32 u2 (*.f32 (PI.f32) 2)))))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)) (-.f32 (exp.f32 (log1p.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) 1))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (pow.f32 (sqrt.f32 (*.f32 (PI.f32) u2)) 2)) 2))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (-.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) u2))) 1))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (cbrt.f32 (*.f32 (pow.f32 u2 3) (*.f32 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32))))))))
(*.f32 (exp.f32 (log.f32 (sqrt.f32 (log1p.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (cbrt.f32 (*.f32 (pow.f32 u2 3) (pow.f32 (PI.f32) 3))))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log.f32 (+.f32 1 (expm1.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (neg.f32 (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))) (fma.f32 (neg.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (-.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) u2))) 1))))
(+.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 (*.f32 u2 u2) (*.f32 (pow.f32 (PI.f32) 2) -2) (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))))))
(*.f32 (pow.f32 (cbrt.f32 (sqrt.f32 (log1p.f32 u1))) 3) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (pow.f32 (cbrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))) 3))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) u2)) 3))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (/.f32 (-.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (*.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (+.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 u1) 3/2)) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (log1p.f32 u1))) (cbrt.f32 (log1p.f32 u1))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
(+.f32 (*.f32 (fma.f32 -2 (*.f32 u2 (*.f32 (pow.f32 (PI.f32) 2) u2)) 1) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 -4/45 (*.f32 (pow.f32 u2 6) (pow.f32 (PI.f32) 6)) (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4))))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
Outputs
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (cbrt.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 u2 3)))) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))
Results
TimeErrorSegmentsBranch
10.0ms0.3b1cosTheta_i
12.0ms0.3b1u1
13.0ms0.3b1u2
9.0ms0.3b1(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
6.0ms0.3b1(sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))
9.0ms0.3b1(sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))
6.0ms0.3b1(neg.f32 (log.f32 (-.f32 1 u1)))
6.0ms0.3b1(neg.f32 (log.f32 (-.f32 1 u1)))
11.0ms0.3b1(log.f32 (-.f32 1 u1))
10.0ms0.3b1(log.f32 (-.f32 1 u1))
11.0ms0.3b1(-.f32 1 u1)
10.0ms0.3b1(-.f32 1 u1)
9.0ms0.3b1(cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2))
12.0ms0.3b1(*.f32 (*.f32 2 (PI.f32)) u2)
Compiler

Compiled 698 to 386 computations (44.7% saved)

simplify3.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02559
13959
24559
34859
Stop Event
saturated
Calls
Call 1
Inputs
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (cbrt.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 u2 3)))) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))
Outputs
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (cbrt.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 u2 3)))) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))

end41.0ms (0.8%)

Stop Event
fuel
Compiler

Compiled 74 to 54 computations (27% saved)

Profiling

Loading profile data...