Details

Time bar (total: 8.3s)

analyze375.0ms (4.5%)

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 37 to 28 computations (24.3% saved)

sample2.0s (23.9%)

Results
1.9s8256×body128valid
1.0msbody128invalid
Compiler

Compiled 88 to 67 computations (23.9% saved)

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Rules
11×sub-neg_binary32
+-commutative_binary32
fma-def_binary32
*-commutative_binary32
div-sub_binary32
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01117
11717
22117
32717
43417
54417
65417
76917
87617
97917
108017
116017

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.4b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.4b
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
Compiler

Compiled 42 to 33 computations (21.4% saved)

localize27.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f32 (/.f32 u1 (-.f32 1 u1)))
0.2b
(/.f32 u1 (-.f32 1 u1))
0.2b
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.3b
(*.f32 314159265359/50000000000 u2)

series41.0ms (0.5%)

Counts
4 → 40
Calls

4 calls:

27.0ms
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
10.0ms
(sqrt.f32 (/.f32 u1 (-.f32 1 u1)))
2.0ms
(/.f32 u1 (-.f32 1 u1))
2.0ms
(*.f32 314159265359/50000000000 u2)

rewrite33.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
81×add-sqr-sqrt_binary32
69×*-un-lft-identity_binary32
56×times-frac_binary32
50×sqrt-prod_binary32
39×add-cube-cbrt_binary32
Counts
4 → 148
Calls

4 calls:

11.0ms
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
5.0ms
(sqrt.f32 (/.f32 u1 (-.f32 1 u1)))
5.0ms
(/.f32 u1 (-.f32 1 u1))
3.0ms
(*.f32 314159265359/50000000000 u2)

simplify118.0ms (1.4%)

Algorithm
egg-herbie
Rules
595×associate-/r*_binary32
481×fma-def_binary32
401×times-frac_binary32
261×associate-/l*_binary32
204×fma-neg_binary32
Counts
188 → 226
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02893681
16353497
218683373
348563373
449243373

prune330.0ms (4%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New21511226
Fresh000
Picked101
Done000
Total21611227
Error
0.0b
Counts
227 → 11
Alt Table
StatusErrorProgram
0.5b
(*.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (cbrt.f32 (-.f32 1 u1)) (cbrt.f32 (-.f32 1 u1))))) (sqrt.f32 (/.f32 u1 (cbrt.f32 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.5b
(*.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (*.f32 (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))) (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))))) (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.5b
(*.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1)))) (sqrt.f32 (+.f32 u1 1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
2.3b
(-.f32 (+.f32 (*.f32 9740909103402808085817682884085781839780052161/150000000000000000000000000000000000000000000 (*.f32 (pow.f32 u2 4) (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (+.f32 (*.f32 98696044010906577398881/5000000000000000000000 (*.f32 (pow.f32 u2 2) (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (*.f32 961389193575684075633145058384385882649239799132134631991269883031841/11250000000000000000000000000000000000000000000000000000000000000000 (*.f32 (pow.f32 u2 6) (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))))))
0.5b
(*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (sqrt.f32 u1)))) (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 (sqrt.f32 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
6.5b
(*.f32 (log.f32 (exp.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.4b
(*.f32 (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
2.1b
(*.f32 (*.f32 (sqrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (sqrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)))) (*.f32 (sqrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (sqrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)))))
0.9b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))) (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2))))) (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))))
0.4b
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)) (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)))))
0.6b
(*.f32 (sqrt.f32 (/.f32 (*.f32 (cbrt.f32 u1) (cbrt.f32 u1)) 1)) (*.f32 (sqrt.f32 (/.f32 (cbrt.f32 u1) (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
Compiler

Compiled 5285 to 3883 computations (26.5% saved)

localize38.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f32 (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.2b
(log1p.f32 (/.f32 u1 (-.f32 1 u1)))
0.3b
(expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))
0.3b
(*.f32 314159265359/50000000000 u2)

series32.0ms (0.4%)

Counts
3 → 44
Calls

3 calls:

26.0ms
(*.f32 (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
3.0ms
(log1p.f32 (/.f32 u1 (-.f32 1 u1)))
2.0ms
(expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))

rewrite7.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
10×add-sqr-sqrt_binary32
associate-*l*_binary32
*-un-lft-identity_binary32
add-cube-cbrt_binary32
add-cbrt-cube_binary32
Counts
3 → 46
Calls

3 calls:

4.0ms
(*.f32 (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.0ms
(log1p.f32 (/.f32 u1 (-.f32 1 u1)))
0.0ms
(expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))

simplify85.0ms (1%)

Algorithm
egg-herbie
Rules
606×fma-neg_binary32
451×fma-def_binary32
337×associate-*l*_binary32
293×associate-*r*_binary32
254×associate-+l+_binary32
Counts
90 → 118
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01671955
14241792
213041668
345951668
450981668

prune173.0ms (2.1%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1364140
Fresh4610
Picked101
Done000
Total14110151
Error
0.0b
Counts
151 → 10
Alt Table
StatusErrorProgram
0.5b
(*.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (cbrt.f32 (-.f32 1 u1)) (cbrt.f32 (-.f32 1 u1))))) (sqrt.f32 (/.f32 u1 (cbrt.f32 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.5b
(*.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1)))) (sqrt.f32 (+.f32 u1 1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.5b
(*.f32 (*.f32 (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))) (*.f32 (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))) (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))))) (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.6b
(*.f32 (sqrt.f32 (/.f32 (*.f32 (cbrt.f32 u1) (cbrt.f32 u1)) 1)) (*.f32 (sqrt.f32 (/.f32 (cbrt.f32 u1) (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
6.5b
(*.f32 (log.f32 (exp.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.4b
(*.f32 (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))) (cos.f32 (*.f32 (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)) (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)))))
2.1b
(*.f32 (sqrt.f32 (*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (sqrt.f32 (*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))))
0.4b
(cbrt.f32 (*.f32 (*.f32 (*.f32 (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))) (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1)))))) (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1)))))) (*.f32 (*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (cos.f32 (*.f32 314159265359/50000000000 u2))) (cos.f32 (*.f32 314159265359/50000000000 u2)))))
0.5b
(*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (sqrt.f32 u1)))) (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 (sqrt.f32 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.9b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))) (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2))))) (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))))
Compiler

Compiled 3476 to 2737 computations (21.3% saved)

localize49.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(log1p.f32 (/.f32 u1 (-.f32 1 u1)))
0.3b
(expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))
0.3b
(*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2))
0.5b
(*.f32 (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)) (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)))

series21.0ms (0.3%)

Counts
2 → 8
Calls

2 calls:

12.0ms
(*.f32 (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)) (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)))
9.0ms
(*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2))

rewrite22.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
61×pow1_binary32
38×pow-prod-down_binary32
24×add-sqr-sqrt_binary32
18×sqrt-pow1_binary32
18×pow1/2_binary32
Counts
2 → 81
Calls

2 calls:

12.0ms
(*.f32 (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)) (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)))
5.0ms
(*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2))

simplify88.0ms (1.1%)

Algorithm
egg-herbie
Rules
792×unswap-sqr_binary32
555×fma-def_binary32
296×associate-*r/_binary32
246×associate-*l/_binary32
214×*-commutative_binary32
Counts
89 → 97
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
073617
1141567
2425543
3654543
4961543
51687543
64034543
74995543
84982543

prune316.0ms (3.8%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New2004204
Fresh189
Picked101
Done000
Total20212214
Error
0.0b
Counts
214 → 12
Alt Table
StatusErrorProgram
1.3b
(*.f32 (sqrt.f32 (exp.f32 (log.f32 (/.f32 u1 (-.f32 1 u1))))) (cos.f32 (*.f32 (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)) (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)))))
2.1b
(*.f32 (sqrt.f32 (*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (sqrt.f32 (*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))))
7.8b
(*.f32 (sqrt.f32 u1) (cos.f32 (*.f32 (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)) (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)))))
0.5b
(*.f32 (*.f32 (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))) (*.f32 (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))) (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))))) (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.6b
(*.f32 (sqrt.f32 (/.f32 (*.f32 (cbrt.f32 u1) (cbrt.f32 u1)) 1)) (*.f32 (sqrt.f32 (/.f32 (cbrt.f32 u1) (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.5b
(*.f32 (sqrt.f32 (expm1.f32 (*.f32 (sqrt.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1)))) (sqrt.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))))) (cos.f32 (*.f32 (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)) (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)))))
6.5b
(*.f32 (log.f32 (exp.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
1.6b
(*.f32 (sqrt.f32 (expm1.f32 (fma.f32 (pow.f32 u1 3) 1/3 (fma.f32 (*.f32 u1 u1) 1/2 (fma.f32 (pow.f32 u1 4) 1/4 u1))))) (cos.f32 (*.f32 (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)) (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)))))
0.5b
(*.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (cbrt.f32 (-.f32 1 u1)) (cbrt.f32 (-.f32 1 u1))))) (sqrt.f32 (/.f32 u1 (cbrt.f32 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.4b
(cbrt.f32 (*.f32 (*.f32 (*.f32 (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))) (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1)))))) (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1)))))) (*.f32 (*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (cos.f32 (*.f32 314159265359/50000000000 u2))) (cos.f32 (*.f32 314159265359/50000000000 u2)))))
0.5b
(*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (sqrt.f32 u1)))) (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 (sqrt.f32 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.9b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))) (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2))))) (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))))
Compiler

Compiled 5708 to 4238 computations (25.8% saved)

localize61.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))
0.3b
(*.f32 314159265359/50000000000 u2)
0.3b
(*.f32 (*.f32 (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))) (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1)))))) (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))))
0.5b
(*.f32 (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))) (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))))

series18.0ms (0.2%)

Counts
2 → 20
Calls

2 calls:

13.0ms
(*.f32 (*.f32 (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))) (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1)))))) (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))))
4.0ms
(*.f32 (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))) (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))))

rewrite26.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
57×pow1_binary32
33×add-sqr-sqrt_binary32
31×pow-prod-up_binary32
29×sqrt-pow1_binary32
29×pow1/2_binary32
Counts
2 → 104
Calls

2 calls:

10.0ms
(*.f32 (*.f32 (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))) (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1)))))) (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))))
5.0ms
(*.f32 (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))) (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))))

simplify78.0ms (1%)

Algorithm
egg-herbie
Rules
492×fma-neg_binary32
382×associate-*l*_binary32
315×associate-/r*_binary32
293×associate-*r*_binary32
272×fma-def_binary32
Counts
124 → 154
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01531842
13731454
212221396
345921396
449641396

prune612.0ms (7.4%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New3142316
Fresh11011
Picked011
Done000
Total31513328
Error
0.0b
Counts
328 → 13
Alt Table
StatusErrorProgram
1.3b
(*.f32 (sqrt.f32 (exp.f32 (log.f32 (/.f32 u1 (-.f32 1 u1))))) (cos.f32 (*.f32 (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)) (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)))))
2.1b
(*.f32 (sqrt.f32 (*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (sqrt.f32 (*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))))
7.8b
(*.f32 (sqrt.f32 u1) (cos.f32 (*.f32 (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)) (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)))))
0.5b
(*.f32 (*.f32 (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))) (*.f32 (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))) (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))))) (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.6b
(*.f32 (sqrt.f32 (/.f32 (*.f32 (cbrt.f32 u1) (cbrt.f32 u1)) 1)) (*.f32 (sqrt.f32 (/.f32 (cbrt.f32 u1) (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.5b
(*.f32 (sqrt.f32 (expm1.f32 (*.f32 (sqrt.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1)))) (sqrt.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))))) (cos.f32 (*.f32 (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)) (*.f32 (sqrt.f32 314159265359/50000000000) (sqrt.f32 u2)))))
6.5b
(*.f32 (log.f32 (exp.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.3b
(cbrt.f32 (*.f32 (sqrt.f32 (pow.f32 (/.f32 u1 (-.f32 1 u1)) 3)) (*.f32 (*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (cos.f32 (*.f32 314159265359/50000000000 u2))) (cos.f32 (*.f32 314159265359/50000000000 u2)))))
0.5b
(*.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (cbrt.f32 (-.f32 1 u1)) (cbrt.f32 (-.f32 1 u1))))) (sqrt.f32 (/.f32 u1 (cbrt.f32 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.4b
(cbrt.f32 (*.f32 (*.f32 (*.f32 (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1))))) (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1)))))) (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1)))))) (*.f32 (*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (cos.f32 (*.f32 314159265359/50000000000 u2))) (cos.f32 (*.f32 314159265359/50000000000 u2)))))
0.5b
(*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (sqrt.f32 u1)))) (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 (sqrt.f32 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.9b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))) (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2))))) (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))))
1.0b
(cbrt.f32 (*.f32 (*.f32 (exp.f32 (log.f32 (/.f32 u1 (-.f32 1 u1)))) (sqrt.f32 (expm1.f32 (log1p.f32 (/.f32 u1 (-.f32 1 u1)))))) (*.f32 (*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (cos.f32 (*.f32 314159265359/50000000000 u2))) (cos.f32 (*.f32 314159265359/50000000000 u2)))))
Compiler

Compiled 14248 to 11256 computations (21% saved)

regimes3.5s (42.2%)

Accuracy

Total 0.2b remaining (74.4%)

Threshold costs 0.2b (74.4%)

Counts
278 → 1
Compiler

Compiled 67499 to 53296 computations (21% saved)

simplify3.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
01528
12228
22628
32828
42928
52828

end235.0ms (2.8%)

Compiler

Compiled 411 to 328 computations (20.2% saved)

Profiling

Loading profile data...