Details

Time bar (total: 15.6s)

analyze794.0ms (5.1%)

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)

sample63.0ms (0.4%)

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

Compiled 72 to 53 computations (26.4% saved)

simplify123.0ms (0.8%)

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

prune9.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
13.2b
(*.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.4b
(*.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)

localize67.0ms (0.4%)

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 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 uy 2) PI.f32)

rewrite312.0ms (2%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
13×*-un-lft-identity_binary32
13×add-sqr-sqrt_binary32
13×add-cbrt-cube_binary32
13×add-log-exp_binary32
13×add-exp-log_binary32
Counts
4 → 90
Calls

4 calls:

14.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))))
12.0ms
(*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))
8.0ms
(+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)
4.0ms
(*.f32 (*.f32 uy 2) PI.f32)
Compiler

Compiled 3166 to 1687 computations (46.7% saved)

series299.0ms (1.9%)

Error
0.2b
Counts
4 → 41
Calls

4 calls:

144.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))))
37.0ms
(*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))
26.0ms
(+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)
10.0ms
(*.f32 (*.f32 uy 2) PI.f32)
Compiler

Compiled 3403 to 2378 computations (30.1% saved)

simplify141.0ms (0.9%)

Algorithm
egg-herbie
Rules
440×cancel-sign-sub-inv_binary32
429×associate-*l*_binary32
373×associate-*r*_binary32
245×*-commutative_binary32
218×distribute-rgt-neg-in_binary32
Counts
131 → 101
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03224439
18713887
234143878
349283878
449773878

prune252.0ms (1.6%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New929101
Fresh101
Picked101
Done000
Total949103
Error
0.1b
Counts
103 → 9
Alt Table
StatusErrorProgram
0.8b
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (*.f32 (cbrt.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 2 (-.f32 ux (*.f32 maxCos ux)))))) (cbrt.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 2 (-.f32 ux (*.f32 maxCos ux)))))))) (cbrt.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))))
5.8b
(log.f32 (exp.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 2 (-.f32 ux (*.f32 maxCos ux))))))))
2.6b
(exp.f32 (log.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 2 (-.f32 ux (*.f32 maxCos ux))))))))
13.0b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (log.f32 (exp.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 2 (-.f32 ux (*.f32 maxCos ux))))))))
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))))
0.5b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (*.f32 (-.f32 2 (-.f32 ux (*.f32 maxCos ux))) (sqrt.f32 (-.f32 ux (*.f32 maxCos ux)))))))
0.5b
(/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 2 (-.f32 ux (*.f32 maxCos ux))) (*.f32 ux (-.f32 ux (*.f32 maxCos (*.f32 maxCos ux))))))) (sqrt.f32 (+.f32 ux (*.f32 ux maxCos))))
2.1b
(-.f32 (+.f32 (sqrt.f32 (*.f32 (-.f32 (+.f32 2 (*.f32 maxCos ux)) ux) (-.f32 ux (*.f32 maxCos ux)))) (*.f32 2/3 (*.f32 (sqrt.f32 (*.f32 (-.f32 (+.f32 2 (*.f32 maxCos ux)) ux) (-.f32 ux (*.f32 maxCos ux)))) (*.f32 (pow.f32 uy 4) (pow.f32 PI.f32 4))))) (+.f32 (*.f32 2 (*.f32 (sqrt.f32 (*.f32 (-.f32 (+.f32 2 (*.f32 maxCos ux)) ux) (-.f32 ux (*.f32 maxCos ux)))) (*.f32 (*.f32 uy uy) (pow.f32 PI.f32 2)))) (*.f32 4/45 (*.f32 (sqrt.f32 (*.f32 (-.f32 (+.f32 2 (*.f32 maxCos ux)) ux) (-.f32 ux (*.f32 maxCos ux)))) (*.f32 (pow.f32 uy 6) (pow.f32 PI.f32 6))))))
0.5b
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (-.f32 ux (*.f32 maxCos ux)))) (sqrt.f32 (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))
Compiler

Compiled 3847 to 2033 computations (47.2% saved)

localize80.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.2b
(*.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 (*.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)))

rewrite248.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
36×add-exp-log_binary32
36×pow1_binary32
23×add-cbrt-cube_binary32
22×cbrt-unprod_binary32
22×prod-exp_binary32
Counts
4 → 97
Calls

4 calls:

12.0ms
(*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))
11.0ms
(*.f32 (*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (cbrt.f32 PI.f32))
10.0ms
(+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)
8.0ms
(*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32)))
Compiler

Compiled 3481 to 1599 computations (54.1% saved)

series127.0ms (0.8%)

Error
0.1b
Counts
4 → 29
Calls

4 calls:

42.0ms
(*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1))
30.0ms
(+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)
22.0ms
(*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32)))
10.0ms
(*.f32 (*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (cbrt.f32 PI.f32))
Compiler

Compiled 1925 to 1272 computations (33.9% saved)

simplify128.0ms (0.8%)

Algorithm
egg-herbie
Rules
349×associate-*l*_binary32
319×associate-+l+_binary32
278×associate-+r+_binary32
272×associate-*r*_binary32
243×+-commutative_binary32
Counts
126 → 99
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01972666
15362201
222652077
343422077
449622077
549442077

prune199.0ms (1.3%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New98199
Fresh088
Picked011
Done000
Total9810108
Error
0.1b
Counts
108 → 10
Alt Table
StatusErrorProgram
0.8b
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (*.f32 (cbrt.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 2 (-.f32 ux (*.f32 maxCos ux)))))) (cbrt.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 2 (-.f32 ux (*.f32 maxCos ux)))))))) (cbrt.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))))
5.8b
(log.f32 (exp.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 2 (-.f32 ux (*.f32 maxCos ux))))))))
2.6b
(exp.f32 (log.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 2 (-.f32 ux (*.f32 maxCos ux))))))))
13.0b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (log.f32 (exp.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 2 (-.f32 ux (*.f32 maxCos ux))))))))
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (cbrt.f32 PI.f32))) (sqrt.f32 (log.f32 (pow.f32 (exp.f32 (-.f32 (+.f32 2 (*.f32 maxCos ux)) ux)) (-.f32 ux (*.f32 maxCos ux))))))
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))))
0.5b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (*.f32 (-.f32 2 (-.f32 ux (*.f32 maxCos ux))) (sqrt.f32 (-.f32 ux (*.f32 maxCos ux)))))))
0.5b
(/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 2 (-.f32 ux (*.f32 maxCos ux))) (*.f32 ux (-.f32 ux (*.f32 maxCos (*.f32 maxCos ux))))))) (sqrt.f32 (+.f32 ux (*.f32 ux maxCos))))
2.1b
(-.f32 (+.f32 (sqrt.f32 (*.f32 (-.f32 (+.f32 2 (*.f32 maxCos ux)) ux) (-.f32 ux (*.f32 maxCos ux)))) (*.f32 2/3 (*.f32 (sqrt.f32 (*.f32 (-.f32 (+.f32 2 (*.f32 maxCos ux)) ux) (-.f32 ux (*.f32 maxCos ux)))) (*.f32 (pow.f32 uy 4) (pow.f32 PI.f32 4))))) (+.f32 (*.f32 2 (*.f32 (sqrt.f32 (*.f32 (-.f32 (+.f32 2 (*.f32 maxCos ux)) ux) (-.f32 ux (*.f32 maxCos ux)))) (*.f32 (*.f32 uy uy) (pow.f32 PI.f32 2)))) (*.f32 4/45 (*.f32 (sqrt.f32 (*.f32 (-.f32 (+.f32 2 (*.f32 maxCos ux)) ux) (-.f32 ux (*.f32 maxCos ux)))) (*.f32 (pow.f32 uy 6) (pow.f32 PI.f32 6))))))
0.5b
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (-.f32 ux (*.f32 maxCos ux)))) (sqrt.f32 (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))
Compiler

Compiled 2801 to 1417 computations (49.4% saved)

localize81.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

rewrite359.0ms (2.3%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
104×sqrt-div_binary32
60×flip--_binary32
60×frac-times_binary32
60×flip3--_binary32
56×associate-*r/_binary32
Counts
4 → 143
Calls

4 calls:

20.0ms
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (*.f32 (-.f32 2 (-.f32 ux (*.f32 maxCos ux))) (sqrt.f32 (-.f32 ux (*.f32 maxCos ux)))))))
15.0ms
(*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (*.f32 (-.f32 2 (-.f32 ux (*.f32 maxCos ux))) (sqrt.f32 (-.f32 ux (*.f32 maxCos ux)))))
10.0ms
(*.f32 (-.f32 2 (-.f32 ux (*.f32 maxCos ux))) (sqrt.f32 (-.f32 ux (*.f32 maxCos ux))))
4.0ms
(*.f32 (*.f32 uy 2) PI.f32)
Compiler

Compiled 7079 to 2405 computations (66% saved)

series296.0ms (1.9%)

Error
0.1b
Counts
4 → 38
Calls

4 calls:

149.0ms
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (*.f32 (-.f32 2 (-.f32 ux (*.f32 maxCos ux))) (sqrt.f32 (-.f32 ux (*.f32 maxCos ux)))))))
45.0ms
(*.f32 (-.f32 2 (-.f32 ux (*.f32 maxCos ux))) (sqrt.f32 (-.f32 ux (*.f32 maxCos ux))))
38.0ms
(*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (*.f32 (-.f32 2 (-.f32 ux (*.f32 maxCos ux))) (sqrt.f32 (-.f32 ux (*.f32 maxCos ux)))))
11.0ms
(*.f32 (*.f32 uy 2) PI.f32)
Compiler

Compiled 3805 to 2667 computations (29.9% saved)

simplify206.0ms (1.3%)

Algorithm
egg-herbie
Rules
556×cancel-sign-sub-inv_binary32
527×associate-*l*_binary32
519×associate-*r*_binary32
340×*-commutative_binary32
192×sub-neg_binary32
Counts
181 → 162
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04698388
111147242
238726914
350876914

prune327.0ms (2.1%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New1602162
Fresh178
Picked011
Done011
Total16111172
Error
0.1b
Counts
172 → 11
Alt Table
StatusErrorProgram
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (cbrt.f32 PI.f32))) (sqrt.f32 (log.f32 (pow.f32 (exp.f32 (-.f32 (+.f32 2 (*.f32 maxCos ux)) ux)) (-.f32 ux (*.f32 maxCos ux))))))
4.5b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (log.f32 (exp.f32 (*.f32 (+.f32 (*.f32 maxCos ux) (-.f32 2 ux)) (sqrt.f32 (-.f32 ux (*.f32 maxCos ux)))))))))
0.8b
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (*.f32 (cbrt.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 2 (-.f32 ux (*.f32 maxCos ux)))))) (cbrt.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 2 (-.f32 ux (*.f32 maxCos ux)))))))) (cbrt.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))))
5.8b
(log.f32 (exp.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 2 (-.f32 ux (*.f32 maxCos ux))))))))
13.0b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (log.f32 (exp.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 2 (-.f32 ux (*.f32 maxCos ux))))))))
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))))
0.5b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (*.f32 (-.f32 2 (-.f32 ux (*.f32 maxCos ux))) (sqrt.f32 (-.f32 ux (*.f32 maxCos ux)))))))
0.5b
(/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 2 (-.f32 ux (*.f32 maxCos ux))) (*.f32 ux (-.f32 ux (*.f32 maxCos (*.f32 maxCos ux))))))) (sqrt.f32 (+.f32 ux (*.f32 ux maxCos))))
2.1b
(-.f32 (+.f32 (sqrt.f32 (*.f32 (-.f32 (+.f32 2 (*.f32 maxCos ux)) ux) (-.f32 ux (*.f32 maxCos ux)))) (*.f32 2/3 (*.f32 (sqrt.f32 (*.f32 (-.f32 (+.f32 2 (*.f32 maxCos ux)) ux) (-.f32 ux (*.f32 maxCos ux)))) (*.f32 (pow.f32 uy 4) (pow.f32 PI.f32 4))))) (+.f32 (*.f32 2 (*.f32 (sqrt.f32 (*.f32 (-.f32 (+.f32 2 (*.f32 maxCos ux)) ux) (-.f32 ux (*.f32 maxCos ux)))) (*.f32 (*.f32 uy uy) (pow.f32 PI.f32 2)))) (*.f32 4/45 (*.f32 (sqrt.f32 (*.f32 (-.f32 (+.f32 2 (*.f32 maxCos ux)) ux) (-.f32 ux (*.f32 maxCos ux)))) (*.f32 (pow.f32 uy 6) (pow.f32 PI.f32 6))))))
0.5b
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (-.f32 ux (*.f32 maxCos ux)))) (sqrt.f32 (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))
0.6b
(/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (sqrt.f32 (-.f32 (pow.f32 ux 3) (pow.f32 (*.f32 maxCos ux) 3))) (*.f32 (sqrt.f32 (*.f32 ux (-.f32 ux (*.f32 maxCos (*.f32 maxCos ux))))) (-.f32 4 (pow.f32 (sqrt.f32 (-.f32 ux (*.f32 maxCos ux))) 4)))))) (sqrt.f32 (*.f32 (sqrt.f32 (+.f32 ux (*.f32 ux maxCos))) (*.f32 (+.f32 2 (-.f32 ux (*.f32 maxCos ux))) (sqrt.f32 (+.f32 (*.f32 ux ux) (+.f32 (*.f32 (*.f32 maxCos ux) (*.f32 maxCos ux)) (*.f32 ux (*.f32 maxCos ux)))))))))
Compiler

Compiled 6967 to 3002 computations (56.9% saved)

localize78.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

rewrite188.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
13×add-log-exp_binary32
12×sqrt-div_binary32
12×*-un-lft-identity_binary32
11×add-cbrt-cube_binary32
11×add-exp-log_binary32
Counts
4 → 72
Calls

4 calls:

14.0ms
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (-.f32 ux (*.f32 maxCos ux)))) (sqrt.f32 (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))
7.0ms
(+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)
4.0ms
(cos.f32 (*.f32 2 (*.f32 uy PI.f32)))
3.0ms
(*.f32 uy PI.f32)
Compiler

Compiled 2424 to 1215 computations (49.9% saved)

series208.0ms (1.3%)

Error
0.1b
Counts
4 → 36
Calls

4 calls:

106.0ms
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (-.f32 ux (*.f32 maxCos ux)))) (sqrt.f32 (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))
27.0ms
(+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)
15.0ms
(cos.f32 (*.f32 2 (*.f32 uy PI.f32)))
10.0ms
(*.f32 uy PI.f32)
Compiler

Compiled 3162 to 2153 computations (31.9% saved)

simplify101.0ms (0.6%)

Algorithm
egg-herbie
Rules
695×distribute-rgt-in_binary32
484×cancel-sign-sub-inv_binary32
337×associate-*l*_binary32
305×associate-*r*_binary32
240×distribute-rgt-neg-in_binary32
Counts
108 → 72
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02913667
17653254
226243058
352543058

prune200.0ms (1.3%)

Pruning

11 alts after pruning (8 fresh and 3 done)

PrunedKeptTotal
New72072
Fresh088
Picked011
Done022
Total721183
Error
0.1b
Counts
83 → 11
Alt Table
StatusErrorProgram
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 (*.f32 2 uy) (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (cbrt.f32 PI.f32))) (sqrt.f32 (log.f32 (pow.f32 (exp.f32 (-.f32 (+.f32 2 (*.f32 maxCos ux)) ux)) (-.f32 ux (*.f32 maxCos ux))))))
4.5b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (log.f32 (exp.f32 (*.f32 (+.f32 (*.f32 maxCos ux) (-.f32 2 ux)) (sqrt.f32 (-.f32 ux (*.f32 maxCos ux)))))))))
0.8b
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (*.f32 (cbrt.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 2 (-.f32 ux (*.f32 maxCos ux)))))) (cbrt.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 2 (-.f32 ux (*.f32 maxCos ux)))))))) (cbrt.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))))
5.8b
(log.f32 (exp.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 2 (-.f32 ux (*.f32 maxCos ux))))))))
13.0b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (log.f32 (exp.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 2 (-.f32 ux (*.f32 maxCos ux))))))))
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))))
0.5b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (*.f32 (-.f32 2 (-.f32 ux (*.f32 maxCos ux))) (sqrt.f32 (-.f32 ux (*.f32 maxCos ux)))))))
0.5b
(/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (-.f32 2 (-.f32 ux (*.f32 maxCos ux))) (*.f32 ux (-.f32 ux (*.f32 maxCos (*.f32 maxCos ux))))))) (sqrt.f32 (+.f32 ux (*.f32 ux maxCos))))
2.1b
(-.f32 (+.f32 (sqrt.f32 (*.f32 (-.f32 (+.f32 2 (*.f32 maxCos ux)) ux) (-.f32 ux (*.f32 maxCos ux)))) (*.f32 2/3 (*.f32 (sqrt.f32 (*.f32 (-.f32 (+.f32 2 (*.f32 maxCos ux)) ux) (-.f32 ux (*.f32 maxCos ux)))) (*.f32 (pow.f32 uy 4) (pow.f32 PI.f32 4))))) (+.f32 (*.f32 2 (*.f32 (sqrt.f32 (*.f32 (-.f32 (+.f32 2 (*.f32 maxCos ux)) ux) (-.f32 ux (*.f32 maxCos ux)))) (*.f32 (*.f32 uy uy) (pow.f32 PI.f32 2)))) (*.f32 4/45 (*.f32 (sqrt.f32 (*.f32 (-.f32 (+.f32 2 (*.f32 maxCos ux)) ux) (-.f32 ux (*.f32 maxCos ux)))) (*.f32 (pow.f32 uy 6) (pow.f32 PI.f32 6))))))
0.5b
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (-.f32 ux (*.f32 maxCos ux)))) (sqrt.f32 (+.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))
0.6b
(/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy PI.f32))) (sqrt.f32 (*.f32 (sqrt.f32 (-.f32 (pow.f32 ux 3) (pow.f32 (*.f32 maxCos ux) 3))) (*.f32 (sqrt.f32 (*.f32 ux (-.f32 ux (*.f32 maxCos (*.f32 maxCos ux))))) (-.f32 4 (pow.f32 (sqrt.f32 (-.f32 ux (*.f32 maxCos ux))) 4)))))) (sqrt.f32 (*.f32 (sqrt.f32 (+.f32 ux (*.f32 ux maxCos))) (*.f32 (+.f32 2 (-.f32 ux (*.f32 maxCos ux))) (sqrt.f32 (+.f32 (*.f32 ux ux) (+.f32 (*.f32 (*.f32 maxCos ux) (*.f32 maxCos ux)) (*.f32 ux (*.f32 maxCos ux)))))))))
Compiler

Compiled 2615 to 1402 computations (46.4% saved)

regimes8.1s (52%)

Accuracy

Total 0.2b remaining (74.6%)

Threshold costs 0.2b (74.6%)

Compiler

Compiled 144254 to 90553 computations (37.2% saved)

simplify7.0ms (0%)

Algorithm
egg-herbie
Rules
18×*-commutative_binary32
13×+-commutative_binary32
10×sub-neg_binary32
neg-sub0_binary32
neg-mul-1_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02357
13757
24657
35857
48157
59757
610757
711357
811557
911457

end2.0ms (0%)

Compiler

Compiled 40 to 31 computations (22.5% saved)

sample2.6s (16.7%)

Algorithm
intervals
Results
1.0s8000×body128valid
256.0ms8000×pre128true
Compiler

Compiled 559 to 354 computations (36.7% saved)

Profiling

Loading profile data...