5 ms·
A thing of beauty happens when you write simple code in C and C++: the compiler has a field-day optimizing ad-nauseum. look at all those zmm(AVX-512) registers
by matthewaveryusa 9y ago
A thing of beauty happens when you write simple code in C and C++: the compiler has a field-day optimizing ad-nauseum. look at all those zmm(AVX-512) registers being used if your architecture supports it (on top of all the inlining and unrolling)!
godbolt link of the source + assembly -- all I did was combine the header, source and test files:
https://godbolt.org/#z:OYLghAFBqd5QCxAYwPYBMCmBRdBLAF1QCcAaPECAKxAEZSAbAQwDtRkBSAJgCFufSAZ1QBXYskwgA5NwDMeFsgYisAag6yAwoILomxYADoEG7BwAMAQTkKlKzOq078qY6YvWu8xcrUbtugx4AEZusmZWNj72jpoAtkwECGER1pFetr4O/s54ribhHlF2floEeHGYKUUZ0aUBxApGBanFWbHOQaEtRVYEAJ4ADphYAGaqOsQiyARFAOx8VqrLqqMMqIkAVKoA7ho8qgD0h6qWDAyqSQ47mHjACASChh4rq%2BtbqgAe%2B0cnABJ4dBYFiXVCqUQEQYiAiqZj9TDEXa3e6PZ5LFZrDYEbbBH7HVQ8PBMQSYJ4vDHvbGqAoHfEAoGYEFwhFoyyvTEfVB4k4AeWhUJhzOIrPJywUMJYuNktJOADkRHFggjweNgkSSYJVABaVRMBg7Jj9TUEHZgnUAFQUINQLAY/QmIkGgxIj11EyaDAcCEBwNhhpZotU4tULD20t%2BqnliuVqHGNzuDzJkXRYpYErwg0E3MjCqViNjQZYAqTbJWwZY3vQ2ajeZV1J9jJDmDENpLr3LqEz1dzMfGEOLIrmABEPJaWCx9r1LPjzcQmApNUxLlbdoQELqQQoBRv0Jd9MBMDD%2B9DV0k3Z79Cwmqo5wQqh58QAlQ9iFiahHEEg3xIOAtXJtiHqTYmiQADWrIcjCnwEAQc4KBAY4sKQqhoG%2BMKQdsCjIahOhvFi2wEMAyGQd%2Bd4AJSTsm04nDwIh4Aw6CLk2OzLuO4LBFQmAzKowB4AAbo2LA9vm4xbtCmoQFemZkaQD4nEJ0YifWDIgiwzafm%2Bqxfv%2Bla%2BkKqiSZWMlyTuIbCXWx6upJnaCGRrKIV8BDBHRDEQOWGaCMh5aVl5aYhjZFHSlOT4vsQmmsOC/InoMxAjHgMx5CCvECSCEViQQEGUts0ExXFMwIVa2GtuhWWFoFixpNRqgAMpMAJxoIA45RsUQqj4II4EeHxqCAo5gh1ZgBXjkVaEoQg%2BjbIMiQIOVwUnAAMhsjFumpLHNSCoyfnEbV4B19krtB7zoBAOEwsg43EJN02zVR%2BIAGKxaSbrrasW2XI11KYEwgyst1vXQZtmCDYhN2VSZ2DEJ%2BiKjCIijlDarI6Ik8V4YkqgfidxWozCTAjbhJHBBRkQLIGsUEK%2BqjmIYACs4yTagOyjBAS46sEyFcIY5ijKDHDDnNqgAAr6OUQFYI0fHIwJdYfl%2BMNw4liMEMjyDY6ogxi8QmOjSRuMoVjBNE9YJMpjeoWpdqqhShVvMjrdJzmqgSsXDLwoeEj5QqyRRB3pDWv46Vp2XERevawHWOoHjMLBoIeAAF6YIbvMVeylIOttGhDpTnOjJRpbLKMJBuX5eCOJn5g/CX/juvHFf8PwhuvK8ggKuovAZ%2BjvuERw1OEt3Q7IVyPd4H3oOvGTFPN3Euc2/zlgJRL8MbbDCUI27Sse6rTD5YHOuJ8beem%2BTYWqLQ2dHAZp9c63ByYJ8gxM1qTBkTzfN24LwtEhcYv8ZLv7jFv5QF6JVWMvReitlaq3VgAv2JUsS6j3snFY49j5Lm2BAS%2B4wdRP2nq/Sq91KTXmdMGOcLB0CoG2ptchWdzAW0vuAjeJFNqsGOgg0mZtvykIgGRc%2BEBILcMfJYWUQ4AD6ABZSwAANHBts8E0S3qBNWn4prAGRqvKw7sUZ/V3MEGKnYYGqAcgQSO2NtiBywiHf2%2BELEwkIsRVOt4E7zEQfnQuwZK6yDLhXWIlxDAVkBLXNuvAG4rCToGFOcDJ6l2oTnIKJtXj4k0HqZAIhmB3lBE7DuUMxqsAPKedcsVBDDG4q1SyrJG4YlcX5KgUTy7hmqVXDKLAbI/CoHXIJYSQn73KeUneqclzt3VhjDKg8eCtOpv3IO3dRkj1zt0xuvS4HBCiVA/KwypljKHKPOZKxIl1w8W6HEqgCKGG%2BD3apxy/G7n4EGPusztnLASSQWK3F4wok1AoZSvoSlRUFP6V2cTukZVOaMo5PjLnXxueM7U7cHGgtQZbUFGUTBD1ubEg%2BrwZ4AoeScTQTyuIwleYmQshZtytV0o2IUZTukF01sGep%2BzakHHpZoMFHkWltJ4ME%2B5GU9hD0Rb4jyEKNnQv2bC7YkTJp6FWW4FF4zuGYQnGc1Fzj1C4MxbI1Qd0SAGmILuXRyjVEsHoZonqu5Rj6v0YY4xGFrFlScYGBJSSUk/k%2BRSv5AENKqAlsoUkVKXG0uLjUrxDTfGVgCXwdpJtQlYtVrshl2c7nlJpUXGE9LPF1O8Y0tldSOVcu2bstu%2ByFDrL7vy3lhJ%2BVSU1NcjZibG5IqmcPKF7doEFoOBlXEPdy5yrreq%2BJOKnWpN/D8v08JERqRbCCb1IhfWBmTW4oN4Z3Essac0pdubAzRvRRSCJLd25Uy5nW9klTU2LqZZm0N/ic2BM5R08pbb24NqVVC45wKS4XMrEK5Vd6fEjKbZnFt%2BU20%2BM7TwWgMy0UYrVWqqwT5mHkLjk9QlrpmGW3VLO9R68TW9RNCQ46gdDGsJNvOwN%2B7g1aDBWGA4w8b3cJ5Y20t7cmGcO4TqKmtM60kajmeoMF7JThvriBhjzb9nMZYRbdjMTrYwaqgLRoaYmKVEEP1XJqHb6EBLBolWWjLbkOCPo86E1bVKZU5gZChgLNEYPhLYRQRcL7izJBlYNmkbEAIMzAwnlVAmaYAeLZyw%2BIxXFEzHzB5kIOf816pgwjGTHQi3W9T7naAvxkSZO684Lj9VGA4UY9FfzDCvGwY1Ks7oAEl5rYG2JgAuBWDMXVMVjKaSQWBMEqMYwzl1jMYEccTFVZWKsNe1nlqJNXGQQCawgFrbXvPdci3gJmuXPSl3brKAAqvNeaebXjBD0xAbgXBRgZbEJILStXu6aH29wamWZqYXa4FwZC53LtcGu09%2B7FFbsTnu8hCbU2zMzawJF5BG08vSP5ul%2BiEwmDZZQheREep1jIENcVr1pqqtI/OKgZA%2BiY7x2ERKSoipjG48wPj6uPWjYqq0YN3ChOokY8R5JQnbNydzZC5gdOHiVvrc2z%2Bnbio9v3cO/RY7IAUII6x4L6m6BHsvfQB9zQX2HshmZ8hEnQP2GE7B1RG1OVYr4G3ljK1tqbVmJYFZ9kFqjF2qc8sYHv7teVRItBWC84WCWpXNbhZHwzfWrDqNWxqsHEW4xFb3ykWdFKIgNb8xgfg91vt97IZwdhnIVXdJR3o4DpORcvhrG7lMzGO8oCIvfkmkZ964GQxdaZwrhtHaB0ToXSahtF6BsTJ3XCHegiBw%2BgmqmjQ8SDDB9GlLPblwOtjSWLt3BWgqtELy%2B2Un4Yaf%2BzeFZW4VxCX2Op9q8Q7GCAmweXP2X58KJPKF%2Bfu2FW5fY%2B18YU3wzyXo%2B9/xwP0fwwhNItIqiev/Cj/t9DIS9yd38kUT9bdf1f8H90Yn9sdF9X9MBQDDBUBwCVUs1Mwokb8IDGlP0Z8w1sDfEbJMC100Cdg8No8Ncj4QRZg0V1UupTU%2BoBoPcWp2t6tbUJsQ9lh%2BtKsTdht25qtOwxsJtZcuA9h3sa9/gvoxY/VVggs0wFs8sRCrsrk5dW5pdzslc08BVC8wUfIwUAoJCCR0NFxSEkQExUQ50T1eMyMl0%2BMrYblaNZD5MCAFDPQlCXsmAND9tkIIAyERBghPQ6NP9hNNlOMrD3F01qM%2BMqMHCI1OUnDgteFFDW4J8PCvDvsDI/CAiE4fFy1/1ItRglBUASQkjAjM8rAHJDolo6sjNA4OD7UTZuCad0I%2BD9kBDathCUjiB9s5sy9BUbCVVi8rkGU60OwMCBiHVJCmBpC51BAkcWBXD/tntpc1CVD1DPtvDW4AA2KtWXHYvQ7gHYgwiA/ENkVaViTcTUYHEYGQgjT3KJaCZyeiY6XYkMPQxfSLfEQkIfEw3cZDNsCpANbjAY6wijUfATIJVYOY1gRY9w6mTwjYjIw4jtEIgo8InjZdSjCE%2BI0YaEhY0opY%2B7K7BExXTY5ElfVEzjIokoxbRxCAxPcoywHTAGR6Zg6gzg16IGaPFfAo1kjtXkrksAzjPk5AlLKcAYYYMYCYWCaYWYSvYjLKBVTjRUyZCAgvRzQYsvEgwMYhBmDU%2BYGRIcRITw2gzDCBYMBgN8CAJo3gso%2BUg%2BYMc6KJbAHkO6UYvyIINSatEYtUvyQYFWduMAGQT7IMutHYb0T0KAJ09uA8AgbHWk5%2BVQMAMAduF0u6PNLdOZebE6dcDOQM4MxXIMrbbpT00kDlI9FYf0%2BnGkTdXBdsJmKs5M/MjQosn9UsrMG9BPTAHYBQY6BMrsqg2EBQMs2gmTLTbJTrWKaYy0608rHgnePLDkx03M/ZNM90mEKc5aCYk2aORDKJWgLgAADjrQ622FLN/1PO4QSEx2xwgHV1BRJwPw61QMDHDLyyjJXMzljPjMXO4SbP2VDJDKkG2MOLGiTJTNXNdIzK6RLOHKmU3I7LiMY32XOgrLFCZgQohVoGW32XVx/VeHPPbhzImm4SnJvKgFLJkgMhJyOXH3lRAKZmfMiz7RWFLPgqkJuwAwAoLPMFDPpPYTYtHNSzNIYRVNWi4Dz1Gl1J2C8zNzOlQAYCX3tPCS2G2E/FX0zj/1UqvMAIgHUtsgfP3wWw3zRKBJvB40RCrn0p%2BG6Nox/XUvguQs0ugOvMZ0xkUvosfOMqxBfJNntwcqEqnHHKNKVhDD0CVn0XVNLwlBsmipvD1I5MDhCqXHCv6X2UzO6XEuOn0uQirSoqyr0r1NyoClyo8mKp0OsqjT5n4sHNSsZPHJ0ymmIBKKSuNLamNOwjYNLLivUsSvzz8jQEUqiVSu0OrV4HaqVkIK7AgK4z1guBBMGu8UGo1Lmo3SqpVVeG9xhG9SiUSAP0mCIFAncpwrLkcDuiHLUlUDFzWw2xEJSN8u3XQuOqrhGryvwpWBGuLR7gcvGSmUGqcqiwYDQvRkUswHeuWBGq7m%2BoZluR7kWp1FerZRE0zm9V7Wg2EssAaoYPQEBkGlatCvlwaIPlmvUosoZm8XQEMGsvDAcrsvWp/Vxt8MMC%2Bp4B%2BtCIgPZFZMpqhtZphp7QgJYvzi5uZvN2FK5O5uADFKoixt6kEAQBEFGDWDxqxmSrag5NmrSsiLdBeqpr1J%2BE8LpoPgyp6X6phDv0znIO4Suzal1pkuBptUdmGsMB5oRJHA5p3Q%2BEICdpZtduBvxGqgNEGEikhGhBkNeAlqmVdqdp5s7Tdo2o%2BuduACmVjqiUdj9pOADu%2BhJVDp/Upp9oBrzsVR4FjuBsLuToBsIDRtSzHKwxVlVqeNckDlPLVmmjiteLkv8gr0p0DBtNpJG0EPd06P21sq4DZwJJOsjB52gvjuWDkJcMFy4FxRSV3CaSPAKzUJu1JIyPqPdtnucKZn2wAHFDwgx0I3p/wEhzphzYQvowprxUrggh8xcejga56D77sdhYzqQYJBgQBjh9Ar6BJmbkAnhpg8BDARgRBDg4gGBoGt5vQ1ItQ4dCtgAtQH6fjDgSRKhEpMGOdbgEY6rETR7gbEt0FmK6yVgO79KolLTBACTItVbUrMDUrJIyrO6vN9LTKU14qNLKYbLyarK9aaaYbDaoMZ6Jyzzr6YUpCZz%2Bzd6W7mrBpUrkJuqeHItOauTKKq651qTBo5GVV7c6rAqqJgwEh4IOTa82IyEnpV6JggZdx/w8MqEFJawDw1JbwSAZDBByDyhKgIBzAHr%2B1VBSsiwTxUNLJycgxNQLosBdw0BYnPpYpdRNRL6EGHBkGmhJjTZnQY4iBGgnoRBm4Ed7QyEWAgyo46gmoPp0pTIImaKPl/wmGNNMAGBRhbjTaQx%2Bj9kXstiTyOnF99zGUsm/ghhlQhY5xKgfYATsVVB5pb6UHSIHBdoNw1I9QRhTIkhCn/J5K0JWAMosnSszoIolRVhr7yY1Jdw9QbRgA8lu8zJFI6xyUO8x1pmIw7ogYLhcbQQAd5t7R/xWBVmLhYViQkRzh2mpKy9cDunjyZr7EXV24ME%2BnQ44EAWvp5r40ABODFqTLJxaaYu513BQa8EkfZk2fGlKtq9uBu46fbLB/Bo1OqjI14j4ww2cN3ZCR%2B4IfoNPOCI1QMO4lqFcduR43PVhnQy5cqpfGa9EkEzE2gcwRlWI%2BuWs8RuWhWpW3w409Rj2mEF2GpBNeR2atNPhjNF64022la1pUR7pY27ZLa5o4lduT6ou2teRza/Wf3XCQiYa81nm118R14PVvZTOF3Xl6PQqQsNPYOePeRwWxuN%2BheoNl7QwA88YEAMXDJtgRZtQnOIh2SGNV4Xw0QbIzfSGL8E4EanK8GzI4twIxZ7Vu3F1TYFtccNF7Rk2Gcb0d5aJ8m/oUQKHKWf8CdOcC4NSECYgBRVqdqTqE2aCfqAScN4aFI%2Bdm49aF%2BiAlkwUq0T4%2B2LtqJ6kXt/to6O54doCMd00Cd16Khad8F3CByI6dZ4VggI6Beld7mq0ddlVfEWUcmm4NqMEJcXKA3ReW5od9SM9w8C9hRP9h9s1N6G9g5rAYp5CP900Ze3URSsEY9pcO8HQYlk%2B1qBIUCKphwID%2BKEDnspIfNg%2BfEZydCbSD6fqYjusYIWKPiQge0RqJJv9qgQpjc5sEkAl3l/Ds%2BqhW%2BoIAMMlj1qxM3H1yalm7tOO/l6Tn3LGb1p131pOrtb9KT5F1T0adWB4yEfXcjiAWD8PMIsyiIk1qIs1yaxfbEq2hYRRRI5Y8YTYot/wutnm/In4G2Fz%2BQhe9I4h6VqzjEim81hz9dRwpOAL%2BetzlInwrIut9WSk8MfzhNy7Ihnd04c4f9tSQwWZw8IMzUJQL6EER0GQzdwaWDyLHGrmrVgcimIZ4mGRKQGSBgaQamKQUgFgaQcwHr1AaQO7OIiYUQcQbILwWgHrggfr9rmSUCEALgU%2BLYrYgAFnMGpnMC8GpjW7mEPMPNoGpkYGkDW56766kAG9ICG6kB68EBAHMFIFm8u/a9IDgFgCQDQDiEGDyzIAoExm%2B9%2B5AGADmFkFIEWymcoGCDm9IDVBa2IH6GkGm9IC%2B8qDTB5FtER5e9ICwASDYE9Bh/wGeUAVJBh9vi4mhEkCkGR/FBaZh9ggqDm465yRQA5UYBCHu8gBkk7EXnu6kC1B5FkG1ASHEAKCHA6n6GYGI8fj4k%2BGpgPLu/G4kDoA666/O5h5u8%2BEPK2K1HW54mQBVjmEMCF4gFwEIC/DkHoFUFxUB89Esqm%2B4RG/4Bm6Z5kkammIREoAW5ADW%2BphTcPIxf24xa4G29kAxbW5exO6kDO9641%2BkDu4e6e6Z7e5gEQBQHIR%2B7t/IEoC%2B8z895B7B4h4RHu4gGh%2Bx7h/0Cx%2BR9R8ZAIAx7tEJ45xyQJ%2Bx6J/xX4lJ%2Bx/J%2BSTvCR569p86%2Bx4Z7iGT%2BYDYFZ5vXZ%2BCE564Wu8GF5%2BkAF6F61BF9Qo8Ql6l8wEV7EGV%2BSyj%2B69j%2Bx81%2B1917W/18N%2BN4MjN7ydblkCt5t7z/t9kFHut45Rd5e%2BflIEW9kFkBTbW62NoBbFNuWxZblwC2IYtjug/GPhdyu43cE%2Bj3Z7gN0/6D8uA6vI/vHyT4f8ZIAkZqolB95AA%3D%3D%3D https://godbolt.org/#z:OYLghAFBqd5QCxAYwPYBMCmBRdBLAF1QCcAaP...