Details

Time bar (total: 13.8s)

analyze356.0ms (2.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 31 to 25 computations (19.4% saved)

sample50.0ms (0.4%)

Algorithm
intervals
Results
22.0ms256×body128valid
8.0ms256×pre128true
Compiler

Compiled 50 to 42 computations (16% saved)

simplify15.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

prune6.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
12.3b
Counts
1 → 1
Alt Table
StatusErrorProgram
12.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)

localize33.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.1b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
0.1b
(sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))
0.3b
(*.f32 (*.f32 2 PI.f32) u2)
12.9b
(log.f32 (-.f32 1 u1))

rewrite167.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
8.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:

9.0ms
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
5.0ms
(*.f32 (*.f32 2 PI.f32) u2)
4.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)

series110.0ms (0.8%)

Error
0.4b
Counts
4 → 21
Calls

4 calls:

47.0ms
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
14.0ms
(log.f32 (-.f32 1 u1))
13.0ms
(sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))
11.0ms
(*.f32 (*.f32 2 PI.f32) u2)
Compiler

Compiled 1082 to 905 computations (16.4% saved)

simplify112.0ms (0.8%)

Algorithm
egg-herbie
Rules
432×sub-neg_binary32
400×cancel-sign-sub-inv_binary32
391×*-commutative_binary32
264×unsub-neg_binary32
251×distribute-rgt-neg-in_binary32
Counts
109 → 75
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01952024
14141890
211611846
320771821
441511821
549671821

prune130.0ms (0.9%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New631275
Fresh000
Picked101
Done000
Total641276
Error
0.2b
Counts
76 → 12
Alt Table
StatusErrorProgram
13.3b
(*.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (sqrt.f32 (cos.f32 (*.f32 (*.f32 2 PI.f32) u2))))
4.7b
(*.f32 (sqrt.f32 (neg.f32 (*.f32 u1 (+.f32 -1 (*.f32 u1 -1/2))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
12.3b
(*.f32 (*.f32 (fabs.f32 (cbrt.f32 (log.f32 (-.f32 1 u1)))) (sqrt.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u1)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
2.4b
(*.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)))
12.3b
(*.f32 (sqrt.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u1))) (cbrt.f32 (log.f32 (-.f32 1 u1))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u1)))))))
3.2b
(*.f32 (sqrt.f32 (neg.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
12.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
8.7b
(*.f32 (sqrt.f32 (neg.f32 (neg.f32 u1))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
12.4b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
13.3b
(*.f32 (*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
12.3b
(log.f32 (pow.f32 (exp.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))))
13.3b
(*.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)))
Compiler

Compiled 1686 to 1314 computations (22.1% saved)

localize63.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.1b
(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))))
0.3b
(*.f32 (*.f32 2 PI.f32) u2)
0.4b
(*.f32 u1 1/3)
0.4b
(*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3)))

rewrite247.0ms (1.8%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
17×pow1_binary32
16×add-cbrt-cube_binary32
16×add-exp-log_binary32
15×add-sqr-sqrt_binary32
11×*-un-lft-identity_binary32
Counts
4 → 83
Calls

4 calls:

11.0ms
(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))))
10.0ms
(*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3)))
5.0ms
(*.f32 (*.f32 2 PI.f32) u2)
4.0ms
(*.f32 u1 1/3)
Compiler

Compiled 2708 to 1900 computations (29.8% saved)

series91.0ms (0.7%)

Error
0.2b
Counts
4 → 21
Calls

4 calls:

27.0ms
(*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3)))
20.0ms
(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))))
14.0ms
(*.f32 (*.f32 2 PI.f32) u2)
13.0ms
(*.f32 u1 1/3)
Compiler

Compiled 1019 to 827 computations (18.8% saved)

simplify145.0ms (1.1%)

Algorithm
egg-herbie
Rules
286×associate-*l*_binary32
258×sub-neg_binary32
251×distribute-rgt-in_binary32
236×distribute-lft-in_binary32
231×unswap-sqr_binary32
Counts
104 → 75
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01951997
14491804
214991763
336231763
445401763
549911763
648251763

prune173.0ms (1.3%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New69675
Fresh11011
Picked101
Done000
Total711687
Error
0.2b
Counts
87 → 16
Alt Table
StatusErrorProgram
13.3b
(*.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (sqrt.f32 (cos.f32 (*.f32 (*.f32 2 PI.f32) u2))))
4.7b
(*.f32 (sqrt.f32 (neg.f32 (*.f32 u1 (+.f32 -1 (*.f32 u1 -1/2))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
2.5b
(*.f32 (/.f32 (sqrt.f32 (+.f32 (pow.f32 (+.f32 u1 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2))) 3) (*.f32 (pow.f32 u1 12) 1/64))) (sqrt.f32 (+.f32 (*.f32 (pow.f32 u1 8) 1/16) (*.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))) u1) (-.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))) u1) (*.f32 (pow.f32 u1 4) -1/4)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
2.6b
(*.f32 (*.f32 (sqrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4))))) (sqrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
12.3b
(*.f32 (*.f32 (fabs.f32 (cbrt.f32 (log.f32 (-.f32 1 u1)))) (sqrt.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u1)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
2.7b
(*.f32 (*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4))))) (cbrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4)))))) (cbrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
12.3b
(*.f32 (sqrt.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u1))) (cbrt.f32 (log.f32 (-.f32 1 u1))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u1)))))))
3.1b
(*.f32 (exp.f32 (log.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
12.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
7.7b
(*.f32 (log.f32 (exp.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
2.4b
(*.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 (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
8.7b
(*.f32 (sqrt.f32 (neg.f32 (neg.f32 u1))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
12.4b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
13.3b
(*.f32 (*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
12.3b
(log.f32 (pow.f32 (exp.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))))
13.3b
(*.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)))
Compiler

Compiled 2579 to 1935 computations (25% saved)

localize72.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

rewrite399.0ms (2.9%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
140×pow1_binary32
76×pow-prod-down_binary32
60×sqrt-pow1_binary32
20×add-sqr-sqrt_binary32
17×pow-prod-up_binary32
Counts
4 → 127
Calls

4 calls:

12.0ms
(*.f32 (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))))
8.0ms
(*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3)))
4.0ms
(*.f32 u1 1/3)
4.0ms
(*.f32 u2 PI.f32)
Compiler

Compiled 3583 to 2358 computations (34.2% saved)

series96.0ms (0.7%)

Error
0.1b
Counts
4 → 15
Calls

4 calls:

27.0ms
(*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3)))
20.0ms
(*.f32 (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))))
16.0ms
(*.f32 u1 1/3)
16.0ms
(*.f32 u2 PI.f32)
Compiler

Compiled 1182 to 911 computations (22.9% saved)

simplify126.0ms (0.9%)

Algorithm
egg-herbie
Rules
406×*-commutative_binary32
312×unswap-sqr_binary32
275×associate-*l*_binary32
265×exp-prod_binary32
223×distribute-rgt-neg-out_binary32
Counts
142 → 104
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01661513
13531291
211901253
323251239
447091228
549951228
648571228

prune214.0ms (1.6%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New1022104
Fresh01515
Picked101
Done000
Total10317120
Error
0.1b
Counts
120 → 17
Alt Table
StatusErrorProgram
13.3b
(*.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (sqrt.f32 (cos.f32 (*.f32 (*.f32 2 PI.f32) u2))))
4.7b
(*.f32 (sqrt.f32 (neg.f32 (*.f32 u1 (+.f32 -1 (*.f32 u1 -1/2))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
2.5b
(*.f32 (/.f32 (sqrt.f32 (+.f32 (pow.f32 (+.f32 u1 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2))) 3) (*.f32 (pow.f32 u1 12) 1/64))) (sqrt.f32 (+.f32 (*.f32 (pow.f32 u1 8) 1/16) (*.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))) u1) (-.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))) u1) (*.f32 (pow.f32 u1 4) -1/4)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
2.6b
(*.f32 (*.f32 (sqrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4))))) (sqrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
2.4b
(*.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 (sqrt.f32 2) (sqrt.f32 (*.f32 u2 (*.f32 PI.f32 2)))) (sqrt.f32 (*.f32 u2 PI.f32)))))
12.3b
(*.f32 (*.f32 (fabs.f32 (cbrt.f32 (log.f32 (-.f32 1 u1)))) (sqrt.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u1)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
2.7b
(*.f32 (*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4))))) (cbrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4)))))) (cbrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
12.3b
(*.f32 (sqrt.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u1))) (cbrt.f32 (log.f32 (-.f32 1 u1))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u1)))))))
3.1b
(*.f32 (exp.f32 (log.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
12.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
7.7b
(*.f32 (log.f32 (exp.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
8.7b
(*.f32 (sqrt.f32 (neg.f32 (neg.f32 u1))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
12.4b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
2.4b
(*.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 (sqrt.f32 2) (*.f32 (sqrt.f32 (*.f32 u2 (*.f32 PI.f32 2))) (sqrt.f32 (*.f32 u2 PI.f32))))))
13.3b
(*.f32 (*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
12.3b
(log.f32 (pow.f32 (exp.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))))
13.3b
(*.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)))
Compiler

Compiled 2759 to 2032 computations (26.4% saved)

localize85.0ms (0.6%)

Local error

Found 4 expressions with local error:

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

rewrite304.0ms (2.2%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
39×pow1_binary32
24×pow-prod-down_binary32
18×add-cbrt-cube_binary32
18×add-exp-log_binary32
15×add-sqr-sqrt_binary32
Counts
4 → 89
Calls

4 calls:

10.0ms
(*.f32 (sqrt.f32 (*.f32 u2 (*.f32 PI.f32 2))) (sqrt.f32 (*.f32 u2 PI.f32)))
9.0ms
(*.f32 u2 (*.f32 PI.f32 2))
8.0ms
(*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3)))
4.0ms
(*.f32 u1 1/3)
Compiler

Compiled 3163 to 2096 computations (33.7% saved)

series104.0ms (0.8%)

Error
0.1b
Counts
4 → 15
Calls

4 calls:

30.0ms
(*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3)))
19.0ms
(*.f32 (sqrt.f32 (*.f32 u2 (*.f32 PI.f32 2))) (sqrt.f32 (*.f32 u2 PI.f32)))
18.0ms
(*.f32 u2 (*.f32 PI.f32 2))
16.0ms
(*.f32 u1 1/3)
Compiler

Compiled 1219 to 963 computations (21% saved)

simplify104.0ms (0.8%)

Algorithm
egg-herbie
Rules
490×*-commutative_binary32
445×neg-mul-1_binary32
309×associate-*l*_binary32
232×associate-*r*_binary32
223×distribute-rgt-neg-out_binary32
Counts
104 → 74
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01701516
13781343
212641343
323341343
444471343
550381343

prune194.0ms (1.4%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New73174
Fresh01616
Picked101
Done000
Total741791
Error
0.1b
Counts
91 → 17
Alt Table
StatusErrorProgram
13.3b
(*.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (sqrt.f32 (cos.f32 (*.f32 (*.f32 2 PI.f32) u2))))
4.7b
(*.f32 (sqrt.f32 (neg.f32 (*.f32 u1 (+.f32 -1 (*.f32 u1 -1/2))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
2.5b
(*.f32 (/.f32 (sqrt.f32 (+.f32 (pow.f32 (+.f32 u1 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2))) 3) (*.f32 (pow.f32 u1 12) 1/64))) (sqrt.f32 (+.f32 (*.f32 (pow.f32 u1 8) 1/16) (*.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))) u1) (-.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))) u1) (*.f32 (pow.f32 u1 4) -1/4)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
2.6b
(*.f32 (*.f32 (sqrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4))))) (sqrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
2.4b
(*.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 (sqrt.f32 2) (sqrt.f32 (*.f32 u2 (*.f32 PI.f32 2)))) (sqrt.f32 (*.f32 u2 PI.f32)))))
12.3b
(*.f32 (*.f32 (fabs.f32 (cbrt.f32 (log.f32 (-.f32 1 u1)))) (sqrt.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u1)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
2.7b
(*.f32 (*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4))))) (cbrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4)))))) (cbrt.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
12.3b
(*.f32 (sqrt.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u1))) (cbrt.f32 (log.f32 (-.f32 1 u1))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u1)))))))
3.1b
(*.f32 (exp.f32 (log.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
12.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
7.7b
(*.f32 (log.f32 (exp.f32 (sqrt.f32 (+.f32 (*.f32 (*.f32 u1 u1) (+.f32 (*.f32 u1 1/3) 1/2)) (+.f32 u1 (*.f32 (pow.f32 u1 4) 1/4)))))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
8.7b
(*.f32 (sqrt.f32 (neg.f32 (neg.f32 u1))) (cos.f32 (*.f32 (*.f32 2 PI.f32) u2)))
12.4b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
13.3b
(*.f32 (*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
12.3b
(log.f32 (pow.f32 (exp.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (cos.f32 (*.f32 2 (*.f32 u2 PI.f32)))))
13.3b
(*.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)))
2.4b
(*.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 (sqrt.f32 2) (sqrt.f32 (*.f32 2 (*.f32 (pow.f32 PI.f32 2) (*.f32 u2 u2)))))))
Compiler

Compiled 2437 to 1686 computations (30.8% saved)

regimes7.7s (55.9%)

Accuracy

Total 0.3b remaining (61.9%)

Threshold costs 0.3b (61.9%)

Compiler

Compiled 86130 to 68734 computations (20.2% saved)

bsearch10.0ms (0.1%)

Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify11.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
042107
171107
2102105
3129105
4161105
5184105
6204105
7220105
8224105
9215105

end8.0ms (0.1%)

Compiler

Compiled 67 to 55 computations (17.9% saved)

sample2.7s (19.3%)

Algorithm
intervals
Results
733.0ms8000×body128valid
238.0ms8000×pre128true
0.0mspre128false
Compiler

Compiled 672 to 541 computations (19.5% saved)

Profiling

Loading profile data...