Details

Time bar (total: 7.8s)

analyze438.0ms (5.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
0%0%100%2
0%0%100%3
0%0%100%4
0%0%100%5
0%0%100%6
0%0%100%7
0%0%100%8
0%0%100%9
0%0%100%10
0%0%100%11
0%0%100%12
0%0%100%13
0%0%100%14
Compiler

Compiled 39 to 31 computations (20.5% saved)

sample2.1s (26.8%)

Results
2.1s8256×body128valid
1.0msbody128invalid
Compiler

Compiled 78 to 62 computations (20.5% saved)

preprocess36.0ms (0.5%)

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
Compiler

Compiled 16 to 14 computations (12.5% saved)

simplify14.0ms (0.2%)

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

prune5.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
StatusErrorProgram
0.3b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
12.7b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
Compiler

Compiled 90 to 77 computations (14.4% saved)

localize33.0ms (0.4%)

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.1b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
0.4b
(*.f32 (PI.f32) u2)

series160.0ms (2%)

Counts
4 → 32
Calls

15 calls:

64.0ms
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
u2
inf
60.0ms
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
u2
-inf
7.0ms
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
u1
inf
5.0ms
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
u1
0
4.0ms
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
u1
-inf

rewrite64.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
679×prod-diff_binary32
204×expm1-udef_binary32
204×log1p-udef_binary32
132×add-sqr-sqrt_binary32
124×expm1-log1p-u_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01345
126637
2327537
Stop Event
node limit
Counts
4 → 96

simplify51.0ms (0.7%)

Algorithm
egg-herbie
Rules
538×cancel-sign-sub-inv_binary32
348×times-frac_binary32
276×associate-*l/_binary32
247×associate-/r*_binary32
218×associate-/l*_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01791948
15711783
220971637
Stop Event
node limit
Counts
128 → 144

prune192.0ms (2.5%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New13311144
Fresh101
Picked101
Done000
Total13511146
Error
0.1b
Counts
146 → 11
Alt Table
StatusErrorProgram
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (exp.f32 (log1p.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))) 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 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4)) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 u2 u2) -2)))))
8.6b
(*.f32 (*.f32 (cbrt.f32 (log1p.f32 u1)) (cbrt.f32 (sqrt.f32 (log1p.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
0.5b
(*.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 (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))))
8.7b
(pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))) 3)
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (expm1.f32 (log1p.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))))
0.8b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log.f32 (exp.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (log.f32 (pow.f32 (exp.f32 u2) (PI.f32))))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (-.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) u2))) 1))))
10.5b
(exp.f32 (log.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))
Compiler

Compiled 4916 to 3096 computations (37% saved)

localize67.0ms (0.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)
0.3b
(-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))
0.4b
(*.f32 (PI.f32) u2)
0.6b
(pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)

series21.0ms (0.3%)

Counts
3 → 24
Calls

9 calls:

4.0ms
(-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))
u2
0
3.0ms
(pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)
u2
0
3.0ms
(-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))
u2
-inf
2.0ms
(-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))
u2
inf
2.0ms
(pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)
u2
0

rewrite109.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
897×expm1-log1p-u_binary32
725×prod-diff_binary32
204×egg-rr
102×add-sqr-sqrt_binary32
101×log1p-expm1-u_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01042
121230
2262030
Stop Event
node limit
Counts
3 → 204

simplify39.0ms (0.5%)

Algorithm
egg-herbie
Rules
838×fma-neg_binary32
536×distribute-rgt-neg-in_binary32
511×distribute-lft-neg-in_binary32
367×unswap-sqr_binary32
337×associate-*r*_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
053489
1166477
2530471
32603471
Stop Event
node limit
Counts
228 → 231

prune555.0ms (7.1%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New2556261
Fresh4610
Picked101
Done000
Total26012272
Error
0.1b
Counts
272 → 12
Alt Table
StatusErrorProgram
8.6b
(*.f32 (*.f32 (cbrt.f32 (log1p.f32 u1)) (cbrt.f32 (sqrt.f32 (log1p.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
0.5b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4)) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 4))) (fma.f32 (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 3)) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 4))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (expm1.f32 (log1p.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2))))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (log.f32 (pow.f32 (exp.f32 u2) (PI.f32)))) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))
0.8b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log.f32 (exp.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (-.f32 (exp.f32 (log1p.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))) 1) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 6) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 6)) (/.f32 1 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4)))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (log.f32 (pow.f32 (exp.f32 u2) (PI.f32)))) 2)))
8.7b
(pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))) 3)
0.4b
(*.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 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4)) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 u2 u2) -2)))))
Compiler

Compiled 11660 to 4380 computations (62.4% saved)

localize54.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)))))
0.4b
(*.f32 (PI.f32) u2)
0.4b
(*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2))))
0.4b
(*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)))

series27.0ms (0.3%)

Counts
3 → 32
Calls

9 calls:

5.0ms
(*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)))
u2
0
4.0ms
(*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)))
u2
-inf
3.0ms
(-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)))))
u2
0
3.0ms
(*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)))
u2
inf
3.0ms
(*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2))))
u2
0

rewrite81.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
552×log-prod_binary32
254×fma-def_binary32
200×expm1-udef_binary32
200×log1p-udef_binary32
194×egg-rr
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01262
125530
2309030
Stop Event
node limit
Counts
3 → 194

simplify38.0ms (0.5%)

Algorithm
egg-herbie
Rules
662×fma-neg_binary32
493×distribute-rgt-neg-in_binary32
488×distribute-lft-neg-in_binary32
373×unswap-sqr_binary32
314×associate-*r*_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
059584
1166576
2472554
32263554
Stop Event
node limit
Counts
226 → 213

prune657.0ms (8.4%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New2694273
Fresh11011
Picked101
Done000
Total27114285
Error
0.1b
Counts
285 → 14
Alt Table
StatusErrorProgram
8.6b
(*.f32 (*.f32 (cbrt.f32 (log1p.f32 u1)) (cbrt.f32 (sqrt.f32 (log1p.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
0.5b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4)) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 4))) (fma.f32 (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 3)) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 4))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (log.f32 (pow.f32 (exp.f32 u2) (PI.f32)))) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))
0.8b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log.f32 (exp.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (-.f32 (exp.f32 (log1p.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))) 1) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 6) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 6)) (/.f32 1 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4)))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (log.f32 (pow.f32 (exp.f32 u2) (PI.f32)))) 2)))
8.7b
(pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))) 3)
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) 2) 3)))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 (*.f32 (neg.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)))
0.6b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (+.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (cbrt.f32 (exp.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))) (log.f32 (cbrt.f32 (exp.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (-.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) u2))) 1))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (/.f32 1 (/.f32 1 (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))))
2.9b
(+.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4)) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 u2 u2) -2)))))
Compiler

Compiled 9349 to 3829 computations (59% saved)

localize60.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)
0.3b
(fma.f32 (*.f32 (neg.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))
0.4b
(*.f32 (PI.f32) u2)
0.5b
(*.f32 (neg.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))))

series14.0ms (0.2%)

Counts
2 → 24
Calls

6 calls:

4.0ms
(fma.f32 (*.f32 (neg.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))
u2
0
3.0ms
(fma.f32 (*.f32 (neg.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))
u2
-inf
3.0ms
(fma.f32 (*.f32 (neg.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))
u2
inf
2.0ms
(*.f32 (neg.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))))
u2
0
1.0ms
(*.f32 (neg.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))))
u2
-inf

rewrite47.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
826×log1p-expm1-u_binary32
826×expm1-log1p-u_binary32
302×prod-diff_binary32
118×add-sqr-sqrt_binary32
109×add-cbrt-cube_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01237
124429
2289429
Stop Event
node limit
Counts
2 → 40

simplify31.0ms (0.4%)

Algorithm
egg-herbie
Rules
737×fma-neg_binary32
440×distribute-rgt-neg-in_binary32
427×distribute-lft-neg-in_binary32
396×associate-*r*_binary32
375×associate-*l*_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
065458
1189454
2559450
32639450
Stop Event
node limit
Counts
64 → 60

prune370.0ms (4.7%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New1480148
Fresh01313
Picked011
Done000
Total14814162
Error
0.1b
Counts
162 → 14
Alt Table
StatusErrorProgram
8.6b
(*.f32 (*.f32 (cbrt.f32 (log1p.f32 u1)) (cbrt.f32 (sqrt.f32 (log1p.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))
0.5b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4)) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 4))) (fma.f32 (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 3)) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 4))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (log.f32 (pow.f32 (exp.f32 u2) (PI.f32)))) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))
0.8b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log.f32 (exp.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (-.f32 (exp.f32 (log1p.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))) 1) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 6) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 6)) (/.f32 1 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4)))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (log.f32 (pow.f32 (exp.f32 u2) (PI.f32)))) 2)))
8.7b
(pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))) 3)
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) 2) 3)))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 (*.f32 (neg.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)))
0.6b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (+.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (cbrt.f32 (exp.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))) (log.f32 (cbrt.f32 (exp.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)))))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (-.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) u2))) 1))))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (/.f32 1 (/.f32 1 (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))))))
2.9b
(+.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4)) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 u2 u2) -2)))))
Compiler

Compiled 4868 to 1664 computations (65.8% saved)

regimes2.3s (29.7%)

Accuracy

Total 0.2b remaining (70.4%)

Threshold costs 0.2b (70.4%)

Counts
195 → 1
Compiler

Compiled 56430 to 40794 computations (27.7% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01525
12425
22825
33025
Stop Event
saturated

end234.0ms (3%)

Stop Event
fuel
Compiler

Compiled 427 to 318 computations (25.5% saved)

Profiling

Loading profile data...