Details

Time bar (total: 10.1s)

analyze493.0ms (4.9%)

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

Compiled 39 to 31 computations (20.5% saved)

sample2.7s (26.8%)

Results
2.7s8256×body128valid
1.0msbody128invalid
Compiler

Compiled 94 to 76 computations (19.1% saved)

simplify15.0ms (0.1%)

Algorithm
egg-herbie
Rules
40×fma-neg_binary32
22×sub-neg_binary32
17×cancel-sign-sub-inv_binary32
15×fma-def_binary32
11×*-commutative_binary32
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01422
12621
23821
34621
45621
56721
68221
710621
811921
912521
1014421
1114021
1216721
1318021
1418421
1518521
1616321

prune5.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.4b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.5b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
13.9b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
Compiler

Compiled 90 to 77 computations (14.4% saved)

localize37.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
(sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))
0.3b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
0.3b
(*.f32 (*.f32 2 (PI.f32)) u2)

series233.0ms (2.3%)

Counts
4 → 52
Calls

4 calls:

214.0ms
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
12.0ms
(sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))
3.0ms
(sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))
3.0ms
(*.f32 (*.f32 2 (PI.f32)) u2)

rewrite19.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
21×sqrt-prod_binary32
18×add-sqr-sqrt_binary32
14×associate-*l*_binary32
13×*-un-lft-identity_binary32
13×add-cube-cbrt_binary32
Counts
4 → 82
Calls

4 calls:

9.0ms
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
4.0ms
(*.f32 (*.f32 2 (PI.f32)) u2)
1.0ms
(sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))
1.0ms
(sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))

simplify126.0ms (1.2%)

Algorithm
egg-herbie
Rules
553×cancel-sign-sub-inv_binary32
510×fma-neg_binary32
360×times-frac_binary32
236×associate-*l*_binary32
224×fma-def_binary32
Counts
134 → 166
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02863674
17763341
225593238
344833212
450793212

prune243.0ms (2.4%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New15511166
Fresh101
Picked101
Done000
Total15711168
Error
0.0b
Counts
168 → 11
Alt Table
StatusErrorProgram
0.5b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log1p.f32 (expm1.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))
0.8b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 (*.f32 2 (PI.f32)) (*.f32 (cbrt.f32 u2) (cbrt.f32 u2))) (cbrt.f32 u2))))
0.8b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))) (cbrt.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))))) (cbrt.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))
1.4b
(*.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sqrt.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))) (sqrt.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))))
0.5b
(*.f32 (expm1.f32 (log1p.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
1.2b
(*.f32 (exp.f32 (log.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
1.4b
(*.f32 (sqrt.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))) (sqrt.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))
0.6b
(*.f32 (sqrt.f32 (*.f32 (cbrt.f32 (log1p.f32 (neg.f32 u1))) (cbrt.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (sqrt.f32 (neg.f32 (cbrt.f32 (log1p.f32 (neg.f32 u1))))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))))
0.7b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 (*.f32 2 (PI.f32)) (sqrt.f32 u2)) (sqrt.f32 u2))))
0.4b
(cbrt.f32 (*.f32 (*.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))
1.3b
(-.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 2 (*.f32 u2 (PI.f32)) (*.f32 4/15 (*.f32 (pow.f32 u2 5) (pow.f32 (PI.f32) 5))))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 4/3 (pow.f32 (*.f32 u2 (PI.f32)) 3) (*.f32 8/315 (*.f32 (pow.f32 u2 7) (pow.f32 (PI.f32) 7))))))
Compiler

Compiled 5112 to 3099 computations (39.4% saved)

localize73.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 (*.f32 2 (PI.f32)) u2)
0.3b
(*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
0.5b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
0.5b
(*.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))

series37.0ms (0.4%)

Counts
3 → 32
Calls

3 calls:

14.0ms
(*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
13.0ms
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
10.0ms
(*.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))

rewrite39.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
50×sqrt-prod_binary32
44×pow1_binary32
43×add-sqr-sqrt_binary32
28×*-un-lft-identity_binary32
24×add-cube-cbrt_binary32
Counts
3 → 137
Calls

3 calls:

12.0ms
(*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
10.0ms
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
6.0ms
(*.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))

simplify161.0ms (1.6%)

Algorithm
egg-herbie
Rules
434×fma-neg_binary32
370×*-commutative_binary32
353×cancel-sign-sub-inv_binary32
330×distribute-rgt-neg-in_binary32
293×fma-def_binary32
Counts
169 → 203
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02192791
14972409
215182345
331572236
447262215
549722215
648552215

prune1.1s (10.9%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New2852287
Fresh1910
Picked011
Done000
Total28612298
Error
0.0b
Counts
298 → 12
Alt Table
StatusErrorProgram
0.5b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log1p.f32 (expm1.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))
0.8b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 (*.f32 2 (PI.f32)) (*.f32 (cbrt.f32 u2) (cbrt.f32 u2))) (cbrt.f32 u2))))
0.5b
(cbrt.f32 (*.f32 (*.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))) (sin.f32 (*.f32 (sqrt.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))))))
0.8b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))) (cbrt.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))))) (cbrt.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))
1.4b
(*.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sqrt.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))) (sqrt.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))))
0.5b
(*.f32 (expm1.f32 (log1p.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
1.3b
(-.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 2 (*.f32 u2 (PI.f32)) (*.f32 4/15 (*.f32 (pow.f32 u2 5) (pow.f32 (PI.f32) 5))))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 4/3 (pow.f32 (*.f32 u2 (PI.f32)) 3) (*.f32 8/315 (*.f32 (pow.f32 u2 7) (pow.f32 (PI.f32) 7))))))
1.0b
(cbrt.f32 (*.f32 (*.f32 (exp.f32 (log.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))
1.4b
(*.f32 (sqrt.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))) (sqrt.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))
0.6b
(*.f32 (sqrt.f32 (*.f32 (cbrt.f32 (log1p.f32 (neg.f32 u1))) (cbrt.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (sqrt.f32 (neg.f32 (cbrt.f32 (log1p.f32 (neg.f32 u1))))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))))
0.7b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 (*.f32 2 (PI.f32)) (sqrt.f32 u2)) (sqrt.f32 u2))))
0.4b
(cbrt.f32 (*.f32 (*.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))
Compiler

Compiled 13247 to 6241 computations (52.9% saved)

localize50.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

series263.0ms (2.6%)

Counts
3 → 36
Calls

3 calls:

210.0ms
(*.f32 (expm1.f32 (log1p.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
40.0ms
(log1p.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
13.0ms
(expm1.f32 (log1p.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))))

rewrite6.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary32
*-un-lft-identity_binary32
add-cube-cbrt_binary32
add-cbrt-cube_binary32
add-exp-log_binary32
Counts
3 → 42
Calls

3 calls:

4.0ms
(*.f32 (expm1.f32 (log1p.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
0.0ms
(log1p.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))
0.0ms
(expm1.f32 (log1p.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))))

simplify102.0ms (1%)

Algorithm
egg-herbie
Rules
676×cancel-sign-sub-inv_binary32
331×fma-def_binary32
247×*-commutative_binary32
238×fma-neg_binary32
230×associate-*r*_binary32
Counts
78 → 119
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03284080
110063638
236153634
350313634

prune224.0ms (2.2%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New1461147
Fresh1910
Picked101
Done011
Total14811159
Error
0.0b
Counts
159 → 11
Alt Table
StatusErrorProgram
0.5b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log1p.f32 (expm1.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))
0.8b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 (*.f32 2 (PI.f32)) (*.f32 (cbrt.f32 u2) (cbrt.f32 u2))) (cbrt.f32 u2))))
0.5b
(cbrt.f32 (*.f32 (*.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))) (sin.f32 (*.f32 (sqrt.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))))))
1.3b
(-.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 2 (*.f32 u2 (PI.f32)) (*.f32 4/15 (*.f32 (pow.f32 u2 5) (pow.f32 (PI.f32) 5))))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 4/3 (pow.f32 (*.f32 u2 (PI.f32)) 3) (*.f32 8/315 (*.f32 (pow.f32 u2 7) (pow.f32 (PI.f32) 7))))))
1.0b
(cbrt.f32 (*.f32 (*.f32 (exp.f32 (log.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))
1.4b
(*.f32 (sqrt.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))) (sqrt.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))
0.6b
(*.f32 (sqrt.f32 (expm1.f32 (log1p.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))))) (*.f32 (sin.f32 (*.f32 2 (*.f32 (PI.f32) u2))) (sqrt.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))))
0.6b
(*.f32 (sqrt.f32 (*.f32 (cbrt.f32 (log1p.f32 (neg.f32 u1))) (cbrt.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (sqrt.f32 (neg.f32 (cbrt.f32 (log1p.f32 (neg.f32 u1))))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))))
1.4b
(*.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sqrt.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))) (sqrt.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))))
0.7b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 (*.f32 2 (PI.f32)) (sqrt.f32 u2)) (sqrt.f32 u2))))
0.4b
(cbrt.f32 (*.f32 (*.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))
Compiler

Compiled 6407 to 4258 computations (33.5% saved)

localize45.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(log1p.f32 (expm1.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))))
0.3b
(expm1.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
0.3b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log1p.f32 (expm1.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))
0.3b
(*.f32 (*.f32 2 (PI.f32)) u2)

series210.0ms (2.1%)

Counts
3 → 44
Calls

3 calls:

200.0ms
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log1p.f32 (expm1.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))
6.0ms
(expm1.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
3.0ms
(log1p.f32 (expm1.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))))

rewrite12.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
13×associate-*l*_binary32
12×add-sqr-sqrt_binary32
11×sqrt-prod_binary32
*-un-lft-identity_binary32
add-cube-cbrt_binary32
Counts
3 → 53
Calls

3 calls:

9.0ms
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log1p.f32 (expm1.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))
0.0ms
(expm1.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))
0.0ms
(log1p.f32 (expm1.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))))

simplify97.0ms (1%)

Algorithm
egg-herbie
Rules
851×fma-def_binary32
546×times-frac_binary32
448×cancel-sign-sub-inv_binary32
421×fma-neg_binary32
195×distribute-rgt-neg-in_binary32
Counts
97 → 126
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02212848
15722618
218152515
345612515
452792515

prune265.0ms (2.6%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New1531154
Fresh099
Picked011
Done011
Total15312165
Error
0b
Counts
165 → 12
Alt Table
StatusErrorProgram
0.5b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log1p.f32 (expm1.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))
0.8b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 (*.f32 2 (PI.f32)) (*.f32 (cbrt.f32 u2) (cbrt.f32 u2))) (cbrt.f32 u2))))
0.5b
(cbrt.f32 (*.f32 (*.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))) (sin.f32 (*.f32 (sqrt.f32 (*.f32 2 (*.f32 u2 (PI.f32)))) (sqrt.f32 (*.f32 2 (*.f32 u2 (PI.f32)))))))))
1.3b
(-.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 2 (*.f32 u2 (PI.f32)) (*.f32 4/15 (*.f32 (pow.f32 u2 5) (pow.f32 (PI.f32) 5))))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 4/3 (pow.f32 (*.f32 u2 (PI.f32)) 3) (*.f32 8/315 (*.f32 (pow.f32 u2 7) (pow.f32 (PI.f32) 7))))))
1.0b
(cbrt.f32 (*.f32 (*.f32 (exp.f32 (log.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))
1.4b
(*.f32 (sqrt.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))) (sqrt.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))
0.6b
(*.f32 (sqrt.f32 (expm1.f32 (log1p.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))))) (*.f32 (sin.f32 (*.f32 2 (*.f32 (PI.f32) u2))) (sqrt.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))))))
0.6b
(*.f32 (sqrt.f32 (*.f32 (cbrt.f32 (log1p.f32 (neg.f32 u1))) (cbrt.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (sqrt.f32 (neg.f32 (cbrt.f32 (log1p.f32 (neg.f32 u1))))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))))
1.4b
(*.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sqrt.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))) (sqrt.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))))
0.7b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 (*.f32 2 (PI.f32)) (sqrt.f32 u2)) (sqrt.f32 u2))))
0.4b
(cbrt.f32 (*.f32 (*.f32 (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))) (*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2))) (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))
12.9b
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log1p.f32 (log.f32 (exp.f32 (expm1.f32 (sin.f32 (*.f32 (*.f32 2 (PI.f32)) u2)))))))
Compiler

Compiled 4356 to 2574 computations (40.9% saved)

regimes3.3s (32.7%)

Accuracy

Total 0.4b remaining (82%)

Threshold costs 0.4b (82%)

Counts
238 → 1
Compiler

Compiled 65332 to 48744 computations (25.4% saved)

simplify7.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02056
13556
24456
35456
46256
57556
68556
79056
89256
98956

end239.0ms (2.4%)

Compiler

Compiled 428 to 305 computations (28.7% saved)

Profiling

Loading profile data...