Re: Should we revert float16 loops (and what are the precision requirements)?

Sebastian Berg <[email protected]> Wed, 11 Mar 2026 13:09:24 +0100
Newsgroups gmane.comp.python.numeric.general
Message-ID <[email protected]>
T24gV2VkLCAyMDI2LTAzLTExIGF0IDEyOjQyICswMTAwLCBSYWxmIEdvbW1lcnMgdmlhIE51bVB5
LURpc2N1c3Npb24NCndyb3RlOg0KPiBPbiBXZWQsIE1hciAxMSwgMjAyNiBhdCAxMjoxM+KAr1BN
IFNlYmFzdGlhbiBCZXJnDQo+IDxzZWJhc3RpYW5Ac2lwc29sdXRpb25zLm5ldD4NCj4gd3JvdGU6
DQo+IA0KPiA+IE9uIFdlZCwgMjAyNi0wMy0xMSBhdCAxMTo1OSArMDEwMCwgUmFsZiBHb21tZXJz
IHZpYSBOdW1QeS0NCj4gPiBEaXNjdXNzaW9uDQo+ID4gd3JvdGU6DQo+ID4gPiBPbiBXZWQsIE1h
ciAxMSwgMjAyNiBhdCAxMDo1OOKAr0FNIG1hdHRpIHBpY3VzIHZpYSBOdW1QeS1EaXNjdXNzaW9u
DQo+ID4gPiA8DQo+ID4gPiBudW1weS1kaXNjdXNzaW9uQHB5dGhvbi5vcmc+IHdyb3RlOg0KPiA+
ID4gDQo+ID4gPiA+IE9uIFR1ZSwgTWFyIDEwLCAyMDI2IGF0IDE6MjjigK9QTSBTZWJhc3RpYW4g
QmVyZw0KPiA+ID4gPiA8c2ViYXN0aWFuQHNpcHNvbHV0aW9ucy5uZXQ+IHdyb3RlOg0KPiA+ID4g
PiA+IA0KPiA+ID4gPiA+IEhpIGFsbCwNCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBJbiB0aGUgTnVt
UHkgMi40IGN5Y2xlLCB0aGVyZSB3ZXJlIHNvbWUgbmF0aXZlIGZsb2F0MTYNCj4gPiA+ID4gPiBp
bXBsZW1lbnRhdGlvbnMNCj4gPiA+ID4gPiBtZXJnZWQgd2l0aCByYXRoZXIgbG93IHByZWNpc2lv
biBsZWFkaW5nIHRvIHRoZSBmb2xsb3dpbmcNCj4gPiA+ID4gPiBpc3N1ZToNCj4gPiA+ID4gPiBo
dHRwczovL2dpdGh1Yi5jb20vbnVtcHkvbnVtcHkvaXNzdWVzLzMwODIxDQo+ID4gPiA+ID4gDQo+
ID4gPiA+ID4gVGhhdCBpcywgcHJldmlvdXNseSwgaXQgdXNlZCBmbG9hdCBsb29wcyBzbyB+MC41
IFVMUCBlcnJvciwNCj4gPiA+ID4gPiBub3cNCj4gPiA+ID4gPiBpcyBpcw0KPiA+ID4gPiA+IDIr
VUxQIGZvciBtYW55IGFsZ29yaXRobXMsIG9uIF9zb21lXyBoYXJkd2FyZToNCj4gPiA+ID4gPiBo
dHRwczovL2dpdGh1Yi5jb20vbnVtcHkvbnVtcHkvcHVsbC8yMzM1MQ0KPiA+ID4gPiA+IA0KPiA+
ID4gPiA+IFRoZXJlIGlzIGFsd2F5cyBhbiBhcmd1bWVudCBhcm91bmQgdGhhdCB1c2VycyBvZiBm
bG9hdDE2DQo+ID4gPiA+ID4gcHJvYmFibHkNCj4gPiA+ID4gPiBkb24ndA0KPiA+ID4gPiA+IGNh
cmUgYWJvdXQgbWFueSBVTFAsIGJ1dCBJIGd1ZXNzIHRoZXkgYWxzbyBoYXZlIHZlcnkgZmV3IGJp
dHMNCj4gPiA+ID4gPiBvZg0KPiA+ID4gPiA+IHByZWNpc2lvbiB0byBiZWdpbiB3aXRoPw0KPiA+
ID4gPiA+IEkgZG9uJ3QgaGF2ZSBhIGh1Z2Ugb3BpbmlvbiBvbiBpdCwgYnV0IHdlIGFyZSBtb3Jl
IGFuZCBtb3JlDQo+ID4gPiA+ID4gaW4NCj4gPiA+ID4gPiB0aGUNCj4gPiA+ID4gPiBwb3NpdGlv
biB3aGVyZSBpdCBpcyB1bmNsZWFyIGlmIHNhY3JpZmljaW5nIGEgYml0IG9mDQo+ID4gPiA+ID4g
cHJlY2lzaW9uIGlzDQo+ID4gPiA+ID4gdGhlDQo+ID4gPiA+ID4gcmlnaHQgdGhpbmcgb3Igbm90
Li4uDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gU2ltaWxhciBxdWVzdGlvbnMgYWN0dWFsbHkgYXJp
c2UgZm9yIGZsb2F0MzIgbWF0aCwgaXMgaXQgT0sNCj4gPiA+ID4gPiB0bw0KPiA+ID4gPiA+IHRy
YWRlLQ0KPiA+ID4gPiA+IG9mZiBwcmVjaXNpb24gZm9yIHBlcmZvcm1hbmNlIChvciB0byB3aGF0
IGRlZ3JlZSwgZXZlcnl0aGluZw0KPiA+ID4gPiA+IHRyYWRlcyBhDQo+ID4gPiA+ID4gYml0KT8N
Cj4gPiA+ID4gPiBXZSBoYXZlIGhhZCBkaXNjdXNzaW9ucyBhcm91bmQgdGhpcyBiZWZvcmUgYnV0
IGl0IGlzIHN0aWxsIGENCj4gPiA+ID4gPiBkaWZmaWN1bHQNCj4gPiA+ID4gPiB0cmFkZS1vZmYg
dG8gbWFrZSBhbmQgdGhlcmUgaXMgbm8gY2hvaWNlIHRoYXQgbWFrZXMgZXZlcnlvbmUNCj4gPiA+
ID4gPiBoYXBweS4gWzFdDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gLSBTZWJhc3RpYW4NCj4gPiA+
ID4gPiANCj4gPiA+ID4gPiBbMV0gV2UgY2FuIHdvcmsgdG93YXJkcyBzb21ldGhpbmcgbGlrZQ0K
PiA+ID4gPiA+IGBucC5vcHRzKHByZWNpc2lvbj0ibG93IilgDQo+ID4gPiA+ID4gb3INCj4gPiA+
ID4gPiBzbywgYnV0IHRoYXQgZG9lc24ndCBjaGFuZ2UgdGhlIHF1ZXN0aW9uIG9mIGRlZmF1bHRz
IG11Y2guLi4NCj4gPiA+ID4gDQo+ID4gPiA+IEkgZG8gbGlrZSB0aGUgaWRlYSBvZiBoYXZpbmcg
YSBwcmVjaXNlL2Zhc3QgdG9nZ2xlLiBVbnRpbCB3ZQ0KPiA+ID4gPiBjYW4NCj4gPiA+ID4gZGV2
ZWxvcCBvbmUsIEkgdGhpbmsgd2Ugc2hvdWxkIHByZWZlciBwcmVjaXNlLiBTbyB3ZSBzaG91bGQN
Cj4gPiA+ID4gcmV2ZXJ0DQo+ID4gPiA+IGFuZA0KPiA+ID4gPiBkb2N1bWVudCBzb21ld2hlcmUg
dGhhdCBmbG9hdDE2IChhbmQgdGhlIHNvb24tdG8tYmUtaW5jb21pbmcNCj4gPiA+ID4gYmZsb2F0
MTYpDQo+ID4gPiA+IGFyZSwgaW4gTnVtUHksIGNvbnRhaW5lciB0eXBlcywgYW5kIHRoYXQgYWxs
IHRoZSBtYXRoIGZvciB0aGVtDQo+ID4gPiA+IGlzDQo+ID4gPiA+IGRvbmUNCj4gPiA+ID4gYXMg
ZmxvYXQxNi4NCj4gPiA+ID4gDQo+ID4gPiANCj4gPiA+IFlvdSBtZWFudCBgZmxvYXQzMmAgaGVy
ZS4gQW5kIHllcywgSSBhZ3JlZS4gSGF2aW5nIGEgZmV3IGNvZGUNCj4gPiA+IHBhdGhzDQo+ID4g
PiB1c2UNCj4gPiANCj4gPiANCj4gPiBObywgSSBtZWFudCBmbG9hdDE2LA0KPiANCj4gDQo+IEkg
d2FzIHJlcGx5aW5nIHRvICJkb25lIGFzIGZsb2F0MTYiLiBPcGVyYXRpb25zIG9uIGFycmF5cyB3
aXRoIGR0eXBlDQo+IGZsb2F0MTYgYXJlIGxhcmdlbHkgZG9uZSBhcyAidXBjYXN0IHRvIGZsb2F0
MzIsIHBlcmZvcm0gdGhlDQo+IG9wZXJhdGlvbiwNCj4gZG93bmNhc3QgYWdhaW4iLiBUaGF0J3Mg
d2hhdCAiY29udGFpbmVyIHR5cGVzIiBtZWFucyAoSSd2ZSBiZWVuDQo+IGNhbGxpbmcNCj4gdGhl
bSAic3RvcmFnZSB0eXBlcyIsIG5vdCBzdXJlIHdoYXQncyB0aGUgbW9zdCBzdGFuZGFyZCBuYW1l
IGhlcmUpLg0KPiBTbyBJDQo+IGFncmVlZCB3aXRoIGV2ZXJ5dGhpbmcgeW91IHNhaWQsIGFuZCB3
YXMganVzdCBwb2ludGluZyBvdXQgd2hhdCBsb29rcw0KPiBsaWtlDQo+IGEgY29uZnVzaW5nIHR5
cG8uDQoNCg0KQWggc29ycnksIEkganVzdCBvdmVyLXJlYWQgdGhhdCBvbmUuLi4NCg0KRm9yIGZs
b2F0MTYgdGhpbmdzIGFyZSB0cmlja3kgYnV0IEkgZ3Vlc3Mgd2UgbWF5IHdhbnQgdG8gYWxzbyBq
dXN0DQpjZW1lbnQgdG8gbm90IGludHJvZHVjZSBzZXJpb3VzIGhhcmR3YXJlIGRpZmZlcmVuY2Ug
KHdoaWNoIHByb2JhYmx5DQpjZW1lbnRzIGZsb2F0MzIgdXNlIGRlLWZhY3RvKS4NCklmIHRoZSB3
aW5kIGNoYW5nZXMgc2xpZ2h0bHkgbW9yZSB0aGVyZSwgSSBhbSBub3Qgc3VyZSBpZiB3ZSBzaG91
bGRuJ3QNCmFsbG93IGEgbm9ybWFsIGVycm9yIHJhbmdlIHRoYXQgaXMgc3RpbGwgdmVyeSBzbGln
aHRseSBsYXJnZXIgdGhhbiBhDQpmbG9hdDMyIHZlcnNpb24uDQoNCg0KRm9yIGZsb2F0MzIgd2Ug
cmVhbGx5IGRvIG5lZWQgYSBtb3JlIGNsZWFyIGd1aWRlbGluZXMvZGlzY3Vzc2lvbi4gRS5nLjoN
Cmh0dHBzOi8vZ2l0aHViLmNvbS9udW1weS9udW1weS9wdWxsLzI5Njk5DQpQcm9wb3NlcyA0VUxQ
IHZlcnNpb25zIGZvciBmbG9hdDMyIHNpbi9jb3MgYW5kIHRoYXQgbWFrZXMgbWUgdmVyeQ0KbmVy
dm91cy4NCg0KSSBtaWdodCBzdWdnZXN0IGZvciB0aGF0IHdlIGNvbXBhcmUgc3RyaWN0bHkgd2l0
aCBzeXN0ZW0gbWF0aCBsaWJyYXJpZXMNCnByZWNpc2lvbiBhbmQgbWFrZSBzdXJlIHdlIGRlZmF1
bHQgdG8gc29tZXRoaW5nIHRoYXQgaXMgdmVyeSBjb21wYXJhYmxlDQpvciBiZXR0ZXIuDQooVGhl
IGFjdHVhbCBwcmVjaXNpb24gZm9yIG1hdGggZnVuY3Rpb25zIHZhcmllcyBxdWl0ZSB3aWRlbHkg
YWZ0ZXINCmFsbC4pDQoNCi0gU2ViYXN0aWFuDQoNCg0KPiANCj4gSSBkb24ndCB0aGluayB3ZSBo
YXZlIGEgYmFkIHZhcmlhYmlsaXR5IGZvcg0KPiA+IGZsb2F0MzIgcmlnaHQgbm93IGFuZCB3aGls
ZSB0aGVyZSBpcyBhIGRpZmZlcmVudCBkaXNjdXNzaW9uIHRvIGJlDQo+ID4gaGFkDQo+ID4gYWJv
dXQgZmxvYXQzMiwgSSB0aGluayB0aG9zZSBwYXRocyB3b3VsZCBhdCBsZWFzdCBiZSBjb25zaXN0
ZW50DQo+ID4gYWNyb3NzDQo+ID4gYXJjaGl0ZWN0dXJlcyAoYXMgaXQgd291bGQgYmUgY3VzdG9t
IGltcGxlbWVudGF0aW9ucykuDQo+ID4gDQo+IA0KPiBZZXMgYWdyZWVkLCBmbG9hdDMyIG9wZXJh
dGlvbnMgYXJlIGRvbmUgaW4gZmxvYXQzMiwgd2l0aCBtYW55IGEgZmV3DQo+IGV4Y2VwdGlvbnMu
IEFuZCB0aGF0J3MgZmluZSBhbmQgZXhwZWN0ZWQuDQo+IA0KPiANCj4gPiBCdXQgaXQgc291bmRz
IGxpa2UgeW91IGFncmVlIHdpdGggInJldmVydCIgaGVyZSwgd2hpY2ggd291bGQgaXMgbXkNCj4g
PiB0ZW5kZW5jeSwgZXZlbiBpZiBJIGRvbid0IGhhdmUgYSBjbGVhciBwaWN0dXJlIHdoZXJlIHRv
IGRyYXcgdGhlDQo+ID4gbGluZSwNCj4gPiBzaW5jZSBoYXJkd2FyZS9wbGF0Zm9ybSBkaWZmZXJl
bmNlcyBhbHdheXMgZXhpc3QgdG8gc29tZSBkZWdyZWUuDQo+ID4gDQo+IA0KPiBJbmRlZWQsIEkg
YWdyZWUuDQo+IA0KPiBJIHRoaW5rIHRoZSBkZXNpZ24gcnVsZXMgc2hvdWxkIGJlIHNpbXBsZToN
Cj4gDQo+IC0gT3BlcmF0aW9ucyBvbiBib3RoIGZsb2F0MzIgYW5kIGZsb2F0NjQgc2hvdWxkIGJl
IGRvbmUgYXQgdGhlaXINCj4gbmF0aXZlDQo+IHByZWNpc2lvbiB3aXRob3V0IGNhc3RzLg0KPiAt
IE9wZXJhdGlvbnMgZm9yIGZsb2F0MTYsIGFuZCBhIGZ1dHVyZSBiZmxvYXQxNiBpZiB3ZSBhZGQg
dGhhdCwNCj4gc2hvdWxkIGJlDQo+IGRvbmUgaW4gZmxvYXQzMiB3aGVuIGZsb2F0aW5nLXBvaW50
IGVycm9ycyBvY2N1ci4gTG9zc2xlc3Mgb3BlcmF0aW9ucw0KPiBjYW4NCj4gb2YgY291cnNlIGRv
bmUgd2l0aG91dCBjYXN0cy4NCj4gLSBPdXRwdXQgZHR5cGVzIHNob3VsZCBhbHdheXMgYmUgdW5j
aGFuZ2VkLCBzbyBpZiB0aGVyZSdzIGFuIGludGVybmFsDQo+IHVwY2FzdCwgdGhlcmUgc2hvdWxk
IGJlIGEgbWF0Y2hpbmcgZG93bmNhc3QuDQo+IA0KPiBUaGVyZSBtYXkgYmUgc29tZSBleGNlcHRp
b25zIGZvciBvcGVyYXRpb25zIHRoYXQgYXJlIHZlcnkgc2Vuc2l0aXZlDQo+IHRvDQo+IG51bWVy
aWNhbCBlcnJvcnMgYWNjdW11bGF0aW5nOyB0aG9zZSBzaG91bGQgYmUgZG9jdW1lbnRlZCBhbmQg
dHJlYXRlZA0KPiBhcw0KPiBleGNlcHRpb25zIHRvIHRoZSBnZW5lcmFsIHJ1bGVzLg0KPiANCj4g
DQo+IENoZWVycywNCj4gUmFsZg0KPiANCj4gDQo+IA0KPiA+IC0gU2ViYXN0aWFuDQo+ID4gDQo+
ID4gDQo+ID4gPiBwbGF0Zm9ybS9DUFUtZGVwZW5kZW50IGluc3RydWN0aW9ucyBsaWtlIEFWWDUx
Mi14eHggb25lcywgYW5kIGFzDQo+ID4gPiBhDQo+ID4gPiByZXN1bHQNCj4gPiA+IGhhdmluZyBh
IHNtYWxsIHN1YnNldCBvZiB0aGUgTnVtUHkgQVBJIGhhdmUgZGlmZmVyZW50DQo+ID4gPiBhY2N1
cmFjeS9zcGVlZA0KPiA+ID4gdHJhZGUtb2ZmcyBzZWVtcyBub3QgYWxsIHRoYXQgdXNlZnVsIHRv
IGFsbW9zdCBhbGwgdXNlcnMuIEFuZA0KPiA+ID4gbWFrZXMNCj4gPiA+IGl0DQo+ID4gPiBoYXJk
ZXIgdG8gYnVpbGQgdXAgYSBtZW50YWwgbW9kZWwgb2Ygd2hhdCBOdW1QeSBpcyBhY3R1YWxseQ0K
PiA+ID4gZG9pbmcuDQo+ID4gPiANCj4gPiA+IENoZWVycywNCj4gPiA+IFJhbGYNCj4gPiA+IF9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4gPiBOdW1Q
eS1EaXNjdXNzaW9uIG1haWxpbmcgbGlzdCAtLSBudW1weS1kaXNjdXNzaW9uQHB5dGhvbi5vcmcN
Cj4gPiA+IFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gbnVtcHktZGlzY3Vzc2lvbi1s
ZWF2ZUBweXRob24ub3JnDQo+ID4gPiBodHRwczovL21haWwucHl0aG9uLm9yZy9tYWlsbWFuMy8v
bGlzdHMvbnVtcHktZGlzY3Vzc2lvbi5weXRob24ub3JnDQo+ID4gPiBNZW1iZXIgYWRkcmVzczog
c2ViYXN0aWFuQHNpcHNvbHV0aW9ucy5uZXQNCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXw0KPiA+IE51bVB5LURpc2N1c3Npb24gbWFpbGluZyBsaXN0
IC0tIG51bXB5LWRpc2N1c3Npb25AcHl0aG9uLm9yZw0KPiA+IFRvIHVuc3Vic2NyaWJlIHNlbmQg
YW4gZW1haWwgdG8gbnVtcHktZGlzY3Vzc2lvbi1sZWF2ZUBweXRob24ub3JnDQo+ID4gaHR0cHM6
Ly9tYWlsLnB5dGhvbi5vcmcvbWFpbG1hbjMvL2xpc3RzL251bXB5LWRpc2N1c3Npb24ucHl0aG9u
Lm9yZw0KPiA+IE1lbWJlciBhZGRyZXNzOiByYWxmLmdvbW1lcnNAZ21haWwuY29tDQo+ID4gDQo+
IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+IE51bVB5
LURpc2N1c3Npb24gbWFpbGluZyBsaXN0IC0tIG51bXB5LWRpc2N1c3Npb25AcHl0aG9uLm9yZw0K
PiBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIG51bXB5LWRpc2N1c3Npb24tbGVhdmVA
cHl0aG9uLm9yZw0KPiBodHRwczovL21haWwucHl0aG9uLm9yZy9tYWlsbWFuMy8vbGlzdHMvbnVt
cHktZGlzY3Vzc2lvbi5weXRob24ub3JnDQo+IE1lbWJlciBhZGRyZXNzOiBzZWJhc3RpYW5Ac2lw
c29sdXRpb25zLm5ldA0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KTnVtUHktRGlzY3Vzc2lvbiBtYWlsaW5nIGxpc3QgLS0gbnVtcHktZGlzY3Vzc2lvbkBw
eXRob24ub3JnClRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gbnVtcHktZGlzY3Vzc2lv
bi1sZWF2ZUBweXRob24ub3JnCmh0dHBzOi8vbWFpbC5weXRob24ub3JnL21haWxtYW4zLy9saXN0
cy9udW1weS1kaXNjdXNzaW9uLnB5dGhvbi5vcmcKTWVtYmVyIGFkZHJlc3M6IGdjcG5nLW51bXB5
LWRpc2N1c3Npb25AbS5nbWFuZS1teC5vcmcK