Details

Time bar (total: 11.3s)

analyze420.0ms (3.7%)

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 31 to 25 computations (19.4% saved)

sample61.0ms (0.5%)

Algorithm
intervals
Results
31.0ms256×body128valid
10.0ms256×pre128true
Compiler

Compiled 50 to 42 computations (16% saved)

simplify16.0ms (0.1%)

Algorithm
egg-herbie
Rules
23×sub-neg_binary32
17×cancel-sign-sub-inv_binary32
11×*-commutative_binary32
distribute-rgt-neg-in_binary32
+-commutative_binary32
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01422
12622
23722
34422
45122
56022
67422
79722
810822
911022
1012722
1112322
1213422
1313722
1413822
1511622

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
13.3b
Counts
1 → 1
Alt Table
StatusErrorProgram
13.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
Compiler

Compiled 32 to 28 computations (12.5% saved)

localize39.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.1b
(sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))
0.2b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
0.4b
(*.f32 (*.f32 2 PI.f32) u2)
13.9b
(log.f32 (-.f32 1 u1))

rewrite135.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
9.0b
Rules
25×sqrt-prod_binary32
22×add-sqr-sqrt_binary32
17×*-un-lft-identity_binary32
17×pow1_binary32
16×associate-*l*_binary32
Counts
4 → 88
Calls

4 calls:

7.0ms
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
4.0ms
(*.f32 (*.f32 2 PI.f32) u2)
3.0ms
(log.f32 (-.f32 1 u1))
2.0ms
(sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))
Compiler

Compiled 1523 to 1205 computations (20.9% saved)

series92.0ms (0.8%)

Error
0.4b
Counts
4 → 21
Calls

4 calls:

38.0ms
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
13.0ms
(log.f32 (-.f32 1 u1))
10.0ms
(sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))
9.0ms
(*.f32 (*.f32 2 PI.f32) u2)
Compiler

Compiled 1095 to 914 computations (16.5% saved)

simplify127.0ms (1.1%)

Algorithm
egg-herbie
Rules
507×cancel-sign-sub-inv_binary32
394×*-commutative_binary32
254×neg-mul-1_binary32
248×neg-sub0_binary32
237×distribute-rgt-neg-in_binary32
Counts
109 → 73
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01952024
14131890
211721846
320971821
446161821
549961821
649281821

prune111.0ms (1%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New611273
Fresh000
Picked101
Done000
Total621274
Error
0.2b
Counts
74 → 12
Alt Table
StatusErrorProgram
15.1b
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (*.f32 2 (log.f32 (cbrt.f32 (-.f32 1 u1)))) (log.f32 (cbrt.f32 (-.f32 1 u1)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
4.1b
(*.f32 (sqrt.f32 (neg.f32 (*.f32 u1 (+.f32 -1 (*.f32 u1 -1/2))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
14.4b
(*.f32 (sqrt.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (*.f32 u1 u1))) (log.f32 (+.f32 u1 1))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
13.3b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))) (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))))) (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
7.6b
(*.f32 (sqrt.f32 (neg.f32 (neg.f32 u1))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
13.3b
(*.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (*.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (cbrt.f32 (cos.f32 (*.f32 (*.f32 2 PI.f32) u2))))
13.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
2.2b
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4)))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
13.7b
(*.f32 (sqrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))) (sqrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
13.3b
(log.f32 (exp.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
13.7b
(exp.f32 (log.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
13.9b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (-.f32 (+.f32 (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 PI.f32 4))) 1) (*.f32 2 (*.f32 (*.f32 u2 u2) (pow.f32 PI.f32 2)))))
Compiler

Compiled 1693 to 1317 computations (22.2% saved)

localize71.0ms (0.6%)

Local error

Found 4 expressions with local error:

0.2b
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4)))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
0.3b
(*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3)))
0.3b
(*.f32 u1 1/3)
0.4b
(*.f32 (*.f32 2 PI.f32) u2)

rewrite228.0ms (2%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
20×add-sqr-sqrt_binary32
18×associate-*l*_binary32
18×add-cbrt-cube_binary32
18×add-exp-log_binary32
18×pow1_binary32
Counts
4 → 92
Calls

4 calls:

15.0ms
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4)))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
7.0ms
(*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3)))
4.0ms
(*.f32 (*.f32 2 PI.f32) u2)
3.0ms
(*.f32 u1 1/3)
Compiler

Compiled 3076 to 2162 computations (29.7% saved)

series145.0ms (1.3%)

Error
0.2b
Counts
4 → 25
Calls

4 calls:

71.0ms
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4)))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
19.0ms
(*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3)))
12.0ms
(*.f32 (*.f32 2 PI.f32) u2)
11.0ms
(*.f32 u1 1/3)
Compiler

Compiled 1801 to 1432 computations (20.5% saved)

simplify113.0ms (1%)

Algorithm
egg-herbie
Rules
355×associate-*l*_binary32
284×associate-*r*_binary32
261×cancel-sign-sub-inv_binary32
259×distribute-rgt-in_binary32
248×distribute-lft-in_binary32
Counts
117 → 94
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02383162
15672886
218352672
343382672
449202672

prune203.0ms (1.8%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New87794
Fresh11011
Picked101
Done000
Total8917106
Error
0.1b
Counts
106 → 17
Alt Table
StatusErrorProgram
3.3b
(*.f32 (*.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 1/3 u1) 1/2)) (+.f32 u1 (*.f32 1/4 (pow.f32 u1 4))))) (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (sqrt.f32 (cos.f32 (*.f32 (*.f32 2 PI.f32) u2))))
13.3b
(*.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (*.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (cbrt.f32 (cos.f32 (*.f32 (*.f32 2 PI.f32) u2))))
2.4b
(*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 1/3 u1) 1/2)) (+.f32 u1 (*.f32 1/4 (pow.f32 u1 4))))))))
8.2b
(log.f32 (pow.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 1/3 u1) 1/2)) (+.f32 u1 (*.f32 1/4 (pow.f32 u1 4)))))))
4.2b
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (log.f32 (pow.f32 (exp.f32 u1) (*.f32 u1 (-.f32 -1/2 (*.f32 1/3 u1))))) u1) (*.f32 (pow.f32 u1 4) -1/4)))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
15.1b
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (*.f32 2 (log.f32 (cbrt.f32 (-.f32 1 u1)))) (log.f32 (cbrt.f32 (-.f32 1 u1)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
4.1b
(*.f32 (sqrt.f32 (neg.f32 (*.f32 u1 (+.f32 -1 (*.f32 u1 -1/2))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
14.4b
(*.f32 (sqrt.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (*.f32 u1 u1))) (log.f32 (+.f32 u1 1))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
13.3b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))) (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))))) (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
2.4b
(/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (-.f32 (*.f32 (pow.f32 u1 12) 1/64) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 1/3 u1)))) u1) 3)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1)) (-.f32 (*.f32 (*.f32 (pow.f32 u1 4) -1/4) (*.f32 (pow.f32 u1 4) -1/4)) (*.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4))))))
13.3b
(log.f32 (exp.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
13.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
2.3b
(*.f32 (*.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 1/3 u1) 1/2)) (+.f32 u1 (*.f32 1/4 (pow.f32 u1 4))))) (*.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (cbrt.f32 (cos.f32 (*.f32 (*.f32 2 PI.f32) u2))))
13.7b
(*.f32 (sqrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))) (sqrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
2.6b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4))))) (cbrt.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 1/3 u1) 1/2)) (+.f32 u1 (*.f32 1/4 (pow.f32 u1 4))))))))
13.7b
(exp.f32 (log.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
13.9b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (-.f32 (+.f32 (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 PI.f32 4))) 1) (*.f32 2 (*.f32 (*.f32 u2 u2) (pow.f32 PI.f32 2)))))
Compiler

Compiled 3548 to 2586 computations (27.1% saved)

localize102.0ms (0.9%)

Local error

Found 4 expressions with local error:

0.3b
(*.f32 1/3 u1)
0.4b
(*.f32 (*.f32 2 PI.f32) u2)
0.4b
(*.f32 u2 PI.f32)
0.4b
(*.f32 u2 PI.f32)

rewrite188.0ms (1.7%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
17×add-sqr-sqrt_binary32
15×add-cbrt-cube_binary32
15×add-exp-log_binary32
15×pow1_binary32
12×associate-*r*_binary32
Counts
4 → 72
Calls

4 calls:

4.0ms
(*.f32 1/3 u1)
4.0ms
(*.f32 (*.f32 2 PI.f32) u2)
3.0ms
(*.f32 u2 PI.f32)
3.0ms
(*.f32 u2 PI.f32)
Compiler

Compiled 3015 to 1965 computations (34.8% saved)

series57.0ms (0.5%)

Error
0.1b
Counts
4 → 12
Calls

4 calls:

14.0ms
(*.f32 u2 PI.f32)
13.0ms
(*.f32 (*.f32 2 PI.f32) u2)
13.0ms
(*.f32 u2 PI.f32)
13.0ms
(*.f32 1/3 u1)
Compiler

Compiled 1167 to 871 computations (25.4% saved)

simplify108.0ms (1%)

Algorithm
egg-herbie
Rules
646×distribute-rgt-in_binary32
476×distribute-lft-in_binary32
310×associate-*l/_binary32
293×*-commutative_binary32
292×distribute-rgt-out_binary32
Counts
84 → 37
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
092732
1190634
2566633
3743633
4897633
51134633
62539633
74645633
84999633
94929633

prune130.0ms (1.1%)

Pruning

18 alts after pruning (18 fresh and 0 done)

PrunedKeptTotal
New35237
Fresh01616
Picked101
Done000
Total361854
Error
0.1b
Counts
54 → 18
Alt Table
StatusErrorProgram
3.3b
(*.f32 (*.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 1/3 u1) 1/2)) (+.f32 u1 (*.f32 1/4 (pow.f32 u1 4))))) (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (sqrt.f32 (cos.f32 (*.f32 (*.f32 2 PI.f32) u2))))
13.3b
(*.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (*.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (cbrt.f32 (cos.f32 (*.f32 (*.f32 2 PI.f32) u2))))
2.4b
(*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 1/3 u1) 1/2)) (+.f32 u1 (*.f32 1/4 (pow.f32 u1 4))))))))
8.2b
(log.f32 (pow.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 1/3 u1) 1/2)) (+.f32 u1 (*.f32 1/4 (pow.f32 u1 4)))))))
4.2b
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (log.f32 (pow.f32 (exp.f32 u1) (*.f32 u1 (-.f32 -1/2 (*.f32 1/3 u1))))) u1) (*.f32 (pow.f32 u1 4) -1/4)))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
2.3b
(*.f32 (*.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 1/3 u1) 1/2)) (+.f32 u1 (*.f32 1/4 (pow.f32 u1 4))))) (*.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (cbrt.f32 (cos.f32 (*.f32 (*.f32 (cbrt.f32 (*.f32 (*.f32 u2 PI.f32) 2)) (cbrt.f32 (*.f32 (*.f32 u2 PI.f32) 2))) (cbrt.f32 (*.f32 (*.f32 u2 PI.f32) 2))))))
2.6b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4))))) (cbrt.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 1/3 u1) 1/2)) (+.f32 u1 (*.f32 1/4 (pow.f32 u1 4))))))))
15.1b
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (*.f32 2 (log.f32 (cbrt.f32 (-.f32 1 u1)))) (log.f32 (cbrt.f32 (-.f32 1 u1)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
4.1b
(*.f32 (sqrt.f32 (neg.f32 (*.f32 u1 (+.f32 -1 (*.f32 u1 -1/2))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
14.4b
(*.f32 (sqrt.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (*.f32 u1 u1))) (log.f32 (+.f32 u1 1))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
13.3b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))) (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))))) (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
2.4b
(/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (-.f32 (*.f32 (pow.f32 u1 12) 1/64) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 1/3 u1)))) u1) 3)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1)) (-.f32 (*.f32 (*.f32 (pow.f32 u1 4) -1/4) (*.f32 (pow.f32 u1 4) -1/4)) (*.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4))))))
13.3b
(log.f32 (exp.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
2.3b
(*.f32 (*.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 1/3 u1) 1/2)) (+.f32 u1 (*.f32 1/4 (pow.f32 u1 4))))) (*.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (cbrt.f32 (cos.f32 (log.f32 (pow.f32 (exp.f32 (*.f32 u2 PI.f32)) 2)))))
13.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
13.7b
(*.f32 (sqrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))) (sqrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
13.7b
(exp.f32 (log.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
13.9b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (-.f32 (+.f32 (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 PI.f32 4))) 1) (*.f32 2 (*.f32 (*.f32 u2 u2) (pow.f32 PI.f32 2)))))
Compiler

Compiled 2507 to 1816 computations (27.6% saved)

localize108.0ms (1%)

Local error

Found 4 expressions with local error:

0.4b
(*.f32 u2 PI.f32)
0.4b
(*.f32 u2 PI.f32)
0.4b
(pow.f32 (exp.f32 (*.f32 u2 PI.f32)) 2)
12.7b
(log.f32 (pow.f32 (exp.f32 (*.f32 u2 PI.f32)) 2))

rewrite229.0ms (2%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
16×add-sqr-sqrt_binary32
12×*-un-lft-identity_binary32
12×add-cube-cbrt_binary32
add-exp-log_binary32
pow1_binary32
Counts
4 → 75
Calls

4 calls:

3.0ms
(*.f32 u2 PI.f32)
3.0ms
(*.f32 u2 PI.f32)
3.0ms
(pow.f32 (exp.f32 (*.f32 u2 PI.f32)) 2)
2.0ms
(log.f32 (pow.f32 (exp.f32 (*.f32 u2 PI.f32)) 2))
Compiler

Compiled 3431 to 2125 computations (38.1% saved)

series88.0ms (0.8%)

Error
0.1b
Counts
4 → 15
Calls

4 calls:

26.0ms
(log.f32 (pow.f32 (exp.f32 (*.f32 u2 PI.f32)) 2))
19.0ms
(pow.f32 (exp.f32 (*.f32 u2 PI.f32)) 2)
13.0ms
(*.f32 u2 PI.f32)
13.0ms
(*.f32 u2 PI.f32)
Compiler

Compiled 1539 to 1134 computations (26.3% saved)

simplify122.0ms (1.1%)

Algorithm
egg-herbie
Rules
480×associate-*l*_binary32
418×distribute-rgt-in_binary32
396×associate-*r*_binary32
378×distribute-lft-in_binary32
331×exp-prod_binary32
Counts
90 → 48
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
092960
1180823
2493823
31806820
44275820
54628820
64995820
74974820

prune129.0ms (1.1%)

Pruning

19 alts after pruning (18 fresh and 1 done)

PrunedKeptTotal
New47148
Fresh01717
Picked011
Done000
Total471966
Error
0.1b
Counts
66 → 19
Alt Table
StatusErrorProgram
3.3b
(*.f32 (*.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 1/3 u1) 1/2)) (+.f32 u1 (*.f32 1/4 (pow.f32 u1 4))))) (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (sqrt.f32 (cos.f32 (*.f32 (*.f32 2 PI.f32) u2))))
13.3b
(*.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (*.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (cbrt.f32 (cos.f32 (*.f32 (*.f32 2 PI.f32) u2))))
2.3b
(*.f32 (*.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 1/3 u1) 1/2)) (+.f32 u1 (*.f32 1/4 (pow.f32 u1 4))))) (*.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (cbrt.f32 (cos.f32 (log.f32 (pow.f32 (exp.f32 u2) (*.f32 2 PI.f32))))))
13.7b
(*.f32 (sqrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))) (sqrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
2.4b
(*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 1/3 u1) 1/2)) (+.f32 u1 (*.f32 1/4 (pow.f32 u1 4))))))))
8.2b
(log.f32 (pow.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 1/3 u1) 1/2)) (+.f32 u1 (*.f32 1/4 (pow.f32 u1 4)))))))
4.2b
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (log.f32 (pow.f32 (exp.f32 u1) (*.f32 u1 (-.f32 -1/2 (*.f32 1/3 u1))))) u1) (*.f32 (pow.f32 u1 4) -1/4)))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
2.3b
(*.f32 (*.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 1/3 u1) 1/2)) (+.f32 u1 (*.f32 1/4 (pow.f32 u1 4))))) (*.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (cbrt.f32 (cos.f32 (*.f32 (*.f32 (cbrt.f32 (*.f32 (*.f32 u2 PI.f32) 2)) (cbrt.f32 (*.f32 (*.f32 u2 PI.f32) 2))) (cbrt.f32 (*.f32 (*.f32 u2 PI.f32) 2))))))
2.6b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4))))) (cbrt.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 1/3 u1) 1/2)) (+.f32 u1 (*.f32 1/4 (pow.f32 u1 4))))))))
15.1b
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (*.f32 2 (log.f32 (cbrt.f32 (-.f32 1 u1)))) (log.f32 (cbrt.f32 (-.f32 1 u1)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
4.1b
(*.f32 (sqrt.f32 (neg.f32 (*.f32 u1 (+.f32 -1 (*.f32 u1 -1/2))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
14.4b
(*.f32 (sqrt.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (*.f32 u1 u1))) (log.f32 (+.f32 u1 1))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
13.3b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))) (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))))) (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
2.4b
(/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (-.f32 (*.f32 (pow.f32 u1 12) 1/64) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 1/3 u1)))) u1) 3)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1)) (-.f32 (*.f32 (*.f32 (pow.f32 u1 4) -1/4) (*.f32 (pow.f32 u1 4) -1/4)) (*.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4))))))
13.3b
(log.f32 (exp.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
2.3b
(*.f32 (*.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 1/3 u1) 1/2)) (+.f32 u1 (*.f32 1/4 (pow.f32 u1 4))))) (*.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (cbrt.f32 (cos.f32 (log.f32 (pow.f32 (exp.f32 (*.f32 u2 PI.f32)) 2)))))
13.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
13.7b
(exp.f32 (log.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
13.9b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (-.f32 (+.f32 (*.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 PI.f32 4))) 1) (*.f32 2 (*.f32 (*.f32 u2 u2) (pow.f32 PI.f32 2)))))
Compiler

Compiled 2227 to 1521 computations (31.7% saved)

regimes5.4s (47.6%)

Accuracy

Total 0.3b remaining (69.2%)

Threshold costs 0.3b (69.2%)

Compiler

Compiled 79301 to 62971 computations (20.6% saved)

bsearch12.0ms (0.1%)

Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Rules
27×distribute-rgt-neg-in_binary32
27×cancel-sign-sub-inv_binary32
21×*-commutative_binary32
20×distribute-lft-neg-in_binary32
20×neg-sub0_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
042167
171167
2102161
3129161
4161161
5184161
6204161
7220161
8224161
9215161

end5.0ms (0%)

Compiler

Compiled 104 to 76 computations (26.9% saved)

sample2.9s (25.5%)

Algorithm
intervals
Results
946.0ms8000×body128valid
249.0ms8000×pre128true
0.0mspre128false
Compiler

Compiled 866 to 671 computations (22.5% saved)

Profiling

Loading profile data...