Details

Time bar (total: 6.2s)

analyze125.0ms (2%)

Algorithm
search
Search
TrueOtherFalseIter
0%1.5%98.5%0
0%1.5%98.5%1
0%1.5%98.5%2
0.8%0.8%98.5%3
0.8%0.8%98.5%4
1.2%0.4%98.5%5
1.2%0.4%98.5%6
1.4%0.2%98.5%7
1.4%0.2%98.5%8
1.4%0.1%98.5%9
1.4%0.1%98.5%10
1.5%0%98.5%11
1.5%0%98.5%12
1.5%0%98.5%13
1.5%0%98.5%14
Compiler

Compiled 27 to 21 computations (22.2% saved)

sample2.1s (33.4%)

Results
1.6s8256×body128valid
Compiler

Compiled 66 to 52 computations (21.2% saved)

simplify25.0ms (0.4%)

Algorithm
egg-herbie
Rules
175×fma-neg_binary32
156×fma-def_binary32
46×cancel-sign-sub-inv_binary32
46×sub-neg_binary32
29×distribute-rgt-in_binary32
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01014
12411
23811
36411
48311
511011
614411
719411
824411
929111
1031911
1136211
1240111
1347811
1449111
1544311

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.2b
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u -4))))
13.1b
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
Compiler

Compiled 61 to 49 computations (19.7% saved)

localize20.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(log1p.f32 (*.f32 u -4))
0.2b
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u -4))))

series327.0ms (5.3%)

Counts
2 → 36
Calls

2 calls:

322.0ms
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u -4))))
4.0ms
(log1p.f32 (*.f32 u -4))

rewrite158.0ms (2.6%)

Algorithm
egg-rewrite
Rules
40×egg
35×egg
Counts
2 → 75
Calls

2 calls:

79.0ms
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u -4))))
77.0ms
(log1p.f32 (*.f32 u -4))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
11629
215839
348539
450629
056
1986
210326
347136
449526

simplify93.0ms (1.5%)

Algorithm
egg-herbie
Rules
836×fma-neg_binary32
530×fma-def_binary32
369×sub-neg_binary32
321×unsub-neg_binary32
219×associate-+l+_binary32
Counts
111 → 123
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0106726
1335675
2998632
32998621
44495618
54993618
64943618

prune77.0ms (1.2%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1185123
Fresh011
Picked011
Done000
Total1187125
Error
0.0b
Counts
125 → 7
Alt Table
StatusErrorProgram
0.2b
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u -4))))
1.6b
(+.f32 (*.f32 8 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 64/3 (*.f32 s (pow.f32 u 3))) (+.f32 (*.f32 64 (*.f32 s (pow.f32 u 4))) (*.f32 4 (*.f32 s u)))))
1.2b
(*.f32 s (neg.f32 (*.f32 (pow.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2) 3) (cbrt.f32 (log1p.f32 (*.f32 u -4))))))
1.6b
(*.f32 s (neg.f32 (fma.f32 u (+.f32 -4 (*.f32 u -8)) (*.f32 (pow.f32 u 3) (-.f32 -64/3 (*.f32 64 u))))))
12.2b
(*.f32 s (neg.f32 (log.f32 (fma.f32 u -4 1))))
0.8b
(*.f32 s (neg.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3)))
13.1b
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
Compiler

Compiled 1947 to 1471 computations (24.4% saved)

localize29.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(log1p.f32 (*.f32 u -4))
0.1b
(cbrt.f32 (log1p.f32 (*.f32 u -4)))
0.2b
(*.f32 s (neg.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3)))
0.8b
(pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3)

series381.0ms (6.2%)

Counts
3 → 48
Calls

3 calls:

316.0ms
(*.f32 s (neg.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3)))
45.0ms
(pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3)
19.0ms
(cbrt.f32 (log1p.f32 (*.f32 u -4)))

rewrite202.0ms (3.3%)

Algorithm
egg-rewrite
Rules
37×egg
31×egg
29×egg
Counts
3 → 97
Calls

3 calls:

82.0ms
(cbrt.f32 (log1p.f32 (*.f32 u -4)))
71.0ms
(pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3)
48.0ms
(*.f32 s (neg.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
086
11466
214766
348676
449276
01111
12109
220269
349479
068
11158
212168
348528
456628

simplify147.0ms (2.4%)

Algorithm
egg-herbie
Rules
372×fma-def_binary32
275×associate-+r+_binary32
227×+-commutative_binary32
224×sub-neg_binary32
222×associate-/r*_binary32
Counts
145 → 167
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03052698
110292419
238202383
349142305
449852305
549372305

prune171.0ms (2.8%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New2232225
Fresh145
Picked011
Done011
Total2248232
Error
0.0b
Counts
232 → 8
Alt Table
StatusErrorProgram
1.2b
(*.f32 s (neg.f32 (*.f32 (pow.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2) 3) (cbrt.f32 (log1p.f32 (*.f32 u -4))))))
1.6b
(*.f32 s (neg.f32 (fma.f32 u (+.f32 -4 (*.f32 u -8)) (*.f32 (pow.f32 u 3) (-.f32 -64/3 (*.f32 64 u))))))
1.5b
(*.f32 s (neg.f32 (+.f32 (*.f32 (*.f32 u -4) (+.f32 (*.f32 u 2) (*.f32 16 (pow.f32 u 3)))) (*.f32 (+.f32 (*.f32 16/3 (*.f32 u u)) 1) (*.f32 u -4)))))
0.2b
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u -4))))
12.2b
(*.f32 s (neg.f32 (log.f32 (fma.f32 u -4 1))))
0.8b
(*.f32 s (neg.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3)))
1.6b
(fma.f32 8 (*.f32 u (*.f32 u s)) (fma.f32 64/3 (*.f32 (pow.f32 u 3) s) (fma.f32 4 (*.f32 u s) (*.f32 64 (*.f32 s (pow.f32 u 4))))))
13.1b
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
Compiler

Compiled 5942 to 4730 computations (20.4% saved)

localize44.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f32 s (neg.f32 (*.f32 (pow.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2) 3) (cbrt.f32 (log1p.f32 (*.f32 u -4))))))
0.3b
(*.f32 (pow.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2) 3) (cbrt.f32 (log1p.f32 (*.f32 u -4))))
0.5b
(pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2)
0.7b
(pow.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2) 3)

series397.0ms (6.5%)

Counts
4 → 60
Calls

4 calls:

308.0ms
(*.f32 s (neg.f32 (*.f32 (pow.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2) 3) (cbrt.f32 (log1p.f32 (*.f32 u -4))))))
52.0ms
(pow.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2) 3)
33.0ms
(pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2)
3.0ms
(*.f32 (pow.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2) 3) (cbrt.f32 (log1p.f32 (*.f32 u -4))))

rewrite210.0ms (3.4%)

Algorithm
egg-rewrite
Rules
43×egg
34×egg
27×egg
26×egg
Counts
4 → 130
Calls

4 calls:

56.0ms
(*.f32 s (neg.f32 (*.f32 (pow.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2) 3) (cbrt.f32 (log1p.f32 (*.f32 u -4))))))
52.0ms
(pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2)
50.0ms
(pow.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2) 3)
49.0ms
(*.f32 (pow.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2) 3) (cbrt.f32 (log1p.f32 (*.f32 u -4))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01113
12219
220349
349759
0913
117411
2168311
3498411
0126
12416
220566
350166
01528
13099
226139
348769

simplify90.0ms (1.5%)

Algorithm
egg-herbie
Rules
566×times-frac_binary32
338×cancel-sign-sub-inv_binary32
323×fma-def_binary32
263×distribute-neg-in_binary32
210×sub-neg_binary32
Counts
190 → 221
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02812588
19122356
230252290
350232290

prune167.0ms (2.7%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New2201221
Fresh145
Picked011
Done022
Total2218229
Error
0.0b
Counts
229 → 8
Alt Table
StatusErrorProgram
0.4b
(*.f32 s (neg.f32 (*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 2)) (cbrt.f32 (log1p.f32 (*.f32 u -4))))))
1.6b
(fma.f32 8 (*.f32 u (*.f32 u s)) (fma.f32 64/3 (*.f32 (pow.f32 u 3) s) (fma.f32 4 (*.f32 u s) (*.f32 64 (*.f32 s (pow.f32 u 4))))))
1.5b
(*.f32 s (neg.f32 (+.f32 (*.f32 (*.f32 u -4) (+.f32 (*.f32 u 2) (*.f32 16 (pow.f32 u 3)))) (*.f32 (+.f32 (*.f32 16/3 (*.f32 u u)) 1) (*.f32 u -4)))))
0.2b
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u -4))))
12.2b
(*.f32 s (neg.f32 (log.f32 (fma.f32 u -4 1))))
0.8b
(*.f32 s (neg.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3)))
1.2b
(*.f32 s (neg.f32 (*.f32 (pow.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2) 3) (cbrt.f32 (log1p.f32 (*.f32 u -4))))))
13.1b
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
Compiler

Compiled 6059 to 4922 computations (18.8% saved)

localize37.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(cbrt.f32 (log1p.f32 (*.f32 u -4)))
0.2b
(*.f32 s (neg.f32 (*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 2)) (cbrt.f32 (log1p.f32 (*.f32 u -4))))))
0.3b
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 2)) (cbrt.f32 (log1p.f32 (*.f32 u -4))))
0.5b
(pow.f32 (log1p.f32 (*.f32 u -4)) 2)

series322.0ms (5.2%)

Counts
3 → 48
Calls

3 calls:

312.0ms
(*.f32 s (neg.f32 (*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 2)) (cbrt.f32 (log1p.f32 (*.f32 u -4))))))
6.0ms
(pow.f32 (log1p.f32 (*.f32 u -4)) 2)
3.0ms
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 2)) (cbrt.f32 (log1p.f32 (*.f32 u -4))))

rewrite184.0ms (3%)

Algorithm
egg-rewrite
Rules
37×egg
35×egg
31×egg
Counts
3 → 103
Calls

3 calls:

54.0ms
(*.f32 s (neg.f32 (*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 2)) (cbrt.f32 (log1p.f32 (*.f32 u -4))))))
49.0ms
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 2)) (cbrt.f32 (log1p.f32 (*.f32 u -4))))
45.0ms
(pow.f32 (log1p.f32 (*.f32 u -4)) 2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079
11419
213639
350049
0106
11786
216716
349746
01311
12469
222309
351979

simplify92.0ms (1.5%)

Algorithm
egg-herbie
Rules
477×fma-neg_binary32
282×fma-def_binary32
278×cancel-sign-sub-inv_binary32
243×sub-neg_binary32
200×associate-*l*_binary32
Counts
151 → 172
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02051385
16651304
222171214
347871210
450861210

prune268.0ms (4.4%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New2261227
Fresh134
Picked101
Done033
Total2287235
Error
0.0b
Counts
235 → 7
Alt Table
StatusErrorProgram
1.3b
(*.f32 s (neg.f32 (*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 2)) (+.f32 (*.f32 (+.f32 (*.f32 (pow.f32 u 3) 280/81) 1) (cbrt.f32 (*.f32 u -4))) (*.f32 (cbrt.f32 (*.f32 u -4)) (+.f32 (*.f32 u 2/3) (*.f32 (*.f32 u u) 4/3)))))))
12.2b
(*.f32 s (neg.f32 (log.f32 (fma.f32 u -4 1))))
0.2b
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u -4))))
0.8b
(*.f32 s (neg.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3)))
1.2b
(*.f32 s (neg.f32 (*.f32 (pow.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2) 3) (cbrt.f32 (log1p.f32 (*.f32 u -4))))))
1.6b
(fma.f32 8 (*.f32 u (*.f32 u s)) (fma.f32 64/3 (*.f32 (pow.f32 u 3) s) (fma.f32 4 (*.f32 u s) (*.f32 64 (*.f32 s (pow.f32 u 4))))))
13.1b
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
Compiler

Compiled 5661 to 4541 computations (19.8% saved)

regimes419.0ms (6.8%)

Accuracy

Total 0.1b remaining (64.1%)

Threshold costs 0.1b (64.1%)

Counts
58 → 1
Compiler

Compiled 7492 to 5789 computations (22.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
0811
11611
22311
32911
43211
53311
63311

end106.0ms (1.7%)

Compiler

Compiled 150 to 117 computations (22% saved)

Profiling

Loading profile data...