Details

Time bar (total: 8.7s)

analyze402.0ms (4.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 37 to 28 computations (24.3% saved)

sample71.0ms (0.8%)

Algorithm
intervals
Results
22.0ms256×body128valid
11.0ms256×pre128true
0.0mspre128false
Compiler

Compiled 54 to 42 computations (22.2% saved)

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Rules
11×sub-neg_binary32
+-commutative_binary32
fma-def_binary32
*-commutative_binary32
div-sub_binary32
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01117
11717
22117
32717
43417
54417
65417
76917
87617
97917
108017
116017

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.3b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.3b
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
Compiler

Compiled 42 to 33 computations (21.4% saved)

localize27.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(sqrt.f32 (/.f32 u1 (-.f32 1 u1)))
0.2b
(/.f32 u1 (-.f32 1 u1))
0.2b
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.4b
(*.f32 314159265359/50000000000 u2)

series40.0ms (0.5%)

Counts
4 → 40
Calls

4 calls:

27.0ms
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
9.0ms
(sqrt.f32 (/.f32 u1 (-.f32 1 u1)))
2.0ms
(/.f32 u1 (-.f32 1 u1))
2.0ms
(*.f32 314159265359/50000000000 u2)

rewrite33.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
81×add-sqr-sqrt_binary32
69×*-un-lft-identity_binary32
56×times-frac_binary32
50×sqrt-prod_binary32
39×add-cube-cbrt_binary32
Counts
4 → 148
Calls

4 calls:

11.0ms
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
4.0ms
(sqrt.f32 (/.f32 u1 (-.f32 1 u1)))
4.0ms
(/.f32 u1 (-.f32 1 u1))
3.0ms
(*.f32 314159265359/50000000000 u2)

simplify123.0ms (1.4%)

Algorithm
egg-herbie
Rules
595×associate-/r*_binary32
481×fma-def_binary32
401×times-frac_binary32
261×associate-/l*_binary32
204×fma-neg_binary32
Counts
188 → 226
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02893681
16353497
218683373
348563373
449243373

prune328.0ms (3.7%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2179226
Fresh000
Picked101
Done000
Total2189227
Error
0.0b
Counts
227 → 9
Alt Table
StatusErrorProgram
0.3b
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
0.6b
(*.f32 (*.f32 (fabs.f32 (cbrt.f32 u1)) (sqrt.f32 (/.f32 (cbrt.f32 u1) (-.f32 1 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.5b
(*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (+.f32 1 (sqrt.f32 u1)))) (*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (-.f32 1 (sqrt.f32 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
1.2b
(*.f32 (exp.f32 (log.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.5b
(*.f32 (*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (+.f32 1 (sqrt.f32 u1)))) (sqrt.f32 (/.f32 (sqrt.f32 u1) (-.f32 1 (sqrt.f32 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
1.9b
(*.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (sqrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)))) (sqrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.5b
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 (pow.f32 1 3) (pow.f32 u1 3)))) (*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (sqrt.f32 (+.f32 1 (fma.f32 u1 u1 u1)))))
0.7b
(*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (sqrt.f32 (-.f32 1 u1)))) (*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (sqrt.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.5b
(*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (sqrt.f32 u1)))) (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 (sqrt.f32 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
Compiler

Compiled 5087 to 3717 computations (26.9% saved)

localize41.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f32 u1 (-.f32 1 u1))
0.2b
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
0.4b
(+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))
1.6b
(exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))

series266.0ms (3%)

Counts
3 → 36
Calls

3 calls:

117.0ms
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
77.0ms
(exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))
72.0ms
(+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))

rewrite25.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
36×*-un-lft-identity_binary32
35×add-sqr-sqrt_binary32
27×associate-*l*_binary32
26×sqrt-prod_binary32
19×times-frac_binary32
Counts
3 → 93
Calls

3 calls:

11.0ms
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
4.0ms
(exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))
4.0ms
(+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))

simplify91.0ms (1%)

Algorithm
egg-herbie
Rules
299×associate-/r*_binary32
291×associate-*l*_binary32
288×distribute-neg-frac_binary32
274×fma-neg_binary32
273×fma-def_binary32
Counts
129 → 154
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02052257
14262069
211281983
336441983
449591983

prune252.0ms (2.9%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New2152217
Fresh268
Picked101
Done000
Total2188226
Error
0.0b
Counts
226 → 8
Alt Table
StatusErrorProgram
0.6b
(*.f32 (*.f32 (fabs.f32 (cbrt.f32 u1)) (sqrt.f32 (/.f32 (cbrt.f32 u1) (-.f32 1 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.5b
(*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (+.f32 1 (sqrt.f32 u1)))) (*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (-.f32 1 (sqrt.f32 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.5b
(*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) 1)) (*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
0.5b
(*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (sqrt.f32 u1)))) (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 (sqrt.f32 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
1.2b
(*.f32 (exp.f32 (log.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
1.9b
(*.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (sqrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)))) (sqrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.5b
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 (pow.f32 1 3) (pow.f32 u1 3)))) (*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (sqrt.f32 (+.f32 1 (fma.f32 u1 u1 u1)))))
1.2b
(*.f32 (sqrt.f32 (exp.f32 (log.f32 (/.f32 u1 (-.f32 1 u1))))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
Compiler

Compiled 5078 to 3696 computations (27.2% saved)

localize62.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f32 (+.f32 1 (fma.f32 u1 u1 u1)))
0.2b
(*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (sqrt.f32 (+.f32 1 (fma.f32 u1 u1 u1))))
0.3b
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 (pow.f32 1 3) (pow.f32 u1 3)))) (*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (sqrt.f32 (+.f32 1 (fma.f32 u1 u1 u1)))))
0.4b
(*.f32 314159265359/50000000000 u2)

series85.0ms (1%)

Counts
3 → 56
Calls

3 calls:

66.0ms
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 (pow.f32 1 3) (pow.f32 u1 3)))) (*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (sqrt.f32 (+.f32 1 (fma.f32 u1 u1 u1)))))
17.0ms
(*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (sqrt.f32 (+.f32 1 (fma.f32 u1 u1 u1))))
2.0ms
(sqrt.f32 (+.f32 1 (fma.f32 u1 u1 u1)))

rewrite82.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
145×add-sqr-sqrt_binary32
117×sqrt-prod_binary32
114×associate-*l*_binary32
108×*-un-lft-identity_binary32
102×times-frac_binary32
Counts
3 → 181
Calls

3 calls:

38.0ms
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 (pow.f32 1 3) (pow.f32 u1 3)))) (*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (sqrt.f32 (+.f32 1 (fma.f32 u1 u1 u1)))))
6.0ms
(*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (sqrt.f32 (+.f32 1 (fma.f32 u1 u1 u1))))
4.0ms
(sqrt.f32 (+.f32 1 (fma.f32 u1 u1 u1)))

simplify351.0ms (4%)

Algorithm
egg-herbie
Rules
843×fma-def_binary32
593×fma-neg_binary32
409×cancel-sign-sub-inv_binary32
318×associate-*r*_binary32
237×associate-*l*_binary32
Counts
237 → 281
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03587287
18326990
227546824
343036664
449566664
550866664

prune365.0ms (4.2%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New3021303
Fresh077
Picked101
Done000
Total3038311
Error
0.0b
Counts
311 → 8
Alt Table
StatusErrorProgram
0.6b
(*.f32 (*.f32 (fabs.f32 (cbrt.f32 u1)) (sqrt.f32 (/.f32 (cbrt.f32 u1) (-.f32 1 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.5b
(*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (+.f32 1 (sqrt.f32 u1)))) (*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (-.f32 1 (sqrt.f32 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.5b
(*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) 1)) (*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
0.5b
(*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (sqrt.f32 u1)))) (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 (sqrt.f32 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
1.2b
(*.f32 (exp.f32 (log.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
1.9b
(*.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (sqrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)))) (sqrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))))
1.2b
(*.f32 (sqrt.f32 (exp.f32 (log.f32 (/.f32 u1 (-.f32 1 u1))))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
1.9b
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 (pow.f32 1 3) (pow.f32 u1 3)))) (exp.f32 (log.f32 (*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (sqrt.f32 (+.f32 1 (fma.f32 u1 u1 u1)))))))
Compiler

Compiled 10684 to 7622 computations (28.7% saved)

localize72.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f32 u1 (-.f32 1 (sqrt.f32 u1)))
0.3b
(*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (sqrt.f32 u1)))) (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 (sqrt.f32 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.4b
(*.f32 314159265359/50000000000 u2)
0.5b
(/.f32 1 (+.f32 1 (sqrt.f32 u1)))

series209.0ms (2.4%)

Counts
3 → 14
Calls

3 calls:

176.0ms
(*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (sqrt.f32 u1)))) (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 (sqrt.f32 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
18.0ms
(/.f32 u1 (-.f32 1 (sqrt.f32 u1)))
16.0ms
(/.f32 1 (+.f32 1 (sqrt.f32 u1)))

rewrite45.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
78×*-un-lft-identity_binary32
72×add-sqr-sqrt_binary32
57×times-frac_binary32
40×sqrt-prod_binary32
37×add-cube-cbrt_binary32
Counts
3 → 142
Calls

3 calls:

22.0ms
(*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (sqrt.f32 u1)))) (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 (sqrt.f32 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
5.0ms
(/.f32 u1 (-.f32 1 (sqrt.f32 u1)))
5.0ms
(/.f32 1 (+.f32 1 (sqrt.f32 u1)))

simplify164.0ms (1.9%)

Algorithm
egg-herbie
Rules
601×fma-def_binary32
472×fma-neg_binary32
298×times-frac_binary32
267×*-commutative_binary32
237×associate-/l*_binary32
Counts
156 → 176
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01853497
14093304
211653232
327203204
447053204
549973204
649473204

prune247.0ms (2.8%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1971198
Fresh167
Picked011
Done000
Total1988206
Error
0.0b
Counts
206 → 8
Alt Table
StatusErrorProgram
0.6b
(*.f32 (*.f32 (fabs.f32 (cbrt.f32 u1)) (sqrt.f32 (/.f32 (cbrt.f32 u1) (-.f32 1 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.5b
(*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (+.f32 1 (sqrt.f32 u1)))) (*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (-.f32 1 (sqrt.f32 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.5b
(*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) 1)) (*.f32 (sqrt.f32 (/.f32 (sqrt.f32 u1) (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
0.5b
(*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (sqrt.f32 u1)))) (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 (sqrt.f32 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
1.2b
(*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (sqrt.f32 u1)))) (*.f32 (sqrt.f32 (exp.f32 (log.f32 (/.f32 u1 (-.f32 1 (sqrt.f32 u1)))))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
1.9b
(*.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (sqrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)))) (sqrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))))
1.2b
(*.f32 (sqrt.f32 (exp.f32 (log.f32 (/.f32 u1 (-.f32 1 u1))))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
1.9b
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 (pow.f32 1 3) (pow.f32 u1 3)))) (exp.f32 (log.f32 (*.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) (sqrt.f32 (+.f32 1 (fma.f32 u1 u1 u1)))))))
Compiler

Compiled 5774 to 4104 computations (28.9% saved)

regimes3.7s (42.2%)

Accuracy

Total 0.2b remaining (73.3%)

Threshold costs 0.2b (73.3%)

Counts
258 → 1
Compiler

Compiled 52009 to 40709 computations (21.7% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01825
12525
22925
33125
43225
52925

end1.0ms (0%)

Compiler

Compiled 19 to 14 computations (26.3% saved)

sample1.7s (19%)

Algorithm
intervals
Results
706.0ms8000×body128valid
275.0ms8000×pre128true
0.0mspre128false
Compiler

Compiled 243 to 188 computations (22.6% saved)

Profiling

Loading profile data...