Details

Time bar (total: 4.4s)

analyze108.0ms (2.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%0.1%99.9%0
0%0.1%99.9%1
0%0.1%99.9%2
0.1%0.1%99.9%3
0.1%0.1%99.9%4
0.1%0%99.9%5
0.1%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 31 to 25 computations (19.4% saved)

sample1.6s (36.7%)

Results
1.5s8256×body128valid
Compiler

Compiled 78 to 64 computations (17.9% saved)

simplify39.0ms (0.9%)

Algorithm
egg-herbie
Rules
764×fma-def_binary32
494×fma-neg_binary32
125×cancel-sign-sub-inv_binary32
104×distribute-rgt-in_binary32
87×sub-neg_binary32
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
01420
13319
26117
313915
424215
533415
644113
763513
8101313
9127313
10165913
11192113
12235813
13267413
14270913
15271013
16271013
Stop Event
saturated
Counts
1 → 2

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 79 to 67 computations (15.2% saved)

localize23.0ms (0.5%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(fma.f32 u -4/3 1/3)
0.3b
(log1p.f32 (fma.f32 u -4/3 1/3))
0.4b
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))

series254.0ms (5.7%)

Counts
3 → 48
Calls

3 calls:

250.0ms
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))
2.0ms
(log1p.f32 (fma.f32 u -4/3 1/3))
2.0ms
(fma.f32 u -4/3 1/3)

rewrite42.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
823×expm1-log1p-u_binary32
822×log1p-expm1-u_binary32
97×add-sqr-sqrt_binary32
91×add-log-exp_binary32
90×add-cube-cbrt_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
120225
2223025
Stop Event
node limit
Counts
3 → 54
Calls

3 calls:

41.0ms
(fma.f32 u -4/3 1/3)
41.0ms
(log1p.f32 (fma.f32 u -4/3 1/3))
41.0ms
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))

simplify35.0ms (0.8%)

Algorithm
egg-herbie
Rules
570×fma-def_binary32
504×fma-neg_binary32
470×cancel-sign-sub-inv_binary32
391×sub-neg_binary32
220×unsub-neg_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0102820
1320770
21022704
33538704
Stop Event
node limit
Counts
102 → 106

prune74.0ms (1.7%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New9610106
Fresh011
Picked101
Done000
Total9711108
Error
0.1b
Counts
108 → 11
Alt Table
StatusErrorProgram
1.3b
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
0.8b
(*.f32 (log1p.f32 (*.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)))) (*.f32 s -3))
0.9b
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3))))
0.8b
(pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2)
0.9b
(pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 3)
1.0b
(*.f32 (log1p.f32 (-.f32 1/3 (*.f32 4/3 u))) (*.f32 s -3))
1.0b
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 3) (*.f32 s -3))
0.7b
(*.f32 (*.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2))) (*.f32 s -3))
9.5b
(*.f32 (-.f32 (exp.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 1) (*.f32 s -3))
2.9b
(exp.f32 (log.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))
0.6b
(expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))
Compiler

Compiled 1901 to 1508 computations (20.7% saved)

localize30.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))
0.3b
(fma.f32 u -4/3 1/3)
0.3b
(log1p.f32 (fma.f32 u -4/3 1/3))
0.4b
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))

series245.0ms (5.5%)

Counts
1 → 24
Calls

1 calls:

245.0ms
(expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))

rewrite43.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
899×expm1-log1p-u_binary32
897×log1p-expm1-u_binary32
339×prod-diff_binary32
105×add-sqr-sqrt_binary32
98×add-log-exp_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01213
122313
2243813
Stop Event
node limit
Counts
1 → 36
Calls

1 calls:

42.0ms
(expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))

simplify25.0ms (0.6%)

Algorithm
egg-herbie
Rules
475×fma-def_binary32
282×associate-+l+_binary32
270×fma-neg_binary32
246×associate-*l*_binary32
239×associate-+r+_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
072532
1218490
2659442
32105432
Stop Event
node limit
Counts
60 → 62

prune109.0ms (2.5%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New1644168
Fresh2810
Picked011
Done000
Total16613179
Error
0.0b
Counts
179 → 13
Alt Table
StatusErrorProgram
1.3b
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
0.8b
(*.f32 (log1p.f32 (*.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)))) (*.f32 s -3))
0.9b
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3))))
1.0b
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 3) (*.f32 s -3))
0.6b
(*.f32 -3 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) s))
0.8b
(pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2)
0.9b
(pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 3)
1.0b
(*.f32 (log1p.f32 (-.f32 1/3 (*.f32 4/3 u))) (*.f32 s -3))
0.7b
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2)) (*.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (*.f32 s -3)))
0.6b
(*.f32 s (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))))
1.0b
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
2.9b
(exp.f32 (log.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))
0.6b
(expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))
Compiler

Compiled 3151 to 2525 computations (19.9% saved)

localize25.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) s)
0.3b
(fma.f32 u -4/3 1/3)
0.3b
(*.f32 -3 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) s))
0.3b
(log1p.f32 (fma.f32 u -4/3 1/3))

series495.0ms (11.1%)

Counts
2 → 48
Calls

2 calls:

249.0ms
(*.f32 -3 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) s))
246.0ms
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) s)

rewrite41.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
821×expm1-log1p-u_binary32
820×log1p-expm1-u_binary32
97×add-sqr-sqrt_binary32
91×add-log-exp_binary32
90×add-cube-cbrt_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01023
120223
2222523
Stop Event
node limit
Counts
2 → 28
Calls

2 calls:

40.0ms
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) s)
40.0ms
(*.f32 -3 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) s))

simplify41.0ms (0.9%)

Algorithm
egg-herbie
Rules
630×fma-def_binary32
618×fma-neg_binary32
319×sub-neg_binary32
218×cancel-sign-sub-inv_binary32
194×unsub-neg_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0101961
1331913
21032815
33553809
Stop Event
node limit
Counts
76 → 77

prune83.0ms (1.9%)

Pruning

13 alts after pruning (11 fresh and 2 done)

PrunedKeptTotal
New1420142
Fresh01111
Picked011
Done011
Total14213155
Error
0.0b
Counts
155 → 13
Alt Table
StatusErrorProgram
1.3b
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
0.8b
(*.f32 (log1p.f32 (*.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)))) (*.f32 s -3))
0.9b
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3))))
1.0b
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 3) (*.f32 s -3))
0.6b
(*.f32 -3 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) s))
0.8b
(pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2)
0.9b
(pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 3)
1.0b
(*.f32 (log1p.f32 (-.f32 1/3 (*.f32 4/3 u))) (*.f32 s -3))
0.7b
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2)) (*.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (*.f32 s -3)))
0.6b
(*.f32 s (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))))
1.0b
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
2.9b
(exp.f32 (log.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))
0.6b
(expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))
Compiler

Compiled 2478 to 1920 computations (22.5% saved)

localize25.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 s (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))))
0.3b
(*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))
0.3b
(fma.f32 u -4/3 1/3)
0.3b
(log1p.f32 (fma.f32 u -4/3 1/3))

series240.0ms (5.4%)

Counts
2 → 36
Calls

2 calls:

237.0ms
(*.f32 s (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))))
3.0ms
(*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))

rewrite38.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
821×expm1-log1p-u_binary32
820×log1p-expm1-u_binary32
97×add-sqr-sqrt_binary32
91×add-log-exp_binary32
90×add-cube-cbrt_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01023
120223
2222523
Stop Event
node limit
Counts
2 → 28
Calls

2 calls:

37.0ms
(*.f32 s (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))))
37.0ms
(*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))

simplify39.0ms (0.9%)

Algorithm
egg-herbie
Rules
688×fma-def_binary32
348×fma-neg_binary32
258×cancel-sign-sub-inv_binary32
252×associate-*l*_binary32
241×unsub-neg_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0105799
1337739
21010672
32959656
Stop Event
node limit
Counts
64 → 76

prune93.0ms (2.1%)

Pruning

13 alts after pruning (11 fresh and 2 done)

PrunedKeptTotal
New1365141
Fresh4610
Picked101
Done022
Total14113154
Error
0.0b
Counts
154 → 13
Alt Table
StatusErrorProgram
0.9b
(pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 3)
0.6b
(*.f32 s (sqrt.f32 (*.f32 9 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2))))
1.0b
(*.f32 (log1p.f32 (-.f32 1/3 (*.f32 4/3 u))) (*.f32 s -3))
0.9b
(*.f32 s (pow.f32 (cbrt.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))) 3))
0.8b
(*.f32 (log1p.f32 (*.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)))) (*.f32 s -3))
0.9b
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3))))
0.7b
(*.f32 s (pow.f32 (pow.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))) 3) 1/3))
0.8b
(pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2)
0.6b
(*.f32 -3 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) s))
1.0b
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
9.5b
(*.f32 s (*.f32 -3 (-.f32 (exp.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 1)))
0.6b
(*.f32 s (log1p.f32 (expm1.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))))))
0.6b
(expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))
Compiler

Compiled 2289 to 1813 computations (20.8% saved)

regimes525.0ms (11.8%)

Accuracy

Total 0.6b remaining (89.4%)

Threshold costs 0.6b (89.4%)

Counts
55 → 1
Compiler

Compiled 6919 to 5882 computations (15% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01013
11213
Stop Event
saturated

end134.0ms (3%)

Compiler

Compiled 199 to 168 computations (15.6% saved)

Profiling

Loading profile data...