Details

Time bar (total: 11.0s)

analyze349.0ms (3.2%)

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)

sample1.8s (16.5%)

Results
1.8s8256×body128valid
1.0msbody128invalid
Compiler

Compiled 88 to 67 computations (23.9% saved)

simplify8.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.3b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.3b
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
Compiler

Compiled 42 to 33 computations (21.4% saved)

localize32.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series40.0ms (0.4%)

Counts
4 → 40
Calls

4 calls:

26.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.3%)

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:

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

simplify123.0ms (1.1%)

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 → 223
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02893681
16353497
218683373
348563373
449243373

prune331.0ms (3%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New21013223
Fresh000
Picked101
Done000
Total21113224
Error
0.0b
Counts
224 → 13
Alt Table
StatusErrorProgram
0.6b
(*.f32 (sqrt.f32 (*.f32 (/.f32 (*.f32 (cbrt.f32 u1) (cbrt.f32 u1)) (*.f32 (cbrt.f32 (-.f32 1 u1)) (cbrt.f32 (-.f32 1 u1)))) (/.f32 (cbrt.f32 u1) (cbrt.f32 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.3b
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
1.0b
(*.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.5b
(-.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.7b
(*.f32 (sqrt.f32 (/.f32 (*.f32 (cbrt.f32 u1) (cbrt.f32 u1)) (+.f32 1 (sqrt.f32 u1)))) (*.f32 (sqrt.f32 (/.f32 (cbrt.f32 u1) (-.f32 1 (sqrt.f32 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.4b
(*.f32 (/.f32 (sqrt.f32 u1) (sqrt.f32 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.7b
(*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (sqrt.f32 (-.f32 1 u1)))) (*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (sqrt.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.4b
(*.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.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))))
1.9b
(exp.f32 (log.f32 (*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))))
0.4b
(*.f32 (sqrt.f32 (cbrt.f32 (/.f32 (*.f32 (*.f32 u1 u1) u1) (*.f32 (*.f32 (-.f32 1 u1) (-.f32 1 u1)) (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
8.2b
(*.f32 (sqrt.f32 u1) (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))))
Compiler

Compiled 5281 to 3881 computations (26.5% saved)

localize42.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series258.0ms (2.4%)

Counts
3 → 36
Calls

3 calls:

104.0ms
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
85.0ms
(exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))
69.0ms
(+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))

rewrite25.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
36×*-un-lft-identity_binary32
35×add-sqr-sqrt_binary32
27×associate-*l*_binary32
26×sqrt-prod_binary32
19×times-frac_binary32
Counts
3 → 93
Calls

3 calls:

11.0ms
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
4.0ms
(exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))
4.0ms
(+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))

simplify95.0ms (0.9%)

Algorithm
egg-herbie
Rules
299×associate-/r*_binary32
291×associate-*l*_binary32
288×distribute-neg-frac_binary32
274×fma-neg_binary32
273×fma-def_binary32
Counts
129 → 154
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02052257
14262069
211281983
336441983
449591983

prune369.0ms (3.4%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New2078215
Fresh8412
Picked101
Done000
Total21612228
Error
0.0b
Counts
228 → 12
Alt Table
StatusErrorProgram
0.4b
(*.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 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
0.7b
(*.f32 (sqrt.f32 (/.f32 (*.f32 (cbrt.f32 u1) (cbrt.f32 u1)) (+.f32 1 (sqrt.f32 u1)))) (*.f32 (sqrt.f32 (/.f32 (cbrt.f32 u1) (-.f32 1 (sqrt.f32 u1)))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
1.5b
(-.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.7b
(*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (sqrt.f32 (-.f32 1 u1)))) (*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (sqrt.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.4b
(*.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.4b
(*.f32 (sqrt.f32 (*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 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 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))) (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))) (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))))
1.9b
(exp.f32 (log.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))))
0.6b
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 (pow.f32 1 3) (pow.f32 u1 3)))) (*.f32 (sqrt.f32 (+.f32 (*.f32 1 1) (+.f32 (*.f32 u1 u1) (*.f32 1 u1)))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
8.2b
(*.f32 (sqrt.f32 u1) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
0.5b
(*.f32 (sqrt.f32 (/.f32 1 (sqrt.f32 (-.f32 1 u1)))) (*.f32 (sqrt.f32 (/.f32 u1 (sqrt.f32 (-.f32 1 u1)))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
Compiler

Compiled 5371 to 3944 computations (26.6% saved)

localize88.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f32 (sqrt.f32 (*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
0.3b
(*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 1 u1))
0.3b
(+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))
1.5b
(exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))

series151.0ms (1.4%)

Counts
2 → 32
Calls

2 calls:

147.0ms
(*.f32 (sqrt.f32 (*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
3.0ms
(*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 1 u1))

rewrite39.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
25×associate-*l*_binary32
24×add-sqr-sqrt_binary32
19×*-un-lft-identity_binary32
16×times-frac_binary32
14×add-cube-cbrt_binary32
Counts
2 → 75
Calls

2 calls:

10.0ms
(*.f32 (sqrt.f32 (*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
9.0ms
(*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 1 u1))

simplify114.0ms (1%)

Algorithm
egg-herbie
Rules
694×fma-def_binary32
568×times-frac_binary32
456×distribute-rgt-in_binary32
402×distribute-lft-in_binary32
157×associate-*l*_binary32
Counts
107 → 157
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02243179
16392448
219452340
348632340
449972340
549432340

prune446.0ms (4.1%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New2230223
Fresh01111
Picked011
Done000
Total22312235
Error
0.0b
Counts
235 → 12
Alt Table
StatusErrorProgram
0.4b
(*.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 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
0.7b
(*.f32 (sqrt.f32 (/.f32 (*.f32 (cbrt.f32 u1) (cbrt.f32 u1)) (+.f32 1 (sqrt.f32 u1)))) (*.f32 (sqrt.f32 (/.f32 (cbrt.f32 u1) (-.f32 1 (sqrt.f32 u1)))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
1.5b
(-.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.7b
(*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (sqrt.f32 (-.f32 1 u1)))) (*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (sqrt.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.4b
(*.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.4b
(*.f32 (sqrt.f32 (*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 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 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))) (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))) (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))))
1.9b
(exp.f32 (log.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))))
0.6b
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 (pow.f32 1 3) (pow.f32 u1 3)))) (*.f32 (sqrt.f32 (+.f32 (*.f32 1 1) (+.f32 (*.f32 u1 u1) (*.f32 1 u1)))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
8.2b
(*.f32 (sqrt.f32 u1) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
0.5b
(*.f32 (sqrt.f32 (/.f32 1 (sqrt.f32 (-.f32 1 u1)))) (*.f32 (sqrt.f32 (/.f32 u1 (sqrt.f32 (-.f32 1 u1)))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
Compiler

Compiled 6851 to 4645 computations (32.2% saved)

localize70.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f32 (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))) (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.3b
(+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))
0.4b
(*.f32 314159265359/50000000000 u2)
1.5b
(exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))

series290.0ms (2.6%)

Counts
1 → 12
Calls

1 calls:

290.0ms
(*.f32 (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))) (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))))

rewrite11.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
17×add-sqr-sqrt_binary32
16×cbrt-prod_binary32
*-un-lft-identity_binary32
add-cube-cbrt_binary32
pow1_binary32
Counts
1 → 42
Calls

1 calls:

8.0ms
(*.f32 (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))) (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))))

simplify118.0ms (1.1%)

Algorithm
egg-herbie
Rules
677×fma-def_binary32
502×fma-neg_binary32
451×log-prod_binary32
381×cancel-sign-sub-inv_binary32
315×*-commutative_binary32
Counts
54 → 65
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
065889
1130857
2318729
3810701
41755578
53174578
64140578
74865578
84841578

prune480.0ms (4.4%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1714175
Fresh4610
Picked101
Done101
Total17710187
Error
0.0b
Counts
187 → 10
Alt Table
StatusErrorProgram
0.9b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))) (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))) (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))))
0.4b
(*.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 (expm1.f32 (log1p.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))))
0.7b
(*.f32 (sqrt.f32 (/.f32 (*.f32 (cbrt.f32 u1) (cbrt.f32 u1)) (+.f32 1 (sqrt.f32 u1)))) (*.f32 (sqrt.f32 (/.f32 (cbrt.f32 u1) (-.f32 1 (sqrt.f32 u1)))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
1.5b
(-.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)))))))
1.9b
(exp.f32 (log.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))))
0.4b
(*.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (*.f32 (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))) (cbrt.f32 (cos.f32 (*.f32 (*.f32 314159265359/50000000000 (*.f32 (cbrt.f32 u2) (cbrt.f32 u2))) (cbrt.f32 u2)))))) (cbrt.f32 (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
0.9b
(*.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (log.f32 (exp.f32 (*.f32 (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))) (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))))))) (cbrt.f32 (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
0.4b
(*.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (*.f32 (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))) (cbrt.f32 (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))) (cbrt.f32 (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
0.7b
(*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (sqrt.f32 (-.f32 1 u1)))) (*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (sqrt.f32 (-.f32 1 u1)))) (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))))
Compiler

Compiled 5869 to 4642 computations (20.9% saved)

regimes5.4s (49.5%)

Accuracy

Total 0.3b remaining (82%)

Threshold costs 0.3b (82%)

Counts
389 → 1
Compiler

Compiled 94056 to 73177 computations (22.2% 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
01841
13041
23641
34041
44241
54141

end220.0ms (2%)

Compiler

Compiled 388 to 300 computations (22.7% saved)

Profiling

Loading profile data...