Details

Time bar (total: 19.0s)

analyze691.0ms (3.6%)

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

Compiled 41 to 30 computations (26.8% saved)

sample59.0ms (0.3%)

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

Compiled 72 to 53 computations (26.4% saved)

simplify69.0ms (0.4%)

Algorithm
egg-herbie
Rules
575×associate-+l-_binary32
416×associate-+r-_binary32
386×associate--l-_binary32
320×neg-mul-1_binary32
316×distribute-rgt-in_binary32
Counts
1 → 1
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01739
14139
211339
340239
4150236
5468736
6494436
7502436

prune14.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.3b
Counts
2 → 2
Alt Table
StatusErrorProgram
12.9b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
0.3b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))))
Compiler

Compiled 134 to 94 computations (29.9% saved)

localize57.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))))
0.2b
(+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)
0.3b
(*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))
0.3b
(*.f32 (*.f32 uy 2) PI.f32)

rewrite275.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
13×pow1_binary32 add-exp-log_binary32 add-log-exp_binary32 add-cbrt-cube_binary32 add-sqr-sqrt_binary32 *-un-lft-identity_binary32
12×associate-*r/_binary32
11×associate-*r*_binary32
add-cube-cbrt_binary32
frac-times_binary32 sqrt-div_binary32
Counts
4 → 90
Calls

4 calls:

17.0ms
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))))
14.0ms
(*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))
9.0ms
(+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)
6.0ms
(*.f32 (*.f32 uy 2) PI.f32)
Compiler

Compiled 3166 to 1687 computations (46.7% saved)

series315.0ms (1.7%)

Error
0.2b
Counts
4 → 41
Calls

4 calls:

131.0ms
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))))
55.0ms
(*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))
38.0ms
(+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)
21.0ms
(*.f32 (*.f32 uy 2) PI.f32)
Compiler

Compiled 3498 to 2438 computations (30.3% saved)

simplify178.0ms (0.9%)

Algorithm
egg-herbie
Rules
523×cancel-sign-sub-inv_binary32
427×associate-*r*_binary32
390×associate-*l*_binary32
249×*-commutative_binary32
178×distribute-rgt-in_binary32
Counts
131 → 109
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03304439
18833905
234683896
347863887
449913887
549613887

prune250.0ms (1.3%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New9910109
Fresh101
Picked101
Done000
Total10110111
Error
0.0b
Counts
111 → 10
Alt Table
StatusErrorProgram
0.4b
(*.f32 (cos.f32 (*.f32 (*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (cbrt.f32 PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))))
1.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (exp.f32 (log.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))))
0.5b
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))) (sqrt.f32 (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))
0.5b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))) (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))))
0.4b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (/.f32 (*.f32 (+.f32 1 (pow.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) 3)) (*.f32 ux (-.f32 ux (*.f32 maxCos (*.f32 ux maxCos))))) (*.f32 (+.f32 (-.f32 ux (*.f32 ux maxCos)) (*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)))) (+.f32 ux (*.f32 ux maxCos))))))
0.6b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (*.f32 (cbrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))) (cbrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))) (cbrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))))
0.6b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (*.f32 (cbrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))) (cbrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))) (cbrt.f32 (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))))
0.5b
(/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (+.f32 1 (pow.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) 3)) (*.f32 ux (-.f32 ux (*.f32 maxCos (*.f32 ux maxCos))))))) (sqrt.f32 (*.f32 (+.f32 ux (*.f32 ux maxCos)) (+.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))) (-.f32 (*.f32 1 1) (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))))))
2.1b
(*.f32 (*.f32 (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32)))) (sqrt.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))) (*.f32 (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32)))) (sqrt.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))))
0.8b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))) (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))))) (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))))
Compiler

Compiled 4127 to 2148 computations (48% saved)

localize68.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.2b
(+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)
0.3b
(*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))
0.3b
(*.f32 (*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (cbrt.f32 PI.f32))
0.5b
(*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32)))

rewrite313.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
36×pow1_binary32 add-exp-log_binary32
23×add-cbrt-cube_binary32
22×pow-prod-down_binary32 prod-exp_binary32 cbrt-unprod_binary32
13×add-log-exp_binary32
12×*-un-lft-identity_binary32
Counts
4 → 97
Calls

4 calls:

14.0ms
(*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))
13.0ms
(*.f32 (*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (cbrt.f32 PI.f32))
13.0ms
(+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)
10.0ms
(*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32)))
Compiler

Compiled 3481 to 1599 computations (54.1% saved)

series177.0ms (0.9%)

Error
0.0b
Counts
4 → 29
Calls

4 calls:

54.0ms
(*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))
39.0ms
(+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)
31.0ms
(*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32)))
14.0ms
(*.f32 (*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (cbrt.f32 PI.f32))
Compiler

Compiled 2041 to 1329 computations (34.9% saved)

simplify134.0ms (0.7%)

Algorithm
egg-herbie
Rules
349×associate-*l*_binary32
319×associate-+l+_binary32
277×associate-+r+_binary32
274×associate-*r*_binary32
249×+-commutative_binary32
Counts
126 → 104
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02072666
15472201
222982050
343892050
449812050
549492050

prune206.0ms (1.1%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New1004104
Fresh279
Picked101
Done000
Total10311114
Error
0.0b
Counts
114 → 11
Alt Table
StatusErrorProgram
0.3b
(*.f32 (cos.f32 (*.f32 (cbrt.f32 (*.f32 (pow.f32 PI.f32 2) (pow.f32 (*.f32 2 uy) 3))) (cbrt.f32 PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))))
0.4b
(*.f32 (cos.f32 (*.f32 (*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (cbrt.f32 PI.f32))) (sqrt.f32 (/.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 1 (pow.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) 3))) (+.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))) (-.f32 (*.f32 1 1) (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))))))
1.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (exp.f32 (log.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))))
0.5b
(*.f32 (cos.f32 (*.f32 (*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (cbrt.f32 PI.f32))) (sqrt.f32 (*.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (+.f32 (*.f32 ux maxCos) (-.f32 2 ux)))) (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (+.f32 (*.f32 ux maxCos) (-.f32 2 ux)))))))
0.5b
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))) (sqrt.f32 (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))
0.5b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))) (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))))
0.6b
(*.f32 (cos.f32 (*.f32 (*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (cbrt.f32 PI.f32))) (sqrt.f32 (*.f32 (*.f32 (cbrt.f32 (*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 2 ux)) (-.f32 ux (*.f32 ux maxCos)))) (cbrt.f32 (*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 2 ux)) (-.f32 ux (*.f32 ux maxCos))))) (cbrt.f32 (*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 2 ux)) (-.f32 ux (*.f32 ux maxCos)))))))
0.6b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (*.f32 (cbrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))) (cbrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))) (cbrt.f32 (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))))
0.5b
(/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (+.f32 1 (pow.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) 3)) (*.f32 ux (-.f32 ux (*.f32 maxCos (*.f32 ux maxCos))))))) (sqrt.f32 (*.f32 (+.f32 ux (*.f32 ux maxCos)) (+.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))) (-.f32 (*.f32 1 1) (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))))))
2.1b
(*.f32 (*.f32 (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32)))) (sqrt.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))) (*.f32 (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32)))) (sqrt.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))))
0.8b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))) (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))))) (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))))
Compiler

Compiled 3126 to 1589 computations (49.2% saved)

localize74.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.3b
(*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))
0.3b
(*.f32 (cbrt.f32 (*.f32 (pow.f32 PI.f32 2) (pow.f32 (*.f32 2 uy) 3))) (cbrt.f32 PI.f32))
0.4b
(*.f32 (pow.f32 PI.f32 2) (pow.f32 (*.f32 2 uy) 3))
1.0b
(pow.f32 PI.f32 2)

rewrite449.0ms (2.4%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
29×add-exp-log_binary32
28×add-sqr-sqrt_binary32
18×associate-*r*_binary32
17×prod-exp_binary32
16×*-un-lft-identity_binary32
Counts
4 → 116
Calls

4 calls:

18.0ms
(*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))
8.0ms
(*.f32 (pow.f32 PI.f32 2) (pow.f32 (*.f32 2 uy) 3))
7.0ms
(*.f32 (cbrt.f32 (*.f32 (pow.f32 PI.f32 2) (pow.f32 (*.f32 2 uy) 3))) (cbrt.f32 PI.f32))
2.0ms
(pow.f32 PI.f32 2)
Compiler

Compiled 4232 to 2534 computations (40.1% saved)

series131.0ms (0.7%)

Error
0.0b
Counts
4 → 17
Calls

4 calls:

60.0ms
(*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))
19.0ms
(*.f32 (pow.f32 PI.f32 2) (pow.f32 (*.f32 2 uy) 3))
16.0ms
(*.f32 (cbrt.f32 (*.f32 (pow.f32 PI.f32 2) (pow.f32 (*.f32 2 uy) 3))) (cbrt.f32 PI.f32))
0.0ms
(pow.f32 PI.f32 2)
Compiler

Compiled 1387 to 1050 computations (24.3% saved)

simplify122.0ms (0.6%)

Algorithm
egg-herbie
Rules
288×associate-+l+_binary32
285×associate-*l*_binary32
267×associate-*r*_binary32
256×associate-+r+_binary32
254×log-prod_binary32
Counts
133 → 111
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02293033
15672628
222922489
348692489
450102489

prune305.0ms (1.6%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New1110111
Fresh01010
Picked011
Done000
Total11111122
Error
0.0b
Counts
122 → 11
Alt Table
StatusErrorProgram
0.3b
(*.f32 (cos.f32 (*.f32 (cbrt.f32 (*.f32 (pow.f32 PI.f32 2) (pow.f32 (*.f32 2 uy) 3))) (cbrt.f32 PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))))
0.4b
(*.f32 (cos.f32 (*.f32 (*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (cbrt.f32 PI.f32))) (sqrt.f32 (/.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 1 (pow.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) 3))) (+.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))) (-.f32 (*.f32 1 1) (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))))))
1.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (exp.f32 (log.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))))
0.5b
(*.f32 (cos.f32 (*.f32 (*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (cbrt.f32 PI.f32))) (sqrt.f32 (*.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (+.f32 (*.f32 ux maxCos) (-.f32 2 ux)))) (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (+.f32 (*.f32 ux maxCos) (-.f32 2 ux)))))))
0.5b
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))) (sqrt.f32 (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))
0.5b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))) (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))))
0.6b
(*.f32 (cos.f32 (*.f32 (*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (cbrt.f32 PI.f32))) (sqrt.f32 (*.f32 (*.f32 (cbrt.f32 (*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 2 ux)) (-.f32 ux (*.f32 ux maxCos)))) (cbrt.f32 (*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 2 ux)) (-.f32 ux (*.f32 ux maxCos))))) (cbrt.f32 (*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 2 ux)) (-.f32 ux (*.f32 ux maxCos)))))))
0.6b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (*.f32 (cbrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))) (cbrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))) (cbrt.f32 (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))))
0.5b
(/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (+.f32 1 (pow.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) 3)) (*.f32 ux (-.f32 ux (*.f32 maxCos (*.f32 ux maxCos))))))) (sqrt.f32 (*.f32 (+.f32 ux (*.f32 ux maxCos)) (+.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))) (-.f32 (*.f32 1 1) (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))))))
2.1b
(*.f32 (*.f32 (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32)))) (sqrt.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))) (*.f32 (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32)))) (sqrt.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))))
0.8b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))) (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))))) (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))))
Compiler

Compiled 3827 to 2245 computations (41.3% saved)

localize105.0ms (0.6%)

Local error

Found 4 expressions with local error:

0.5b
(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
0.5b
(*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32)))
0.6b
(pow.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) 3)
13.5b
(-.f32 (*.f32 1 1) (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))

rewrite492.0ms (2.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
24×pow1_binary32
19×add-exp-log_binary32
15×add-cbrt-cube_binary32
13×add-sqr-sqrt_binary32
11×add-cube-cbrt_binary32 *-un-lft-identity_binary32
Counts
4 → 95
Calls

4 calls:

15.0ms
(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
10.0ms
(-.f32 (*.f32 1 1) (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))
9.0ms
(*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32)))
8.0ms
(pow.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) 3)
Compiler

Compiled 6110 to 3332 computations (45.5% saved)

series407.0ms (2.1%)

Error
0.0b
Counts
4 → 40
Calls

4 calls:

97.0ms
(pow.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) 3)
93.0ms
(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
53.0ms
(-.f32 (*.f32 1 1) (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))
36.0ms
(*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32)))
Compiler

Compiled 6368 to 4100 computations (35.6% saved)

simplify128.0ms (0.7%)

Algorithm
egg-herbie
Rules
661×cancel-sign-sub-inv_binary32
372×associate-*l*_binary32
359×exp-prod_binary32
342×associate-*r*_binary32
253×sub-neg_binary32
Counts
135 → 115
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02723279
18072696
233222606
347092606
449752606

prune338.0ms (1.8%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New1150115
Fresh099
Picked011
Done011
Total11511126
Error
0.0b
Counts
126 → 11
Alt Table
StatusErrorProgram
0.3b
(*.f32 (cos.f32 (*.f32 (cbrt.f32 (*.f32 (pow.f32 PI.f32 2) (pow.f32 (*.f32 2 uy) 3))) (cbrt.f32 PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))))
0.4b
(*.f32 (cos.f32 (*.f32 (*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (cbrt.f32 PI.f32))) (sqrt.f32 (/.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 1 (pow.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) 3))) (+.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))) (-.f32 (*.f32 1 1) (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))))))
1.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (exp.f32 (log.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))))
0.5b
(*.f32 (cos.f32 (*.f32 (*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (cbrt.f32 PI.f32))) (sqrt.f32 (*.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (+.f32 (*.f32 ux maxCos) (-.f32 2 ux)))) (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (+.f32 (*.f32 ux maxCos) (-.f32 2 ux)))))))
0.5b
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))) (sqrt.f32 (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))
0.5b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))) (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))))
0.6b
(*.f32 (cos.f32 (*.f32 (*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (cbrt.f32 PI.f32))) (sqrt.f32 (*.f32 (*.f32 (cbrt.f32 (*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 2 ux)) (-.f32 ux (*.f32 ux maxCos)))) (cbrt.f32 (*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 2 ux)) (-.f32 ux (*.f32 ux maxCos))))) (cbrt.f32 (*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 2 ux)) (-.f32 ux (*.f32 ux maxCos)))))))
0.6b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (*.f32 (cbrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))) (cbrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))) (cbrt.f32 (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))))
0.5b
(/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (+.f32 1 (pow.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) 3)) (*.f32 ux (-.f32 ux (*.f32 maxCos (*.f32 ux maxCos))))))) (sqrt.f32 (*.f32 (+.f32 ux (*.f32 ux maxCos)) (+.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))) (-.f32 (*.f32 1 1) (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))))))
2.1b
(*.f32 (*.f32 (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32)))) (sqrt.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))) (*.f32 (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32)))) (sqrt.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))))
0.8b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))) (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))))) (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))))
Compiler

Compiled 5072 to 2878 computations (43.3% saved)

regimes11.3s (59.1%)

Accuracy

Total 0.2b remaining (73.7%)

Threshold costs 0.2b (73.7%)

Compiler

Compiled 161383 to 104097 computations (35.5% saved)

simplify7.0ms (0%)

Algorithm
egg-herbie
Rules
19×*-commutative_binary32
13×+-commutative_binary32
10×sub-neg_binary32
neg-mul-1_binary32 neg-sub0_binary32
distribute-rgt-neg-in_binary32 distribute-lft-neg-in_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02971
14471
25371
37071
49071
510671
611571
712071
812271
912171

end3.0ms (0%)

Compiler

Compiled 48 to 38 computations (20.8% saved)

sample2.4s (12.6%)

Algorithm
intervals
Results
741.0ms8000×body128valid
254.0ms8000×pre128true
Compiler

Compiled 632 to 388 computations (38.6% saved)

Profiling

Loading profile data...