I was wrong. In a new version I’m verifying that the number of big steps is exactly (n+l-1)/l, where n is the number of steps needed with limbsize 1bit, and l the limb size.
I’ve ran more numbers, but I’m unconvinced there is much we can be certain about. “groupsize” is the limb size in what follows (as I don’t really have limbs, but bits are still processed in groups):
All prime moduli up to 110947:
groupsize=1: any=-2.055085..1.000000 end=-1.993407..0.422482
groupsize=2: any=-1.491790..1.044510 end=-1.397171..0.803614
groupsize=3: any=-1.552709..1.170796 end=-1.369628..0.946939
groupsize=4: any=-1.374500..1.106852 end=-1.274800..0.878979
groupsize=5: any=-1.448697..1.071038 end=-1.274614..0.888029
groupsize=6: any=-1.253247..1.066610 end=-1.249308..0.848182
groupsize=7: any=-1.242349..0.985827 end=-1.181315..0.883249
groupsize=8: any=-1.235770..0.991852 end=-0.935896..0.848735
groupsize=9: any=-1.228235..0.989970 end=-1.176310..0.884596
groupsize=10: any=-1.038560..0.995537 end=-0.927074..0.846394
groupsize=11: any=-0.998062..0.983944 end=-0.922294..0.848562
groupsize=12: any=-0.994568..0.982599 end=-0.927107..0.846037
groupsize=13: any=-0.993722..0.986827 end=-0.928188..0.847768
groupsize=14: any=-0.972259..0.967022 end=-0.926749..0.845945
groupsize=15: any=-0.976746..0.975281 end=-0.899866..0.836040
groupsize=16: any=-0.947529..0.899753 end=-0.862346..0.833838
10% of prime moduli up to 349507:
groupsize=1: any=-2.051133..0.995659 end=-1.995117..0.421344
groupsize=2: any=-1.492478..1.031685 end=-1.396499..0.803922
groupsize=3: any=-1.558648..1.170698 end=-1.371851..0.948689
groupsize=4: any=-1.381529..1.077632 end=-1.274312..0.879803
groupsize=5: any=-1.502681..1.078220 end=-1.272138..0.888213
groupsize=6: any=-1.313554..1.083599 end=-1.250655..0.857256
groupsize=7: any=-1.249881..1.005733 end=-1.249881..0.884644
groupsize=8: any=-1.230708..0.989838 end=-0.958233..0.849045
groupsize=9: any=-1.219221..0.992666 end=-1.176310..0.883021
groupsize=10: any=-1.142527..0.994789 end=-0.930372..0.848842
groupsize=11: any=-1.166794..0.989934 end=-1.166794..0.882834
groupsize=12: any=-0.995544..0.988289 end=-0.926862..0.836935
groupsize=13: any=-0.993748..0.988289 end=-0.915995..0.845237
groupsize=14: any=-0.984945..0.975717 end=-0.926749..0.839390
groupsize=15: any=-0.995626..0.975281 end=-0.925214..0.847219
groupsize=16: any=-0.987976..0.985138 end=-0.927226..0.836313
1% of prime moduli up to 1131973:
groupsize=1: any=-2.052378..0.993162 end=-1.994926..0.422179
groupsize=2: any=-1.494688..1.033515 end=-1.396643..0.802153
groupsize=3: any=-1.562146..1.169104 end=-1.371607..0.946862
groupsize=4: any=-1.378231..1.114226 end=-1.273925..0.879529
groupsize=5: any=-1.475837..1.083105 end=-1.271721..0.888214
groupsize=6: any=-1.295239..1.047611 end=-1.254773..0.848775
groupsize=7: any=-1.330274..0.986786 end=-1.250550..0.885003
groupsize=8: any=-1.248294..0.991616 end=-1.248294..0.853758
groupsize=9: any=-1.228581..0.995544 end=-1.176310..0.872221
groupsize=10: any=-1.177726..0.992804 end=-0.925239..0.848618
groupsize=11: any=-1.167367..0.987836 end=-1.167367..0.883213
groupsize=12: any=-0.998108..0.990108 end=-0.928186..0.841764
groupsize=13: any=-1.150210..0.977471 end=-1.150210..0.849172
groupsize=14: any=-0.993729..0.977471 end=-0.911387..0.839390
groupsize=15: any=-0.985101..0.970516 end=-0.913996..0.835745
groupsize=16: any=-0.957962..0.979279 end=-0.922496..0.842599
0.1% of prime moduli up to 3464117:
groupsize=1: any=-2.050473..1.003521 end=-1.989695..0.421928
groupsize=2: any=-1.497404..1.043420 end=-1.396404..0.804456
groupsize=3: any=-1.564505..1.162865 end=-1.371172..0.948631
groupsize=4: any=-1.377905..1.079789 end=-1.274672..0.879191
groupsize=5: any=-1.496653..1.110779 end=-1.271000..0.887810
groupsize=6: any=-1.297679..1.077534 end=-1.251278..0.848526
groupsize=7: any=-1.300602..1.021607 end=-1.248854..0.884289
groupsize=8: any=-1.248034..1.005337 end=-1.248034..0.848858
groupsize=9: any=-1.228581..0.995544 end=-1.176310..0.848870
groupsize=10: any=-1.207779..0.995366 end=-0.929434..0.847704
groupsize=11: any=-1.153446..0.990005 end=-1.153446..0.882861
groupsize=12: any=-0.996765..0.989516 end=-0.927898..0.847193
groupsize=13: any=-1.163140..0.987821 end=-1.163140..0.883305
groupsize=14: any=-0.995132..0.984791 end=-0.893015..0.835079
groupsize=15: any=-0.995132..0.967950 end=-0.907344..0.834382
groupsize=16: any=-0.984029..0.961038 end=-0.906420..0.834617
0.01% of moduli up to 11039339:
groupsize=1: any=-2.051940..0.996391 end=-1.996305..0.421290
groupsize=2: any=-1.499505..1.051901 end=-1.396416..0.802318
groupsize=3: any=-1.561363..1.166551 end=-1.368984..0.948631
groupsize=4: any=-1.383586..1.091238 end=-1.274289..0.880152
groupsize=5: any=-1.481463..1.085957 end=-1.260109..0.888202
groupsize=6: any=-1.299034..1.060646 end=-1.251278..0.857331
groupsize=7: any=-1.260355..0.992207 end=-1.250235..0.883328
groupsize=8: any=-1.231910..0.992368 end=-0.956577..0.848064
groupsize=9: any=-1.216104..0.991101 end=-1.199865..0.884526
groupsize=10: any=-1.225255..0.993749 end=-0.934115..0.847749
groupsize=11: any=-1.148017..0.991232 end=-0.924975..0.846513
groupsize=12: any=-1.018515..0.987497 end=-0.927898..0.846874
groupsize=13: any=-1.160253..0.983809 end=-1.160253..0.882765
groupsize=14: any=-1.003507..0.986345 end=-0.921619..0.844235
groupsize=15: any=-0.996078..0.971918 end=-0.916266..0.836446
groupsize=16: any=-0.993275..0.965574 end=-0.866950..0.834224
0.001% of prime moduli up to 28747003:
groupsize=1: any=-2.053982..0.996391 end=-1.992506..0.421290
groupsize=2: any=-1.493148..1.041476 end=-1.395867..0.800439
groupsize=3: any=-1.556455..1.154373 end=-1.369605..0.945930
groupsize=4: any=-1.384990..1.072617 end=-1.272547..0.879611
groupsize=5: any=-1.470865..1.075154 end=-1.270969..0.887815
groupsize=6: any=-1.260852..1.065870 end=-1.251268..0.848581
groupsize=7: any=-1.313924..1.017953 end=-1.250235..0.883669
groupsize=8: any=-1.246336..0.992604 end=-0.963704..0.848223
groupsize=9: any=-1.241720..0.992726 end=-1.241720..0.884562
groupsize=10: any=-1.183389..0.992054 end=-0.928432..0.845884
groupsize=11: any=-1.185953..0.986327 end=-0.927732..0.853218
groupsize=12: any=-1.090875..0.986342 end=-0.927898..0.843522
groupsize=13: any=-1.000580..0.977187 end=-0.914065..0.843360
groupsize=14: any=-0.995132..0.989678 end=-0.928494..0.846937
groupsize=15: any=-1.164714..0.963789 end=-1.164714..0.881029
groupsize=16: any=-0.992100..0.975921 end=-0.914312..0.835900
0.0001% of prime moduli up to 87960151:
groupsize=1: any=-2.052892..0.993336 end=-1.995083..0.422630
groupsize=2: any=-1.495467..1.047303 end=-1.396386..0.795697
groupsize=3: any=-1.555671..1.163660 end=-1.371843..0.946223
groupsize=4: any=-1.382615..1.119554 end=-1.272758..0.878755
groupsize=5: any=-1.475855..1.092415 end=-1.259864..0.887520
groupsize=6: any=-1.319167..1.058888 end=-1.249887..0.848697
groupsize=7: any=-1.313924..1.010592 end=-1.250286..0.884678
groupsize=8: any=-1.231136..0.991234 end=-0.939565..0.848686
groupsize=9: any=-1.200750..0.989698 end=-1.166432..0.884064
groupsize=10: any=-1.227392..0.989845 end=-0.937704..0.847799
groupsize=11: any=-1.153800..0.988057 end=-1.153800..0.846207
groupsize=12: any=-1.088226..0.991479 end=-0.924114..0.846646
groupsize=13: any=-0.997867..0.988057 end=-0.914374..0.845121
groupsize=14: any=-0.997096..0.980230 end=-0.916255..0.836382
groupsize=15: any=-1.157445..0.989845 end=-1.157445..0.842492
groupsize=16: any=-0.994511..0.975921 end=-0.914883..0.843662
The any=-a..b indicates the range of d and e over the modulus (a=min(d/m, e/m), b=max(d/m, e/m)) during the execution (after any big step, including the last one). The end=-a..b indicates the range of d (not e) after the last big step. For small values there appears to be a convergence to -5/6..5/6 for the end range, but this is far less clear for larger moduli. I believe it may be a property that only holds as long as the modulus is small compared to the group size.
The only thing that seems easy to prove is that if max(abs(d),abs(e)) <= α modulus before a big step, then max(abs(d’),abs(e’)) <= (α+1/2)modulus, due to the fact that all entries in the 2-groupsizet matrix are between -1 and 1, and the sum and difference of any row in that matrix is also between -1 and 1. But that only bounds the final abs(d) below 7 modulus (on 64 bit) and 13.5 modulus (on 32 bit).