Details

Time bar (total: 10.4s)

analyze384.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 37 to 28 computations (24.3% saved)

sample2.0s (18.7%)

Results
1.9s8256×body128valid
1.0msbody128invalid
Compiler

Compiled 88 to 67 computations (23.9% saved)

simplify9.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)

localize30.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series32.0ms (0.3%)

Counts
4 → 40
Calls

4 calls:

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

rewrite32.0ms (0.3%)

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)))
6.0ms
(sqrt.f32 (/.f32 u1 (-.f32 1 u1)))
4.0ms
(/.f32 u1 (-.f32 1 u1))
3.0ms
(*.f32 314159265359/50000000000 u2)

simplify126.0ms (1.2%)

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 → 223
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02893681
16353497
218683373
348563373
449243373

prune301.0ms (2.9%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2149223
Fresh000
Picked101
Done000
Total2159224
Error
0.0b
Counts
224 → 9
Alt Table
StatusErrorProgram
1.1b
(*.f32 (exp.f32 (log.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.9b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (cbrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (*.f32 (cbrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.5b
(*.f32 (sqrt.f32 (/.f32 1 (*.f32 (cbrt.f32 (-.f32 1 u1)) (cbrt.f32 (-.f32 1 u1))))) (*.f32 (sqrt.f32 (/.f32 u1 (cbrt.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
2.1b
(-.f32 (+.f32 (*.f32 9740909103402808085817682884085781839780052161/150000000000000000000000000000000000000000000 (*.f32 (pow.f32 u2 4) (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (*.f32 98696044010906577398881/5000000000000000000000 (*.f32 (pow.f32 u2 2) (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))))
0.4b
(*.f32 (sqrt.f32 (*.f32 (/.f32 1 (+.f32 1 (sqrt.f32 u1))) (/.f32 u1 (-.f32 1 (sqrt.f32 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.6b
(*.f32 (sqrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (*.f32 (sqrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.4b
(*.f32 (sqrt.f32 (*.f32 (/.f32 1 (*.f32 (cbrt.f32 (-.f32 1 u1)) (cbrt.f32 (-.f32 1 u1)))) (/.f32 u1 (cbrt.f32 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
1.2b
(*.f32 (sqrt.f32 (exp.f32 (-.f32 (log.f32 u1) (log.f32 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.3b
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
Compiler

Compiled 5047 to 3717 computations (26.4% saved)

localize39.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series242.0ms (2.3%)

Counts
3 → 36
Calls

3 calls:

104.0ms
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
71.0ms
(exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))
66.0ms
(+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))

rewrite26.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:

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

simplify90.0ms (0.9%)

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

prune265.0ms (2.5%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2114215
Fresh358
Picked101
Done000
Total2159224
Error
0.0b
Counts
224 → 9
Alt Table
StatusErrorProgram
0.3b
(*.f32 (sqrt.f32 (/.f32 1 (/.f32 (-.f32 1 u1) u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
0.4b
(*.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (*.f32 (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))) (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))))) (cbrt.f32 (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
0.5b
(*.f32 (sqrt.f32 (/.f32 1 (*.f32 (cbrt.f32 (-.f32 1 u1)) (cbrt.f32 (-.f32 1 u1))))) (*.f32 (sqrt.f32 (/.f32 u1 (cbrt.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
2.1b
(-.f32 (+.f32 (*.f32 9740909103402808085817682884085781839780052161/150000000000000000000000000000000000000000000 (*.f32 (pow.f32 u2 4) (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (*.f32 98696044010906577398881/5000000000000000000000 (*.f32 (pow.f32 u2 2) (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))))
0.4b
(*.f32 (sqrt.f32 (*.f32 (/.f32 1 (+.f32 1 (sqrt.f32 u1))) (/.f32 u1 (-.f32 1 (sqrt.f32 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
6.3b
(log.f32 (exp.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))))
0.9b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (cbrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (*.f32 (cbrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
1.2b
(*.f32 (sqrt.f32 (exp.f32 (-.f32 (log.f32 u1) (log.f32 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
0.6b
(*.f32 (sqrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (*.f32 (sqrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
Compiler

Compiled 5127 to 3756 computations (26.7% saved)

localize44.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f32 (-.f32 1 u1) u1)
0.3b
(/.f32 1 (/.f32 (-.f32 1 u1) u1))
0.3b
(+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))
1.5b
(exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))

series4.0ms (0%)

Counts
2 → 24
Calls

2 calls:

2.0ms
(/.f32 1 (/.f32 (-.f32 1 u1) u1))
2.0ms
(/.f32 (-.f32 1 u1) u1)

rewrite29.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
156×times-frac_binary32
124×*-un-lft-identity_binary32
124×add-sqr-sqrt_binary32
76×add-cube-cbrt_binary32
32×difference-of-squares_binary32
Counts
2 → 158
Calls

2 calls:

9.0ms
(/.f32 (-.f32 1 u1) u1)
7.0ms
(/.f32 1 (/.f32 (-.f32 1 u1) u1))

simplify161.0ms (1.5%)

Algorithm
egg-herbie
Rules
597×fma-neg_binary32
559×distribute-rgt-in_binary32
462×distribute-lft-in_binary32
244×times-frac_binary32
202×div-sub_binary32
Counts
182 → 219
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01403020
12882621
28502561
321762554
444802546
548962546

prune422.0ms (4%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2841285
Fresh178
Picked011
Done000
Total2859294
Error
0.0b
Counts
294 → 9
Alt Table
StatusErrorProgram
0.3b
(*.f32 (sqrt.f32 (/.f32 1 (/.f32 (-.f32 1 u1) u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
0.4b
(*.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (*.f32 (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))) (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))))) (cbrt.f32 (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
0.5b
(*.f32 (sqrt.f32 (/.f32 1 (*.f32 (cbrt.f32 (-.f32 1 u1)) (cbrt.f32 (-.f32 1 u1))))) (*.f32 (sqrt.f32 (/.f32 u1 (cbrt.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
2.1b
(-.f32 (+.f32 (*.f32 9740909103402808085817682884085781839780052161/150000000000000000000000000000000000000000000 (*.f32 (pow.f32 u2 4) (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (*.f32 98696044010906577398881/5000000000000000000000 (*.f32 (pow.f32 u2 2) (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))))
0.4b
(*.f32 (sqrt.f32 (*.f32 (/.f32 1 (+.f32 1 (sqrt.f32 u1))) (/.f32 u1 (-.f32 1 (sqrt.f32 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
6.3b
(log.f32 (exp.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))))
0.9b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (cbrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (*.f32 (cbrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.6b
(*.f32 (sqrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (*.f32 (sqrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
1.2b
(*.f32 (sqrt.f32 (exp.f32 (log.f32 (/.f32 1 (/.f32 (-.f32 1 u1) u1))))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
Compiler

Compiled 7202 to 5331 computations (26% saved)

localize47.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series43.0ms (0.4%)

Counts
3 → 3
Calls

3 calls:

22.0ms
(*.f32 (/.f32 1 (+.f32 1 (sqrt.f32 u1))) (/.f32 u1 (-.f32 1 (sqrt.f32 u1))))
11.0ms
(/.f32 u1 (-.f32 1 (sqrt.f32 u1)))
9.0ms
(/.f32 1 (+.f32 1 (sqrt.f32 u1)))

rewrite47.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
122×add-sqr-sqrt_binary32
107×*-un-lft-identity_binary32
91×times-frac_binary32
49×add-cube-cbrt_binary32
33×associate-*r*_binary32
Counts
3 → 184
Calls

3 calls:

19.0ms
(*.f32 (/.f32 1 (+.f32 1 (sqrt.f32 u1))) (/.f32 u1 (-.f32 1 (sqrt.f32 u1))))
7.0ms
(/.f32 u1 (-.f32 1 (sqrt.f32 u1)))
7.0ms
(/.f32 1 (+.f32 1 (sqrt.f32 u1)))

simplify143.0ms (1.4%)

Algorithm
egg-herbie
Rules
645×times-frac_binary32
559×associate-/l*_binary32
482×fma-def_binary32
401×associate-*l/_binary32
342×associate-/l/_binary32
Counts
187 → 221
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01583494
13853175
212053175
335933173
449353173
551353173

prune501.0ms (4.8%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New2430243
Fresh077
Picked011
Done011
Total2439252
Error
0.0b
Counts
252 → 9
Alt Table
StatusErrorProgram
0.3b
(*.f32 (sqrt.f32 (/.f32 1 (/.f32 (-.f32 1 u1) u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
0.4b
(*.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (*.f32 (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))) (cbrt.f32 (cos.f32 (*.f32 314159265359/50000000000 u2))))) (cbrt.f32 (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
0.5b
(*.f32 (sqrt.f32 (/.f32 1 (*.f32 (cbrt.f32 (-.f32 1 u1)) (cbrt.f32 (-.f32 1 u1))))) (*.f32 (sqrt.f32 (/.f32 u1 (cbrt.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
2.1b
(-.f32 (+.f32 (*.f32 9740909103402808085817682884085781839780052161/150000000000000000000000000000000000000000000 (*.f32 (pow.f32 u2 4) (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (*.f32 98696044010906577398881/5000000000000000000000 (*.f32 (pow.f32 u2 2) (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))))
0.4b
(*.f32 (sqrt.f32 (*.f32 (/.f32 1 (+.f32 1 (sqrt.f32 u1))) (/.f32 u1 (-.f32 1 (sqrt.f32 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2)))
6.3b
(log.f32 (exp.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))))
0.9b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (cbrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))))) (*.f32 (cbrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (cos.f32 (*.f32 314159265359/50000000000 u2))))
0.6b
(*.f32 (sqrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (*.f32 (sqrt.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1)))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2))))))
1.2b
(*.f32 (sqrt.f32 (exp.f32 (log.f32 (/.f32 1 (/.f32 (-.f32 1 u1) u1))))) (cos.f32 (exp.f32 (+.f32 (log.f32 314159265359/50000000000) (log.f32 u2)))))
Compiler

Compiled 6797 to 4627 computations (31.9% saved)

regimes5.3s (50.9%)

Accuracy

Total 0.3b remaining (78%)

Threshold costs 0.3b (78%)

Counts
422 → 1
Compiler

Compiled 93288 to 72919 computations (21.8% 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
01627
12227
22627
32827
42927
52827

end161.0ms (1.5%)

Compiler

Compiled 269 to 219 computations (18.6% saved)

Profiling

Loading profile data...