Modern-CPP-Programming/htmls/21.Optimization_II.html
Nitin Bansal f1f39b2bbb adding html's (#60)
Co-authored-by: Nitin Bansal <nitin@192.168.1.5>
2024-02-03 23:44:36 -08:00

2242 lines
1.4 MiB
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!-- Created by pdf2htmlEX (https://github.com/pdf2htmlEX/pdf2htmlEX) -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8"/>
<meta name="generator" content="pdf2htmlEX"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<style type="text/css">
/*!
* Base CSS for pdf2htmlEX
* Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com>
* https://github.com/pdf2htmlEX/pdf2htmlEX/blob/master/share/LICENSE
*/#sidebar{position:absolute;top:0;left:0;bottom:0;width:250px;padding:0;margin:0;overflow:auto}#page-container{position:absolute;top:0;left:0;margin:0;padding:0;border:0}@media screen{#sidebar.opened+#page-container{left:250px}#page-container{bottom:0;right:0;overflow:auto}.loading-indicator{display:none}.loading-indicator.active{display:block;position:absolute;width:64px;height:64px;top:50%;left:50%;margin-top:-32px;margin-left:-32px}.loading-indicator img{position:absolute;top:0;left:0;bottom:0;right:0}}@media print{@page{margin:0}html{margin:0}body{margin:0;-webkit-print-color-adjust:exact}#sidebar{display:none}#page-container{width:auto;height:auto;overflow:visible;background-color:transparent}.d{display:none}}.pf{position:relative;background-color:white;overflow:hidden;margin:0;border:0}.pc{position:absolute;border:0;padding:0;margin:0;top:0;left:0;width:100%;height:100%;overflow:hidden;display:block;transform-origin:0 0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0}.pc.opened{display:block}.bf{position:absolute;border:0;margin:0;top:0;bottom:0;width:100%;height:100%;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}.bi{position:absolute;border:0;margin:0;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}@media print{.pf{margin:0;box-shadow:none;page-break-after:always;page-break-inside:avoid}@-moz-document url-prefix(){.pf{overflow:visible;border:1px solid #fff}.pc{overflow:visible}}}.c{position:absolute;border:0;padding:0;margin:0;overflow:hidden;display:block}.t{position:absolute;white-space:pre;font-size:1px;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:0 100%;unicode-bidi:bidi-override;-moz-font-feature-settings:"liga" 0}.t:after{content:''}.t:before{content:'';display:inline-block}.t span{position:relative;unicode-bidi:bidi-override}._{display:inline-block;color:transparent;z-index:-1}::selection{background:rgba(127,255,255,0.4)}::-moz-selection{background:rgba(127,255,255,0.4)}.pi{display:none}.d{position:absolute;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:0 100%}.it{border:0;background-color:rgba(255,255,255,0.0)}.ir:hover{cursor:pointer}</style>
<style type="text/css">
/*!
* Fancy styles for pdf2htmlEX
* Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com>
* https://github.com/pdf2htmlEX/pdf2htmlEX/blob/master/share/LICENSE
*/@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes swing{0{transform:rotate(0)}10%{transform:rotate(0)}90%{transform:rotate(720deg)}100%{transform:rotate(720deg)}}@-webkit-keyframes swing{0{-webkit-transform:rotate(0)}10%{-webkit-transform:rotate(0)}90%{-webkit-transform:rotate(720deg)}100%{-webkit-transform:rotate(720deg)}}@media screen{#sidebar{background-color:#2f3236;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0IiBoZWlnaHQ9IjQiPgo8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjNDAzYzNmIj48L3JlY3Q+CjxwYXRoIGQ9Ik0wIDBMNCA0Wk00IDBMMCA0WiIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2U9IiMxZTI5MmQiPjwvcGF0aD4KPC9zdmc+")}#outline{font-family:Georgia,Times,"Times New Roman",serif;font-size:13px;margin:2em 1em}#outline ul{padding:0}#outline li{list-style-type:none;margin:1em 0}#outline li>ul{margin-left:1em}#outline a,#outline a:visited,#outline a:hover,#outline a:active{line-height:1.2;color:#e8e8e8;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;display:block;overflow:hidden;outline:0}#outline a:hover{color:#0cf}#page-container{background-color:#9e9e9e;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjUiPgo8cmVjdCB3aWR0aD0iNSIgaGVpZ2h0PSI1IiBmaWxsPSIjOWU5ZTllIj48L3JlY3Q+CjxwYXRoIGQ9Ik0wIDVMNSAwWk02IDRMNCA2Wk0tMSAxTDEgLTFaIiBzdHJva2U9IiM4ODgiIHN0cm9rZS13aWR0aD0iMSI+PC9wYXRoPgo8L3N2Zz4=");-webkit-transition:left 500ms;transition:left 500ms}.pf{margin:13px auto;box-shadow:1px 1px 3px 1px #333;border-collapse:separate}.pc.opened{-webkit-animation:fadein 100ms;animation:fadein 100ms}.loading-indicator.active{-webkit-animation:swing 1.5s ease-in-out .01s infinite alternate none;animation:swing 1.5s ease-in-out .01s infinite alternate none}.checked{background:no-repeat url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3goQDSYgDiGofgAAAslJREFUOMvtlM9LFGEYx7/vvOPM6ywuuyPFihWFBUsdNnA6KLIh+QPx4KWExULdHQ/9A9EfUodYmATDYg/iRewQzklFWxcEBcGgEplDkDtI6sw4PzrIbrOuedBb9MALD7zv+3m+z4/3Bf7bZS2bzQIAcrmcMDExcTeXy10DAFVVAQDksgFUVZ1ljD3yfd+0LOuFpmnvVVW9GHhkZAQcxwkNDQ2FSCQyRMgJxnVdy7KstKZpn7nwha6urqqfTqfPBAJAuVymlNLXoigOhfd5nmeiKL5TVTV+lmIKwAOA7u5u6Lped2BsbOwjY6yf4zgQQkAIAcedaPR9H67r3uYBQFEUFItFtLe332lpaVkUBOHK3t5eRtf1DwAwODiIubk5DA8PM8bYW1EU+wEgCIJqsCAIQAiB7/u253k2BQDDMJBKpa4mEon5eDx+UxAESJL0uK2t7XosFlvSdf0QAEmlUnlRFJ9Waho2Qghc1/U9z3uWz+eX+Wr+lL6SZfleEAQIggA8z6OpqSknimIvYyybSCReMsZ6TislhCAIAti2Dc/zejVNWwCAavN8339j27YbTg0AGGM3WltbP4WhlRWq6Q/btrs1TVsYHx+vNgqKoqBUKn2NRqPFxsbGJzzP05puUlpt0ukyOI6z7zjOwNTU1OLo6CgmJyf/gA3DgKIoWF1d/cIY24/FYgOU0pp0z/Ityzo8Pj5OTk9PbwHA+vp6zWghDC+VSiuRSOQgGo32UErJ38CO42wdHR09LBQK3zKZDDY2NupmFmF4R0cHVlZWlmRZ/iVJUn9FeWWcCCE4ODjYtG27Z2Zm5juAOmgdGAB2d3cBADs7O8uSJN2SZfl+WKlpmpumaT6Yn58vn/fs6XmbhmHMNjc3tzDGFI7jYJrm5vb29sDa2trPC/9aiqJUy5pOp4f6+vqeJ5PJBAB0dnZe/t8NBajx/z37Df5OGX8d13xzAAAAAElFTkSuQmCC)}}</style>
<style type="text/css">
.ff0{font-family:sans-serif;visibility:hidden;}
@font-face{font-family:ff1;src:url('data:application/font-woff;base64,d09GRgABAAAAAC9AABAAAAAAViwAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAvJAAAABoAAAAcnt++ZUdERUYAAC8IAAAAHAAAAB4AJwBRT1MvMgAAAeAAAABDAAAAVlcVnGZjbWFwAAAC+AAAAN0AAAGi18MHhWN2dCAAAAtoAAAAMgAAAEoFPBFmZnBnbQAAA9gAAAbyAAAOFZ42EsxnYXNwAAAvAAAAAAgAAAAIAAAAEGdseWYAAAw0AAAgPwAAPWRy3MzwaGVhZAAAAWwAAAA0AAAANiaiQlVoaGVhAAABoAAAACAAAAAkBqADNGhtdHgAAAIkAAAA0wAAASyhQA78bG9jYQAAC5wAAACYAAAAmPCD//ZtYXhwAAABwAAAACAAAAAgAXMCH25hbWUAACx0AAABywAAAx6dYsUycG9zdAAALkAAAAC+AAABAfHyRm5wcmVwAAAKzAAAAJoAAACyar3WqHicY2BkYGBgYmSzuPKqNp7f5iuDPPMLoAjDw/v11jD6/87/bMzfmN4BuRwMTCBRAJVpDst4nGNgZGBgevefjYGBhf//zv+Xmb8xAEVQgDcAoGIG2QABAAAASwBqAAQAAAAAAAIAJgBRAI0AAABwAWIAAAAAeJxjYGTcw7SHgZWBgakLSDMw9EBoxgcMhoxMQFEGDmYGGGB2YECAgDTXFCCl8JuZ6d1/NqDKdwy/gHxGkBwAEmMMZAB4nDWOvQ4BURCFz9xVEgXFIlYUBIVkFTR7Oxo/iQrJ6vYBNKJSiU7rAVQqL6DyDmrb0yslnHtxky8z59w5mREX9smImLrASk6YEK2q6DozaGlhSj9pKj3jD0nzR4lU/trOxGiQUF2gnTzrhkQITS8DzNWLukd9/XpEcza0RPCZrdmZGIVEGq468D+FuvJ5y4O7fFTkjZKM4XFnjjrg7W3x3meVQY+9diIExrf3MWczS+aPzO2RtZkn8uoOl9VQlBv/tijLztLh3Z7qf3HW8D5s1S++AHicY2BgYGaAYBkGRgYQmAPkMYL5LAwNYFoAKMLDoMigz2DOYMXgxuDJEMAQzhDFUMWwmWHnb+b//4GqFBg0GAyBso4MHgzeDEFA2USGTUBZhv///z/+f/f/nf+3/l/5f/n/pf8X/5//f/L/pP+9rO5QG3ECRjYGuBJGJiDBhK4A6HQWCJOVjZ2Dk4ubh4GXj19AUEiYgUEEIiEqJi4hKcUgLcMgKyevoKjEoKyiqqauwcCgCZHX0tbR1dM3MDQyNjE1M7ewtLK2sbWzd3B0csbvOKoAD09CKgAdXy8EAAAAeJytV2tbG8cVntUNjAEDkrCbdd1RxqIuO5JJ6zjEVhyyy6I4SlKBcbvrNO0uEu79kvRGr+n9ovyZs6J96nzLT8t7ZlYKOOA+fZ7yQeedmXfmXOfMQkJLEg+jMJay90Qs7vao8uBRRLdcuhEnj+XoYUSFZvrRrJgVg4E6cBsNEjGJQG2PhSOCxG+Ro0kmj1tU0KqhGi0qajk8Ltbqwg+oGsgk8bNCLfCzZjGgQrB/JGleAQTpkEr9o3GhUMAx1Di82uDZ8WLd8a9KQOWPq04Va4pEPzqMx6tOwSgsaSp6VA8i1kerQZATXDmU9HGfSmuPxjechSAchFQJowYVm/HeOxHI7iiS1O9jagts2mS0Gccys2xYdANT+UjSBq9vMPPjfiQRjVEqaa4fJZiRvDbH6Daj24mbxHHsIlo0HwxI7EUkekxuYOz26Bqja730yZIYMONJWRzE8TCNyfHiOPcglkP4o/y4RWUtYUGpmcKnmaAf0YzyaVb5yAC2JC2qmHAjEnKYzRz4khfZXdeaz79USMIBldcbWAzkSI6gK9soNxGh3Sjpu+leHKm4EUvaehBhzeW45Ka0aEbThcAbi4JN8yyGylcoF+WnVDh4TM4AhtDMeosuaMnWLsKtkjiQfAJtJTFTkm1j7ZweX1gUQeivN6aFc1GfLqR5e4rjwYQAricyHKmUk2qCLVxOCEkXRk6sRGpVum1VLJyzna5jl3A/de3kpkVtHDpemBfFEFpc1YjXUcSXdFYohDRMt1u0pEGVki4Fb/ABAMgQLfFoD6Mlk69lHLRkgiIRgwE003KQyFEiaRlha9GK7u1HWWm4HV+nhUN11KKq7u1GvQd20m1gvmrmazoTK8HDKFtZCchJfVr2+MqhtPzsEv8s4YecVeSi2OxHGYcP/vojZBhql9YbCtsm2LXrvAU3mWdieNKF/V3Mnk7WOSnMhKgqxCsgcW/sOI7JVl2LTBTC/YhWlC9DWkT5LeBiJyjFGmYS2PCfK1ccsSyqwvd9jkQNhmAtq8169KHnPo+4rcLZuteiyzpzWF5B4Fl+TmdFls/prMTS1VmZ5VWdVVh+XmczLK/pbJblF3R2gaWn1SQRVEkQciXb5LzL16ZF+sTi6nTxPbvYOrG4Nl183y5KLeiSd57D7Ou/ra/s6En/GvBPwq7n4R9LBf9YXod/LJvwj+Ua/GP5RfjH8gb8Y/kl+MdyHf6xbGvZMZV7U0PtlUSi+zlJYHKL29jm4t3QdNOjm7iYL+BOdOU5aVXppuIO/0yGy95/eZLrbLEScunRC+tZ2amHEboje/mVE+E5j3NLyxeN5S/iNMsJP6sT9/dMW3herP5L8N/2PbWZ3XLq7OttxAMOnG0/bk262aKXdPtyp0Wb/42KCh+A/jJSJFabsi273BsQ2vujUVd10UwivIBov3iaNh2nXkOE76CJrdJl0Eroq01Dy+aFTxcD73DUVlJ2Rjjz7mmabNvzqILbkLMlJdxctnaj45IsS/e4tFZ+Lva55c6heyuzQ+0kVAmevrcJtz37PJWCZKiojNcVy6UgdYETbnlP70lhGh4CtYMcK2jY4adrLjBacN4ZSpRtrhVcYiSjjIIrf+ZUnMhGNNmIIn7zlvqpLhRCZxILidnyWh4L1UGYXpku0ZxZ31FdVspZvDcNITtjI01iP2rLDl52tj6flGxXngqqNDG6f/IjxibxrGrPs6W45F89YUkwSVfCXzpPuzxJ8Rb6R5ujuEOXg6jv4nGVnbidbTg13NvXTq3uuf1Tq/6Ze5+1I9B0x3uWwm1Nd70RbOMag1PnUpHQNm1gR2hc5vpcs5FP8aXmW9e5QBWuTxs3z56/o7M5PDqTLf9jSXf/X1XMPnEf6yi0qhP10ohzO7towHe8SVRex+iu11B5XHJvpiG4jxDU7bXHZwlueLVNt3HL3zhnvofjnFqVXgJ+U9PLEG9xFEOEW+7gBZ5E623NBU1vAX5Vj4XYAegDOAx29dgxM3sAZuYBc7oA+8xh8JA5DL7GHAZf18fohQFQBOQYFOtjx849ArJz7zDPYfQN5hn0LvMM+ibzDPoW6wwBEtbJIGWdDA5YJ4MBc14HGDKHwSFzGDxmDoNvG7u2gb5j7GL0XWMXo+8Zuxh939jF6AfGLkY/NHYx+pGxi9GPEePONIE/MSPaAnzPwtcA3+egm5GP0U/x1uacn1nInJ8bjpNzfoHNr0xP/aUZmR1HFvKOX1nI9F/jnJzwGwuZ8FsLmfA7cO9Nz/u9GRn6BxYy/Q8WMv2P2JkT/mQhE/5sIRP+Au6r0/P+akaG/jcLmf53C5n+D+zMCf+0kAkjC5nwoR5fNJ+4VHHHpUIxxH9PaIOx79HsIRWv948mj3XrE9bVA/cAAHicY/DewXAiKGIjI2Nf5AbGnRwMHAzJBRsZ2J02M0gxMWiBWFvlWfg5mLggbGUmcTYwm9NpNwcDCwMDEwM3kMfttJvBAQhBvJ0MzAwMLhtVGDsCIzY4dESA+CkuGzVA/B0cDBABBpdI6Y3qIKFdHA0MjCwOHckhMAkQ2KrIJMjGxKe1g/F/6waW3o1MDC6bWVPYGFxcAJvyK4cAAHicY2DACTqB0JvBm2kzAwPTNsbbDAz/jZm2/X8FYv//+t+YQQICmc4wygOxEABuaA6uAAAAAAAAAAAAAAAAAFoAlADOAUABeAHKAeoCGAJEAqgDJgP2BFYFMgXiBiAGegbeB14H0ggiCIII0gkmCVQJpgnkCmYKtAsoC3oL9AyqDPANSA2YDhwOcg8SD6wQBhCWEPIRhhJcErgTIBOWFAAULhSyFRoVWBXqFlQWqhcUF3gX7Bg8GLYZGhmEGdwaNhqgGtwbrhyoHXgesnicpXsJlGRVmea9b4/txfKW2Jf3Ys2IXCJjzcqszIzakoSqTKqoNaGwSIqlsgBZBhGwxQQBsdV26ekeEUcRwW66RyyUqhpOH1tF9Ija7Uzb3R5pbWF6nHEUSxg2QSuY/973YsvKAuw5pyoy3l3y/fv//f+9iRh0E0LoNeYECqECmtl+LL3zQEuDIXwIYawsIJZllhHDBJjF6HrjGrO4dKJem2pwYqSkqIImyriEzVGcH8V1+FdrTOGK7lcFGMxNY+tRe00QsaiOuyQRYx6LjsBCwKHG0jEVPuIK87nCvalnVAlzPPvXofhXq15BOL0a1bRoOqrpEYTRvjcE/E7mFEoif0uGZ3wXUHbThgojhkq89a58zl9rNGcwvC+BNVWUWU3Vgzp+p9sb8Hq8X1856HHJAadDEqK5sci5U+5fOzhefgRXP/36opvDgsBKqZnrvnDkxI/mPYRtNA3v3EvfGWh5u++MheuMGCxlVaHDeL3WnGHrNSDAZh5euveMtwEVPrf366933saJxsx1Dx05/qNzPTwlhL5zK87gZ+GdG9BUa6KUZViuOZqO+AUBsbLEYMTuQByLuSUes/CEWbSCOA4vI8zhXflcMZ8zBTFWwqqQNsdwkv7M1RuzWKRfarOYElmtJPEYJj91TfDiJv2iejEQ/qyh+vyXxbikriVZHLs8IKuGcdfdqbMM48eCad/B9yuBSCTgZ95/0JcOplzFotNYf9iW64fYCLOCFDTcGrLYEXjG5ufKHj+wWEGBgGEGDFGMlpCaNvyqWfcbZq1q+GsVzW+wkXr7hT3t5+t17NuDvTjT/e6r19vPI/q+/W/8OXoavR9F0cL2Yy6wdj+MYnQ9GDN5Ew7gxajlBj6y/O7+8TVDGl5cWjpeD9VZMVxqgsQ6JkAMr9ln7087apLkdTsdolNgXWzYIaoLihRV5N1uHpSf8EopCYZUUVQpjW70DTyOHUhEyVaMAeoQ3g8/MDpEZs+HNSLix1kwPKTCG2tTGI+Xv1Uufws75ucJj7CC8OhFBYsVF7I2owACLrpPGlpceqxO3aa5xkWflhRKD6VTsh86fvALsEkvCrU0CTHwu3Z03SGXIb8LqyK2LKyJiTHhXwjtL7mSgZCAd5EfzJOS9/fvMcN+ycveZYYtveyAjx8z30dhdOtxCTMs3rH9mA6kRxCLGLBvYtrBBTANoP0SmxOLuQhYDXdXZ9ngirNOEtaXIHggeGEoY5jGOLGqDFgVEacfyK9VZxjiCxA+/FX843L738rlxbGx8vDIvO6TdVVj5+bn5xnOM49DPlkO+OTT/wX4GAU+TgEfw+jm40EMr7P5iAMFHGa4VRAYuwzxM7gAHHWVYrES7S5iEZHBSv+Ss89SZk5O5gLFCg9cQDQCNoguZ3EDQlHaFGkEaNiuLWMIVl5cbVaCuoZPqbH2wzHV+bVLJxr7UrxDdFQCzca+o7dnM1nHBHvnA1trolYm4VdSnN9fubC281rF3dpSGv7AoeJCISuVmfdizpEmOhx945f4VeB9E/pVyzWLWQ7vEEEE2y0JjCCB53iBSIAF6plVxCFwd3YF8by4jEQRJMIwaBkYCnUlUjpjE5i+IPIr3c0DW0b+kC1RItTyW69GiFmy9zBo1xLYjWvIzAcbZtaUxAQVN/F6It2gXq3MMCBz25maEArAivqUAF4xw4JVQT4SExi/euMfTV1VdQsi5zzvsDEUEPKzw+BqTFLRYq5kfHhPVRJEKSZ60yPn5MLDs8Opq7ec872Vm0tFxzaXc04rFhJbtohqQGcxUCt7cjPFwrkud8EhsHoqpvFqesvoVVP+JURoT8KHALk+hbLo/OMmcEesk4hZB8/gSMzl0FGwTUjwdsRbb4LEvZZsGEbWyKYn0lVTtIyuBInWjiJpi3uFJmAdHKii5/1pgWWEYLioxmJx5dm4Iv2rpAbOjanFqPbfsHz/d2LKCknwK3okrHnxvV5Ji7avV1W8r9x+msaILNjXKaB/EuvHG5gVCfUOoH6Y5A2wtlXqFsxtoEKWE0F1gsAfAutS1hiWCntG1+7prWVZao7qOub4h75p5A/aQw1y6GzLiR2iy7u7BPB5YopmvpkeMgt9pgjwo2uLbG2UBdOTQSOjTB0wUdWggEhmQFs0OJ96362F+dG0N+sURGHkHYmi5sJYdEeUVsbp1z2yT9QjWNeDLCNp/ifTuWsO//SWW4PJdIjlpj3uA0qonJxJlUPKlF9kJNWHK7GAz+/3ePzipz1/hKjddeKCiZroyeNJLPCdqJhHAGpYGtJYmlMhBvA8twyRDcQPQGdQ/NnucgA/ENFXzrZ45O0tpgI3z1gnIPh3eXc5TyTdcuby2bRWyIhinOI9Imm+7iPijGM1beZzVM4iCJWpjXJpU9DUBENUgF/VM5NXl3eU0z4HxqlszeHmnYncpSmXwA3t+uaHMef0x9TKiBDIxbREwMU9t2VfYVNyeH7DniED36w6A9mo6Nsbq5y31D7VSpaDEeeF27LNZtwR1sesuPsyyPck+He4pYMQmUNgUWBWlMG5CYpPICkzLEELNAA10yIQbGV7vkLikPT3XHk0rrCh4sHZh+caohYdmsUxRWWZOyPO9un21/J6JFZ7343/eY5Ee4/hxQE/0S3FGvi7gAeS6MD2Y/H++kGldcIhu36wVKgAvRBYAdr1TZ05SgoLqCzq9YpdWQygk7UFRR9a6X3Dl3aH2lf3YRgGFeHjyxBHYiiDdrWcKQiEMoQ4xg6GGg/RDiMOH6ERD6KflX/XGSeZt+WJx+OZeKZZUcYFIDZLpTyGDZEQWSdRkKFlSFDR82wunwaQzXw53zCCLrP9q7w8nsnzPxTDAfmAHAiLP+SfOSQKWIrNR6Oh5CXXFqKihzmoqiyrqqcf9HwPh9V45oJ/BBGz6CLg47PARxTl0Ai67XjEjuguijdYBAUUdyVBq0QZfuJZa/DGGYuUgUVvNm8BKIeRHR/eVidlRlaVWQI7SJAh7PKQDEQ9X4M4Q5xAsb4wnx2aWGzE26diqhZ9xRveUGpkwtvnjv3Ffe+6UQ7XMvHYI7d9/L4nqjvyQV6LMvtiKsSiaHYqO7ngiz+6/EPs0cbaP7/9N3bt8DJzN/ME6HOl5VQgARahZiRaHALeMuDWPMvwq4jnWJ67rS/CAGwa8P6BZZ0g0FsEbGrZjJ7LWmyK1PdJ6UTxFGAo+jyKSYr3kajbpEhLY+4WpkqFc05edPDgxccnLqxLCuPi2ezOyjsbzWbzms2ZfEVg3JMSZ7pdF1706JcvutCncs6rnKyZaG1q/37TrNuTZ1xgr0TPPwE9e1GiV6P3NMKyPY2tM040dcIoWJ6ELWxoZ4KgLkJ+KGE/0RDzk09/sf1bohcsfWnvto/x4ZEDM6u3T+8fDfN432f+q6WOlf33lyZ3jmdOv2KM7Zi0sDuhbzfzFUAVu85iV/63sCv/gF21HOMZA1zfknc/wXqcMJBPawYBsjCjzdICn9kNKPYIpf2DcSWS+tU4FqNaMNx+7RP3aYqPwldmd0zVI5LhZR9XozHl7xiG1YNd+mtAfwJts+gPwSBJvlfCNHcITMFPpBlggfT1pzR2celkvZoxKAC3aaRgu4eKOixoTC2S/B+lXxD6fqHGqpTqW+IK8x4g7VuEtN/1yO3S97eg/zTa1NG+FYiuhMofColehDpz3JJnValXlY48LWIMf48sEkTj2LA7Fhrzt0BWXGl/06YOvuNpOlQmAA07269QCvcRCk+dol0ZQudB+PwNtdO+ujO40F930qcz684OEdpveq8s995hy+Cr8LtNNNlymmEJUDqUQ3bE9oBCmOAC7sih75laf73eoNZvMZ9nRW3Na/2Y/ARIzjNf9SkbTd8z16oxkxBiAu+btey06W6/FlcdGh5e+cseYe3ncFnVnK5Xu3rSgUYdVTstBMoxwLtuQTo4RKg7nq5XSIbus3SLpmYlAXlQB8t+yBbJaz5NYvrkcvpnnOTzuOx3szfBuxvo8MlSSCLlgI2xAhzuIPqupXTMCLMk665aK/rM6Ixxu8SsT0U7JaYlv7QgsjIL2JJmtkGTgnwXrDa6RQB7kxqLgjTdU6uiV/elfLpXvHGbC8MoYW93xb+6ScCODXe6UqE9tqkx/PCftL/tC4gMIwZ8OP7w6Onfddgfaj/5YKjwx3hrzLvGTwzUOBESmbdvH41B+8BrGcFVf59rXFzR2r/ukA0PWMGUM6C4wGinX+wQWDj9K8ZjOQcDueqXEMO/D2g+g26xFKN1GklBGqsHoa5ix5mVwamR9aZoIgv1RsEUluw5lhasJxIh06Dh32ek/PAfECpvypCiE3xlhmN+0j7WfhTvxOf/KRY9sfzM4nQ+5hHxwMO+9n/EV+Ob2rdNGJtLzVQwaDRLm8xoLDM3OpUJhzNTY3PIzlW3gw4UwIPdaMohUkB2wV2vvFx/ihSYJ41MvWra0XQghhI9iKTCtrLW7Xfc8kk7aLx+850fai6959Z8M+Hn8L8ePfKTjiqOvrO1uf07bzCb6tD4ERpLSujdEE0w5pGN/wh0CiPyyGPSfWQPAWX+NX5zxoI+3znLXAculbZV1aoNl+xOObvG2ghyEpuEQcggDeYjbrdnyuP2ig9CSCoTNp/3RSZHmtnwZ5SJXXfcsaeekGWGcbpxsv1ah18seRKFTYUP5Y5NTDw7RXxjHOwvC/Y3g/7Gsr4MZGDMW3UmT+pMnu/0pc4oe821a1mKltZpvrzVSmqq+bMuOrPV4m7WK+NDeSVhCnaMNMfwqEC617TGrdRreXLcwBBANgP1VpCUt14sWBWZpupJnMBMdvXG884VBFlTVNnBeDmn4D5wKunNliulqdDE+AXzQ5ftUkQywflnLn73ROySxZXvXH9NkGEEyeF0ODhe2h9wn7+cS8oel9udDE8tbl7KywUnlOMw45veny0KeuBmGocKQP1jzDFgtmHJz09MwDaljumvGSM2f6KRrqYtlAYFe75rFiKYCal1LPTwmC8Q+A61+KcCAR/oexiww81BnWVP/5zqP8oCsJE6eRP0fj+19QWbFhZ3MtCg6tZMUE3JdteBTmFakmWbWStUAty3ewp2TQbIt9F9ZO7PT14wl29cfLBBU1dr975NaqwQV34+8456yqlVV7bj+2kKPXjBzgt24c/bZztReN83aAyvnghb7WWLbjeD+8FE75Hm0Klmw65yWdLaoH4FBtGpu4J2EcZ8g/+ZGPF7D5JS6xk+3/D6I+IDolr7gBgJePN55j7We/rzqgbVlsIc8rJRqLram7TJT+H/AINEtyFQ2itA3xY03XJOFBLefhwicywzkGj6BwidJ6dnGtMNK6r1U5qnebTzmO/RXW3MYot0vZtOWXhiX+Ee5IN+77zsD/JXaF7sVlcEeN7shecHuSETxoV9QxIU4eEDdCIcla4OQn4NHuVkxePUhph7efn0gwqpLBV8y8I5U+e0b9F0yvlBJU4Y//q9Fdeew3geWPdH21ftMUZ24z/2gZuQ2gv0dITaVbci6TUeBiuSM8Zpzs02ujnX7lY3cZonFmUbuiriLEVARwAB1WOqEx9Nt3+nwPsDCXwi5XO2P4lnfV5FtJrTugf/nvSoApFgKBLytAWONKxo/2nojZfx0/hfwC8n0F+2nAZmeQmLAmMDpBwCLbEcswpLBZERSF7llyEeqgtIFNEyHgj+xTdZDevIFprUo8TJ33yx1r+Y9PKaSt5MFzIVu5dn9Tiso5QZvtrtItNjO1piinWZ01Ta6MNPq7FsXGlcMbsrMdxqzMbkZP6ilsC7GNHpW9j/3Xu8sUY+mU/wshHWKLhSzz8wkRhP6C4Bp8dGtgiuCb8kianPPrAfMx5tKJYYxs5AjmKXlxkXrT9q6AFLZt4w5tiRYYbnnJDt2B3RgREMI0vWwigi9k+SIUkuKq3zqESjXYkm1y4hSJWu64ShdVZo/StIak2XcvVKnqTWjCrzIKQ11Q3JDQlOtPqhfioyxoUlb6o0N7xlFI8VSGoFAUqxrdk8hTwfwC61EK/mkmOpEd3F/NYMNwuVVLCS78Dv/+PQInqqUqgXk0Y9pqfbr+eD8YZh96pfxk+BzRWhXmkOYY6gAo7ZcZamhNrflDCLmaCZsYs1ou96zeozqN1GAznOTrCk0wBGoOOnJG3b3l//3/GN+ZCbhdSWqI3GizqESJdaTOyehREBbMqVfuFlOeByamWPK6ypsfFcIpqsJ0ITTk+e+gmh+UWq5wb6YEuOYo7JQp4WqYY76rRPrujxf586A33qXLOEegXP97xinRVa/wqizqFsbTQ9ULFaDVfiCJVgp1Jl6zkiDEsWMxi/CCkmojfOG9pUSHgg+Elyori5eF6NusY9qVGqSKrWVEx1gBeo0ckgaLAR8vnDDardfyOucfrVF5LBWMOYIXoNyH6rj50E+fwMdGqgPJppTalQY+EdJEdBBlgVsUCOVwDK9trM9lFflF00TTNv5jOZgplNS/RQHjK8keAsFVLlCvaxPHkWaTcJ/8zn97afx7wvUk7t2eISRI7lnMqOvTffectNV19+LVtoXiliDoJ2yByNq5NORzDllhyO3HtuufG2G96xZds9Vn8mAR/vZb6BhtBXrA5tBgYAfjDkMNI+eiMdA2ZZwFQfHBfgetjPXisQsAaxjF3p7equHHkbKzVY2Up1Xy0CZSJe6VtMl1iHGqpSNbKmQgIhERXFcjITx9WKCsC/A4zofYsqcQ+C+vB7seB2xEvBuJOtlstlUHpM9SnaxDcz8bCTuYacv8fcIZ98zXz7EZIz8AWM35/Z+RcC7wiQUin8RoXR8T+hKmT3RfSjlncEIlnezTBSBjtY4gJEeDUkgRdLDGGOB4mRYA4ugjrfQeGOQ8jhAKN3Oqkl6F0RVbp7WeRwso4rz/Y7+na2NiAkSiKSVt9kM8h4nb0gSt/ijvltuYI5nJ9LK36XmCzZhxVgcSRIampQt4sOGlvqtWYO/lGZWpYJIZPpnmY0SB/XlAFiV0FWHkEaqiWf2jnGaHKlnM9vy5XDgdevmypmtkSj408t1SenPQIr/piVk+Fy2Po88p4bfQH1Tz+B/8zDuXKbH4q42ZDmxoJLNyrGn0SV2cR0NH0gW9r5UDotKukj4WjcPVyhn+2vVVhdn6M2vRE+XoJYlUfzx5O4BxN1K7ZgbPtgtzBbb4JCsny9nh1sapA8K8Tx2h5RlaQQXcMvURwbMktb4IudNbAzee7owjarP6YUzC3TP+3rEp1Ss4UtCzSGNODzKeZz9Lzkxu3HonYfgMYJWgioHYhrWZvSvf8wMJVeM0VzB+XzjFFaevbOUtZ23Nbe/HiCug1lSlTi1USg0/gDfzlKuHkyHAyGFbuv8cbjb1TRM8BPFGrpG47ztiai1s0Nlsrav2BFeaDnUqBH7/JGqn+WsU7kB+cJbGDJrabV7pLe7NLSyXq9WTSIzoKqddFkBncP3zuM1dcw9syfjR12ibzASLG0FnUyNCf0OEx90ZC5mCJxAQgRHvwPhMF+VsHmtsHHC2BzBXSw5cwYUafII9pmi9N7RBSjEHgymA+7E71EuXaMqgg0tGGc6ztAkvGZfcqm1af0YhrwXsiU9YDnDikpqbEAUZoWVz4WzE6a3k89wvG67vD9lRgXj/RZ4sN3a5okf/R/Ci7Wyg2A49ET/3892z6LGezZgo+yOYink+iaE/XRvlpOI/UkvwwQnAQsDipOW14j609qtLNCxoVlyLOCjTs6c9YxOLgxOHIfdD7Tkdfza8gpFEvTaKexOerToXRx6+AXqxOs5Eem3+drXE09HRxCGTI2z/x07dfrCP+Vobhx+DB4vR2rQA4FdGggVgUoQCBNVrWvwzSyzoxmRbBu8KKW0+vLFt5eCANWyd2T9UIYYU5Uc9PZM2OYzY4cywXtGAY4iBEAB4kQw5KtWKeNqS70NySDVscxq1r4FbIIZ5JiJcES5C289OJLL96DBVnP13JBD4AAl1aaKeou/Oxzz71+KhIbjcTcnlh4LBpJmY2YrscaJrL6qDMA2/8JxQHNPNKSI4BRTdypQjoYlSBLFnfxKaGIhBcddyJPEtk4p78qGVw2Qpett8JmlywjzBM8c/k6C2nYbTlyZrpey9stP1KXrPXpBhEOoD16QRWyKilKksPbhreNdNJLRJ/ef/yeK6sZ0R9MXP+//XYd8jh1tuGYCiD2+QeM570et9/G8TP4RZBRDLLj4ZasgoziICOJ1mUWZ2tkZCHvhU70Nc42aw/SMyUTNJehCJ3vK1XJ7ZMBgF6z2nDVCgXncaV6bn1xKCT89x3DNADfFdGN666ofYIY3RNTmco59fgLW2jIbf/9txPh4INf6MYpfBnwlELbjwf7fIj2gfoS48jAmGYduXTSSzcdHi/UN1j9InJx9+x+cpkgN/fb4S0FLuIbHk7IHh5/SAHcvW3TiZ5/bMpVddHpp7SSOuHD4B8TqNGqCqQ62HGWZqva325LR4bTQcOylL4inxhFvdbtccKAdXus2+FMQDJggjr+8KOTze0eDAWgNLm0mIzqWWPYP/6VxjBWvAEXKQydE+fOxwwzFi0p5Y980h8KCOdwXmlbQ42KnCip3uGpj7oFQXLwUCI6x8YDIYfAi5q/BDypwNO7mAWUQ4c6NQTLsHcBghewKKzyIHEGAhaVtCDQVG2fr/cv4wj7WGTwSt8iEr3TRrpqmGkrehPWyB2y2lTnBrkN/Gmrwy6Y8Lu21+orarkc1KLJuLJULi+pSn4IErzASWOq7vvY6Xl6hLp7/rmxTEJ0+mIUNwIfL+Hvogy647hEEEbvlIzSDhHs0l7+Jozq9gwtY6Fev9QuY228SWYt9DUw2zeh9U8sEfSSrWf6w7Xd4xnspHZxCwnW4Chjl+4+X4uCA2lD1Sb1JBqoI3s3LuAYze3/MhSZq//a7qNGyH1a4DOM5k8onT5qfB2H6TiRdYW321u1Hi1nadZrneaqdX7a7axGMT3cwz/m3y2Pnzsuv5svhPSYyB8+LIYTWgE/wsvtjxaL+HqZj3lluf0PeDRo3XEOQTD5AdBXRbtbjmEj5OasNmq820Zdi6PoKGLuGmyu2gNWHswXmlNV2l1lrdMV8Ji82L2bn2c7ndTO1V7KAPnC/OAqKZTcGgjKAr9BwNyUI2TE/IGgcBT7PB41EZJ2ysUYJ+e0iMTt3eWMZBW/Fz/SXo0qQkD2/6CJx/7Z0FnQ1qrHwyiR9s9H71sWg16f3P5HbGYDjMfiGZO7UgW0s+XMxQJeie8x7bHC7SDPdLAPN/Y9W5ixMdHsYcZRPIYtXjuX+wm3SXLxt4Madfx0epicJl2xz+8LlTLOz/wnZ3pYUd37zpfkRCnt/PgDLl3HDufHViNOXXJ/8zGXpIveq6+SvLrD/eUnZKK7+BtValsjaOFkJozss+Y4PRmzb9Fa0IUEty6kB4eAlXeRdHlX38TSyckNaS3f7Ymzdhlq43ncbDRtewOnD9JL2ZbFfZ5Xi+eUtroY0cOKhhnOyJIofpXPRzKR4B4IssMF1pvTC/hLoqed82YbGZmdk7ycFosGw358v5uLRKt/U018/AYuSGI2MPY48BTt3WKz+9bqQD+7U3oxhFN85UCr+4xRS0e1Ws3WUdqg98HSotW4MMiNA7baJBfwHi+3v112v5T9uKJoZVyAr6P3qqqazRYDPlxnmIA/B9/a32NYK8cYOIkvo/fMR1sl66L52hvmRveGuYkWJ7NmscJL9nHq274dfplXfVXxih88p5CfCbKiIGTkfG5m4eJoJCrkuEveNZ7jvXijD5AH5xZunW0ky5vdUm5Yj+ycDI+GNT7KbscsryGb5gA+CjQ30MbWhjpmWAeImNlBeqEcz6723fQXliE/GN2cnUGLQ2ZWrw0ZohSnDQxy39o2kUbvuvUs4eLMy9YgZR0f/WJxIetwsGJ9fjgSG0nJPB/K+4NaamNW4HhB5V1hoxL788XD+N4PhCP8kCgUi7lCgXe5PAzL+IPZcGhYEEM8x3gUv/vKTWl6zRE1QQ976d8tlFoFB/3DhT4+jAXe/rsNooOMaQbMcUEi7T/qpOQvDQg6bnT/0KCC96b/Lp2eMLcm54pOn9fLVNK4pmk6bkjwkZJcDqn9KbCzBMTPL9Ge3g70z5bFFiVs99ZArlhc9mDSeHPxDOnsOQUaUt24v7dX6O4g02Ql6cP17+6tH3nb62mfL9ddChOwgrT6+jfZCwlE1ufnNs9unNzQrJRDncafTBtVb7Pxx599Yac1eJvdGkw42Vq5PN5tDT5JWoN4/IzZuPLk22gajq6Zhbrpl3Y3kfQTiY48oCPS65nDze3HQiDDKnI4kdOBVpHTiZelzilm5yvkHqgk3C6RJQEUwph9d5YoeLxvq7SMJMneid5sY5q2He2NsAjEv7Tefmsns9zbOfLv2Kkx9G8qOnRK8ENyrnQ2n20Lvcmup1KpudS2LZtbM8QKMqRh5aFmMNjHYdfUT7mzGkacdtnBMkwwC8ZDQRP9wFTD9OM75Q1dY/hcNBwg7QWR92/eyBwi+izQ04CHqWqPks/ygBlc8JDIOQJVwqQ5fQOy/dINOs9DZJA6l9x5gRVIgANouuzA5A+Z6OH/slNkiLKI5gPd2rTUXe5wBBfoHvQmW4h+hzpbyGznTwEHd/c2jLz9DRqmtzU69HDkb2WElbV77JVUiQDu6pWRIrCfMwvUmV1inP6Z2luoKE10pKxRLd66nnYEJWFs/G1Phfi76+iEuKYrOn1D+wp6j2yf1cTjiH7YWdsnW2gFX2p55aQTixKSRLQK5beEl/0C03VM+7vXwxAP87kDDo6oQOaZfudsDvwGYdkPpPZ7yZtsJyqc6G4nC4m3rP9r7P3Mct/+kX/3fuquje5WWAy7REFa6fySN9lI9W2mUpcfXr7k4EUH9l6w8/yF8+bntqZaqVmzkLEcWPlDHXg9s8h3H4Q3TwTs7Lo+/lR5glrRA5GgYvt3ypj6X/CNF0PZZGCqbC8gZvZoKqJLb+X8zz3Ec1KgRsJ/cvqGz8NPMWkmrh2ww11foJng/wGqLandAHiclVJNb9NAEH3rJhUcirgh9TSVOCRIXmwnh37cUjVFUdNWcVP16rROYiXyVrbbKGf+DvA/+AX8HZ7XSxFwwqudeTM783Zm1gDe4BsUmu/2BSu8Uu8c9tBSHxzeQVd9driFPfXd4TbeewcO72LPmzFStV7T+mKzaqzwVrUd9sgvDu9goj463MK++upwG5/UD4d3se8NcQqDR2xRIMMCS1QQRAi4evC5GnxE74xRggE05QgJ7rFi7gYldUZfghwP9kxjbKMu7XkTWUd0aOeWKeVNCdaY0zJW3tB3Rz1FjDNMKAXn1Ff0XNPqkhGn5nFbZItlJVEQ9Hyf8khmWxloGSX3K7MpV5kk+YOM9FjLpdnQmUnH5DJLl8l6LmYuN+mdTOOzSSznk6vpddwl7wULjm0DJUK2i4txnORlSDRgfWv2hYFZUw5tC5XVBQeW2nFp5giOuf9m8l8ImvMevb7d9WAj9Elp8mpoikUqkQ7kWH7d7dc30u6FfshOo/6/df5mxx9Z9W+Xsr6SY29G3tQY8D7BCXfFNSfTE7XhY2S2q/qJnsmsccgdcui4TYsy4wBZW9CXE6mqefJUmWWWV9J5DvWhDrv/UdhPyIKCkwB4nG2OXUvCABiFn3daBq2ZoWWCd6WGolPJVPBGcpaVH6XlV5cDvXEyN/ot/lodMuqmA4eH5+ocFA7Zbfngv7x4FRQCBDlF5QyNMOdEuCBKjEuuiHNNgiQ33JIiTYY7suTIU0CnSIky91R4oEqNOg0eaWHQ5olnOt7GK2906dFnwLv3ZMiIT74YM2HKjDnfokhAgnIkxxKSE9X5sfIbd23aS8vWnIVtmr+qWqs/CbmrpdHUdZ9FnyWf5T3vCSh4AAAAAQAB//8AD3icY2BkYGDgAWIxIGZiYARCLyBmAfMYAAbMAHl4nGNgYGBkAILbCvvfgeiH9+utYTQAU3EHngAA')format("woff");}.ff1{font-family:ff1;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff2;src:url('data:application/font-woff;base64,d09GRgABAAAAABaAABAAAAAAI/gAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAWZAAAABoAAAAcnt++ZUdERUYAABZIAAAAHAAAAB4AJwAeT1MvMgAAAeAAAABBAAAAVlTVYARjbWFwAAACgAAAAKkAAAGiWbtLZGN2dCAAAAqsAAAAIQAAADQJ6QRVZnBnbQAAAywAAAbwAAAOFZ42EcpnYXNwAAAWQAAAAAgAAAAIAAAAEGdseWYAAAsEAAAJGAAADNhErd2zaGVhZAAAAWwAAAAzAAAANiYYQwxoaGVhAAABoAAAAB4AAAAkBcYDT2htdHgAAAIkAAAAWgAAAGAwAwRTbG9jYQAACtAAAAAyAAAAMiIWHsRtYXhwAAABwAAAACAAAAAgASQA4m5hbWUAABQcAAAB5AAAA3thMAX+cG9zdAAAFgAAAABAAAAAUgI0AoRwcmVwAAAKHAAAAI8AAACnaEbInHicY2BkYGBgYmTL/sYsFc9v85VBnvkFUITh4f16azit9P8VMzPTQSCXg4EJJAoAT1kMBAB4nGNgZGBgOvj/FQMDsw8DEDAzMzAyoAIJAFiiAxwAAAABAAAAGABGAAIAAAAAAAIAGgA/AI0AAABiAFsAAAAAeJxjYGTSYZzAwMrAwNTFtIeBgaEHQjM+YDBkZAKKMrAyM8AAIwMSCEhzTQFSCgxVTAf/vwKqPMggBlMDAMBxCoUAAAB4nGOUYAADRl8QAUT2DFlMmgz5QOzELMTgwTiNwYjZh8GD6RmDJVMqgxKTP4MxUyGDLpMegzaTBIM2ox6DOtNrBn2gnDZTDVBODygXBcT+DCqM3xiMAQD2DH8AAHicY2BgYGaAYBkGRgYQmAPkMYL5LAwNYFoAKMLDoMCgx2DE4MzgyRDAkMiQxpDJUMBQxFDCUPX/P1AVSNYQLOsPlE0GyubCZP8//n/t/5X/R/7v/7/r/6r/K/8v/7/k/+L/i/7PhdqIEzCyMcCVMDIBCSZ0BRCnIwALAwMrG7ox7GCSA0xycqHLcjPw8PLxMwB9ycAgKCQswiDKIAaWEMfvODoBALb+JagAAAB4nK1Xa1sbxxWe1Q2MAQOSsJt13VHGoi47kknrOMRWHLLLojhKUoFxu+s07S4S7v2S9Eav6f2i/Jmzon3qfMtPy3tmVgo44D59nvJB552Zd+Zc58xCQksSD6MwlrL3RCzu9qjy4FFEt1y6ESeP5ehhRIVm+tGsmBWDgTpwGw0SMYlAbY+FI4LEb5GjSSaPW1TQqqEaLSpqOTwu1urCD6gayCTxs0It8LNmMaBCsH8kaV4BBOmQSv2jcaFQwDHUOLza4NnxYt3xr0pA5Y+rThVrikQ/OozHq07BKCxpKnpUDyLWR6tBkBNcOZT0cZ9Ka4/GN5yFIByEVAmjBhWb8d47EcjuKJLU72NqC2zaZLQZxzKzbFh0A1P5SNIGr28w8+N+JBGNUSpprh8lmJG8NsfoNqPbiZvEcewiWjQfDEjsRSR6TG5g7PboGqNrvfTJkhgw40lZHMTxMI3J8eI49yCWQ/ij/LhFZS1hQamZwqeZoB/RjPJpVvnIALYkLaqYcCMScpjNHPiSF9ld15rPv+CFAyqvN7AYyJEcQVe2UW4iQrtR0nfTvThScSOWtPUgwprLcclNadGMpguBNxYFm+ZZDJWvUC7KT6lw8JicARTQzHqLLmjJ1i7CrZI4kHwCbSUxU5JtY+2cHl9YFEHorzemhXNRny6keXuK48GEAK4nMhyplJNqgi1cTghJF0ZOrERqVbptVSycs52uY5dwP3Xt5KZFbRw6XpgXxRBaXNWI11HEl3RWKIQ0TLdbtKRBlZIuBW/wAQDIEC3xaA+jJZOvZRy0ZIIiEYMBNNNykMhRImkZYWvRiu7tR1lpuB1fp4VDddSiqu7tRr0HdtJtYL5q5ms6EyvBwyhbWUEKU5+WPb5yKC0/u8Q/S/ghZxW5KDb7Ucbhg7/+CBmG2qX1hsK2CXbtOm/BTeaZGJ50YX8Xs6eTdU4KMyGqCvEKSNwbO45jslXXIhOFcD+iFeXLkBZRfgtQnKAUa5hJYMN/rlxxxLKoCt/3ORI1GIK1rDbr0Yee+zzitgpn616LLuvMYXkFgWf5OZ0VWT6nsxJLV2dllld1VmH5eZ3NsLyms1mWX9DZBZaeVpNEUCVByJVsk/MuX5sW6ROLq9PF9+xi68Ti2nTxfbsotaBL3nkOs6//tr6yoyf9a8A/Cbueh38sFfxjeR3+sWzCP5Zr8I/lF+Efyxvwj+WX4B/LdfjHsq1lx1TuTQ21VxIZsAmByS1uY5uLd0PTTY9u4mK+gDvRleekVaWbijv8Mxkue//lSa6zxUrIpUcvrGdlpx5G6I7s5VdOhOc8zi0tXzSWv4jTLCf8rE7c3zNt4Xmx+i/Bf9v31GZ2y6mzr7cRDzhwtv24Nelmi17S7cudFm3+NyoqfAD6y0iRWG3Ktuxyb0Bo749GXdVFM4nwAqL94mnadJx6DRG+gya2SpdBK6GvNg0tmxc+XQy8w1FbSdkZ4cy7p2mybc+jCm5DzpaUcHPZ2o2OS7Is3ePSWvm52OeWO4furcwOtZNQJXj63ibc9uzzVAqSoaIyXlcsl4LUBU645T29J4VpeAjUDnKsoGGHn665wGjBeWcoUba5VnCJkYwyCq78mVNxIhvRZCOK+M1b6qe6UAidSSwkZstreSxUB2F6ZbpEc2Z9R3VZKWfx3jSE7IyNNIn9qC07eNnZ+nxSsl15KqjSxOj+yY8Ym8Szqj3PluKSf/WEJcEkXQl/6Tzt8iTFW+gfbY7iDl0Oor6Lx1V24na24dRwb187tbrn9k+t+mfufdaOQNMd71kKtzXd9UawjWsMTp1LRULbtIEdoXGZ63PNRj7Fl5pvXecCVbg+bdw8e/6Ozubw6Ey2/I8l3f1/VTH7xH2so9CqTtRLI87t7KIB3/EmUXkdo7teQ+Vxyb2ZhuA+QlC31x6fJbjh1Tbdxi1/45z5Ho5zalV6CfhNTS9DvMVRDBFuuYMXeBKttzUXNL0F+FU9FmIHoA/gMNjVY8fM7AGYmQfM6QLsM4fBQ+Yw+BpzGHxdH6MXBkARkGNQrI8dO/cIyM69wzyH0TeYZ9C7zDPom8wz6FusMwRIWCeDlHUyOGCdDAbMeR1gyBwGh8xh8Jg5DL5t7NoG+o6xi9F3jV2MvmfsYvR9YxejHxi7GP3Q2MXoR8YuRj9GjDvTBP7EjGgL8D0LXwN8n4NuRj5GP8Vbm3N+ZiFzfm44Ts75BTa/Mj31l2ZkdhxZyDt+ZSHTf41zcsJvLGTCby1kwu/AvTc97/dmZOgfWMj0P1jI9D9iZ074k4VM+LOFTPgLuK9Oz/urGRn63yxk+t8tZPo/sDMn/NNCJowsZMKHenzRfOJSxR2XCsUQ/z2hDca+R7OHVLzeP5o81q1PALgKA/R4nGPw3sFwIihiIyNjX+QGxp0cDBwMyQUbGdidNokzMmiBGJt5OBi5ICwRNjCLw2kXswMDIwM3kM3ptIsBwt7JwMzA4LJRhbEjMGKDQ0cEiJ/islEDxN/BwQARYHCJlN6oDhLaxdHAwMji0JEcApMAgc18bIx8WjsY/7duYOndyMTgspk1hY3BxQUAq0Yq9QB4nGNgwALCgFCSQZLp4P9XTEAAEoKyBf5/YmAAAHaGCEYAAAAAAAAAAAAAAAAAABwAXADAASIBYgGiAhACbgLQAxQDegPQBAQEaAS+BPwFTAXUBh4GbAAAeJx9Vn1sG2cdfn/vfbzns33xnX12HNtx7s4fSZw4iT+TJk29pu2Sxcmapg1rO+p11Za2tOsHGuoo2yI2pglpHUPsQ1s7NAQT1aYC05BAbEidtJWKwSQoaEiIP5AYGgi07i+kUZffe3aalA2ky5uz7+T3+T2/5/k9LwFymBByBVdGgrUAASD78QuDzAcNyjpzlZBsZ0qVwpXkQDI5MMuXJD4nQI7h8jZ9nnSS4dqgClSAukAomSGiIH6N4C0I9JAEaz+Y0XXT1mUWz1mZHlYuFiahrMtOuVAthE091A3jAG+nmv9KOUP9bHThKzV8t3/IEYSkLxCiLJasKca190IBX2v/zbh8gPvnyWRtXMPNoM5AFiRBllaISICKcIgIAt1PKI3MEUkijRYOXPMkn8uEQr26gmjSzCpVNkGlXMo4tswqRYQTkh07D+VS64NGmQYdUCxUK1X4IN48JbA/3Ds/VZgPCJ5o3NGZET+21Fgx+pNJpeZ5/OJu5tUuXDBU9pejB7buG81D0ox1CfHorfcdWbJGKz0JVvKcZp4Ft47p63+jl+lFMkwmamNeEMR+kGRaJ4Ioi4K8QmRJlKWHiCjCfopsam4pnNIOpLQ/YwZTNmOJXJpDzriII9VKIZyAVg3ZPDi2JpihbqFYqFQrpUmsg15+4dQz77//9LGlkhIQRB+TKeiP7Owa3zE52Lfx9lu69zwhA5VE/4d3ffvKc89e2T3n83T8I6AIsnLsIV//lod3bj+9bVD78rIkShRrKGAhB+grJEFytd5gBxVuE10pCCJ8SgZp207bVksGjs11UCnrpUwOymEk2MQWoBjCqIUDzpfud7pGu/Bau0M1GAnakTCS7t21qwkDd0IOsdMXiZckSbIWx47DfuJyJQirXPVmUrbIunKwRlSYlfIU2aHIDkU9UkH41VNP/pr/LQ/NLvb3LcwN5WcXc3076kOw+Mxvf/Psc7//3deXHp1OOdOPfm7vE7dnM3NnCO4/hss5rD+Oytr7uqZSOjP7w/D2O2pJtBUBRpZlEEWpga3T5gQkw1WlQedjtQSR8BmTxEOrr65/vrvmdaoWUubYCuvm2HNgcnbM/+LOcosRcsDpw1IEeu6pfT+OVjqdE8edzkoU7+DowSeXqWFtHb7H7nhmeKtlULg6e/ifq1y6rN5XN2PFZFTran7clSzGsDYba5uiQZIiWVKrbcyAIvtQLpTWQ0BmPKCg0xW6TGQ5MsckAdGThgitVqfT2XQ2lDUsM6QPq1gAtpyVC+XSEDgykg4RM4tlTArVIJdlJNgNxSFgdGo6erhsht+zxXBwsdcKW6ZHfklkqqa8qnb1//Lz+wQhGldKo7tVJRCCKH4CLaZ3wDmvEm5u6dLOX73qeqt4/WMapwHsCiJX0Vu9LW/dGBNtU0W4UG7ctv3Vyf3lpB1nnb/a9ioW0F4aGuuz3RW//86TL798ctdEVpVUkGWP6F/eaPRtzNtWfiIXnEI/cHP96NZTL/75xU1FX+d5ryL5d+9RuguNTZONQlLZU3edxbU1iMtGSkmAWMSp9aCjqNBAuIE511XtoVYuW6Zuc1dxoFa5JQynpYtspqULLhycYXTjmUPNv45EIiMQPfzE4kDxzrmY3x+bO1BKXTv4dDSQhJPJQPSFw18cvUVLNB9LaNNV5DKHOHS4jv8XavNEZDIT5RUfeD2Kx6vgmCIer+zhIlaAKcvSGkx1HUxccySXTVlJ3XAKGAi67mdJPoLXEEecPHC8CeDyLpoOF7grenRoleqJZtXF/mYw6hnfdW/Mv63SE432VLb5Y0eGJ9I6e+stXsMxrOH8zgkt8T2ndKnk/DSh6YNjhVZ2YC3wEdaSJptrmwgRKMbVCnItiVTC0CCiLIjLHsStNoiqBuYUbCJrEMYMNp9OObZuBW1eQMCL4OF/4C2aWbZWFXwUVcZ3NGL+qUoyGk1WpronTh9z63gNlnaNa4kfuDC/n9K4nNv4OdYsnwrYf/P/dN/Usfs97kxdt2ekara6XgR2/Hg5Eim3Vvz9DguOWx1R9675DasD9xnC/r6B+wyT8dqooykCyFAPuhbnxWNXGfZy1eD4It94eKi/L2OFdNsM68OcjJbBEUBWkO2swPRQ0Wx53oWEMzcSg0mM+lVo9I0D0sGRCPxcCSs/g+n0yNJ0ZOQB3Se9+oqsGg9whlp8nIXmoGHAu9B8vM6B12EXMiT5m3vhu5qEbzTPJANtnW5AeGkyVqt0m6qAAVW3Qb5NA5hh3FRyg/czMMfJhP183Bowb4etIJaRCnh4S23Ehn7PQnZdAS5+nFmglxwMqyrdMC2qHqX5jurCDpVOeRVZAnM6M7wEH9abDwZUL7zuaz7fxvsgi4LEmg9DH/+Ce5vPpxmcTx5MjnW5FbmRWziDOjMho51bbmzdnFpoCTpz7o/nzv7p7FJqfCwR37AhnRob3zA+liLXT5w9e+L4Sy/ds/nuAtJ4YPO2g9VotHqQrM4V+AR5ipAMGaz1fyqoAq2garSCyKmgwlD161PoZoEXwjLiWjXCJMAnR2cfi4wcOeKKvGPxyJJkjg5sjfmPDoyacP/Yju9g+1qt5eNm1/xAPBfREm9Gcm18yM0C4iuRrWS+NptFM44AVXB6K8ATZ4WoBBQV0KeSJDfIakddexhzaNZVBjfXJsbsARd/n8NFml6d3eUSHpA+w62tIyDrppFwhJ9KSsWCgOmKSdAqjtIFbzaxzQqr1KP2FPZERr5wmJf50e4H6qNOvyobHn84x3z+n4Tiw058kPnuyI9H2BbNtq1wOh/rjHt7LtxU/kIlN6X5hxJde/XOST/0JnNhH0ULvRbuTbRmVgpJycG/8YRTrA0H/FSYkQFPuYCTi48Cdzy1GdjPGRDmdSNt4xVwe+bwpGpngJlZOzvwIy8eMWguygo7coGuqpl9J2tWuwK5nSMsqsHfYXFfwdvT/FZPkMMN9sCRHm9h3/lWvuJyCXsU4/lqAAgSEBE7RIEn3IoMkojXQyjp9tDCxCV33YiCGImlLSNtMRbjEcDlXYU2IN4B5nJdhUu+5jd1D4Py6fnbxKgCdwdU1nz3q8VbLJ9w+bLoRRX8orb9vKgytTkWLlby5D+DeO0ceJytUstu00AUPeMmkZCAHRvE4iKxSCrZ2EkWfaibhrYoatrKaapuJ62dWEk8ke00yjfwIywQW/6Fr+F4bCGBgBUezb3nPuc+DOAlvkKh+u5+YoUX6m2NHbTUSY33EKjPNW7gldOqcRPvnLjGLeq/0VM1nlH6YqNKrPBaNWvs4Ll6X+M9TNWHGjewr77XuImPzpsat7DvfMIABmvskCHBDHMUEHTh8/Tg8lT4kNopvQSn8EiH0HjAgrFb5OQJdRopHq3Nw8h6XVl75Vl6tCmnNlPElzSWiCkZS2+puyefYIwzhKSCC/Jram4odZgRA7PeZclsXkjX93uuS3oo052cejLUDwuzzReJ6PRRht7IkyuzpTKRtkllGs31MhYTy210L5PxWTiWi/B6cjPuMO8lCw5ZyMo2MSBds62AjeNyFJqVTgd6nQcUy5Yy67ekYLKVJj+3fRWWZ5xiZGfoMVxwxPv39C71ESM2TKcZW/n3aHPtLaffRZ9PmLQ4N9kskq7ny5H8UpYbRrPNUmfU9wI34Fi6/X819fur+GO28t+NaM25u2pvVU8+6xEc8xY8MTNsyA03mtgplHt+4jseDngDbg53UZYn3AJr9/tyLEUR601h5klaSPsp8A68oPMfCv4BQ12cFHicbcNLCkBQAADA8ZxAUU4gCyuuIJ+y8ElWLuPiyNrUCD73pfQnf0eCWCKVKVRqjVanNxhNZovVZnc4H88sBrgAAQAB//8AD3icY2BkYGDgAWIxIGZiYARCcSBmAfMYAASbAEZ4nGNgYGBkAILbCvvfgeiH9+utYTQAU3EHngAA')format("woff");}.ff2{font-family:ff2;line-height:0.727000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff3;src:url('data:application/font-woff;base64,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')format("woff");}.ff3{font-family:ff3;line-height:0.704000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff4;src:url('data:application/font-woff;base64,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')format("woff");}.ff4{font-family:ff4;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff5;src:url('data:application/font-woff;base64,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')format("woff");}.ff5{font-family:ff5;line-height:0.915000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff6;src:url('data:application/font-woff;base64,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')format("woff");}.ff6{font-family:ff6;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff7;src:url('data:application/font-woff;base64,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')format("woff");}.ff7{font-family:ff7;line-height:0.923000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff8;src:url('data:application/font-woff;base64,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')format("woff");}.ff8{font-family:ff8;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff9;src:url('data:application/font-woff;base64,d09GRgABAAAAAATIAA0AAAAABtQAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAErAAAABoAAAAcnt++Z0dERUYAAASQAAAAGwAAAB4AJwALT1MvMgAAAaQAAABDAAAAVlZLXqpjbWFwAAAB/AAAAEsAAAFKAK0Ko2dhc3AAAASIAAAACAAAAAj//wADZ2x5ZgAAAlQAAABAAAAAQCG9w3BoZWFkAAABMAAAADMAAAA2JNNB1GhoZWEAAAFkAAAAIAAAACQExQFjaG10eAAAAegAAAAUAAAAFAU2ADdsb2NhAAACSAAAAAwAAAAMAAAAIG1heHAAAAGEAAAAHQAAACAASAAUbmFtZQAAApQAAAHQAAADBuBvx8Vwb3N0AAAEZAAAACEAAAAs/7H2NXicY2BkYGBgZmhOOjhlXTy/zVcGbuYXQBGGh/frbeC0+X82xj1M74BcDgYmkCgAibENawB4nGNgZGBgevefjYGB8QsDEDDuYUhhkGRABqwAaf8EK3icY2BkYGBgZRBkANEMDExAzAhmO4D5DAAEgABdAAAAeJxjYGT4xfiFgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMbMAAOMDEggIM01BUgpMMQwvfvPBlT5juEXTA0Aiy8NngAB9AAAAAAAAAFNAAAAAQAAAfQAN3icY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUGGL+/wfywfT/x/9XQNUDASMbA5zDyAQkmBhQASPECnIBCwV66QUAKqUJVAAAAAAAAAAAAAAAACAAAQA3/wYBvALuABAAAAUBJjU0NjMyFhcBFhUUBiMiAZH+qwUMCAkIBQFWBQwIDuIDrAwECAwKDvxUDAQIDAAAeJxtkcFq20AURa8UxxAIbb6gPLqywZbHciDIhEBQ8U6BxlDIUsiDLYgkI40jvOgXdNcP6fd0UfIj2fTOeLoI1IM1Z968ue++GQAf8AsBTr8ar54DfAwqzyGGwQ/PZ/gc/PY8wDC88HyOqzD2PGT8KzODwQVXf9wpywE+BZnnEJfBd89n+BL89Dxg/M3zOSS88jzEZZgiRYM9jmhRYosdDAQjFBhzniPhuMGEHENxJKR7VNAuv0DO/gQZZ8OzmjuWTjvP3FlTveBaM3p0yreuhmHNJWYcvRsR8yt0nBsqb3HH+rZqz7NWWfBIjc7VfeF3w8iKubXz++BOa1JKL2s80bmiFtJmf2zL7c7IqBjLPEluJhIrlch9pduyyGvJcrPTVW64eJZ1U5TaHGV0uzNmv5zN+r6P8qqLmnZ7N55IX5qdPOpOty96I6umNvKQV1rSbP00V7YeLVVs7UBb1qq9moZmLdfWTrU/GN1K1mx0y0DmWimZX3GhN+WB87++Vv4utLv9iB0J7+x9j6fIgjx1f/tKMa4pQnMr2tYSR0qW3iJhMZ/Op7GKr/FOCKcE4Jsz29FU497WvvrCVbfKwgTddmVTi1KLSKlY/q/zFyjVgnF4nGNgYmD4//Hrof9bGYwYsAFWIGZkYGJgZrAHANEWBdoAAAAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCFjAG8RgAA8oAMwB4nGNgYGBkAILbCvvfgeiH9+ttYDQAU3sHoAAA')format("woff");}.ff9{font-family:ff9;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffa;src:url('data:application/font-woff;base64,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')format("woff");}.ffa{font-family:ffa;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffb;src:url('data:application/font-woff;base64,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')format("woff");}.ffb{font-family:ffb;line-height:0.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffc;src:url('data:application/font-woff;base64,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')format("woff");}.ffc{font-family:ffc;line-height:0.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffd;src:url('data:application/font-woff;base64,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')format("woff");}.ffd{font-family:ffd;line-height:0.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffe;src:url('data:application/font-woff;base64,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')format("woff");}.ffe{font-family:ffe;line-height:0.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:fff;src:url('data:application/font-woff;base64,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')format("woff");}.fff{font-family:fff;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff10;src:url('data:application/font-woff;base64,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')format("woff");}.ff10{font-family:ff10;line-height:0.773000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff11;src:url('data:application/font-woff;base64,d09GRgABAAAAAATEAA0AAAAABzQAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEqAAAABoAAAAcnt++Z0dERUYAAASMAAAAGwAAAB4AJwALT1MvMgAAAaQAAABGAAAAVlQDXshjbWFwAAACAAAAAEYAAAFKAaMGKGdhc3AAAASEAAAACAAAAAj//wADZ2x5ZgAAAlQAAABSAAAAYKELuVhoZWFkAAABMAAAADMAAAA2JhhCFWhoZWEAAAFkAAAAIAAAACQEswOcaG10eAAAAewAAAAUAAAAFAWgAJxsb2NhAAACSAAAAAwAAAAMAAAAMG1heHAAAAGEAAAAHQAAACAASAAhbmFtZQAAAqgAAAG3AAADRagG+Ipwb3N0AAAEYAAAACEAAAAs/5n30XicY2BkYGBgYjhyZaLL/Xh+m68M3MwvgCIMD+/X28DpOf9/Ms1l/A3kcgDVAgEAr+YPFAB4nGNgZGBg/P3/JwMDsxUDEDDNZUhhkGRABqwAcsoEVHicY2BkYGBgZZBjANEMDExAzAhmO4D5DAAFxQBqAAAAeJxjYGScyziBgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMrMAAMIFhAEpLmmACkFhuuMv///ZGBg/M3ADuQzguQAXfcNcgAAARgAAAAAAAABTQAAAAEAAAM6AJx4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYFBiu//8P5IPp/4//60LVAwEjGwOcw8gEJJgYUAEjxIrhDACz5gnLAAAAAAAAAAAAAAAAADB4nGNgZJjz/yfTXMbfDLIMDCoibEr6jOxsSmom9ozqaqYmZkbyjOZmxkZiIvyM4kxzeUV4L18CEryXL/OC2Jd5OblAHCmE0BWoEESeAQAUVRetAAB4nK1Sy2rbQBQ9o9iGQvCyqywulEICkZClLJqsSkxiMJETpLhkO45lW9jWBEnBeNcPavJN/ZQcSUOgpWRVDbr33PdjBkAfr1Bovx/vWKGvvljsoKe+W3yAQL1Y3MFnp29xF31naHGP+p/0VJ1PlH41UTVWOFJdix0cqsDiA8zVyOIOTtVvi7s4cr5a3MOpE2MIgyfsUSDDEitUEATweUK4PC0+p3ZGL8ElPNIxNB6xZuwOJXlGnUaOeWPzEDVek8beetYex5TzJlPKShobLCiZht5T90A+RYIrxKSCEfktNXeUTpgRQ/O0L7LlqpLA90PXJT2X2V4uPRnrx7XZletMdD6XsRd5MjE7KjM5NrnM0pXeLMQs5D59kGlyFScyim+nd8kJ896w4YgNVWwr4ZhbtmjYXolvNEaRrlbJfjszm5JyPVVBl7p/TEyx1eTXzWhVwwsuMm3W6HF1ggv+H1VwOWbKmGfKmtFtRIgBLQN7BQHOWMTk1bUplqkEni8X8mdnbpwunze6oCEcuAMuJzj7eLS/C+PfCetHnNJc8hLbC2wnq5+I0JgWZcYVsyc/lP9T8Q0qTJO8AHicY2BiYPj/8dvu/3MZVBiwAVYgZmRgYmBm+AAAy9QGXwAAAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEIWMAbxGAADygAzAHicY2BgYGQAgtsK+9+B6If3621gNABTewegAAA=')format("woff");}.ff11{font-family:ff11;line-height:0.514000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff12;src:url('data:application/font-woff;base64,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')format("woff");}.ff12{font-family:ff12;line-height:0.687000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff13;src:url('data:application/font-woff;base64,d09GRgABAAAAAAS8AA0AAAAAByAAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEoAAAABoAAAAcnt++Z0dERUYAAASEAAAAGwAAAB4AJwALT1MvMgAAAaQAAABDAAAAVlRDXhVjbWFwAAAB/AAAAEsAAAFKAG0Kw2dhc3AAAAR8AAAACAAAAAj//wADZ2x5ZgAAAlQAAABMAAAATE204D9oZWFkAAABMAAAADMAAAA2JehCFWhoZWEAAAFkAAAAIAAAACQE7QNLaG10eAAAAegAAAAUAAAAFAVwAFNsb2NhAAACSAAAAAwAAAAMAAAAJm1heHAAAAGEAAAAHQAAACAASAAYbmFtZQAAAqAAAAG2AAADRdMyI7Zwb3N0AAAEWAAAACEAAAAs/373BHicY2BkYGBgYjiiHjYnNJ7f5isDN/MLoAjDw/v1NnA6+P8Npm1MMkAuB1AtEAAAb1cMywB4nGNgZGBgkvl/g4GBmYsBCJi2MaQwSDIgA1YAUVcDPnicY2BkYGBgZRBlANEMDExAzAhmO4D5DAAE5ABhAAAAeJxjYGRsZZzAwMrAwNTFtIdBkaEHRP/vYXzAYMjIBBRlYGVmgAFGBiQQkOaaAqQUGGyYZP7fAKqUYdCAqQEAMVALAQABGAAAAAAAAAFNAAAAAQAAAwoAU3icY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUGGz+/wfywfT/x/9PQNUDASMbA5zDyAQkmBhQASPEClyABY/cUAEABsUJNAAAAAAAAAAAAAAAACYAAQBT/9gCtgIcABQAAAUUBiMiJwEmNDcBNjMyFhUUBw0BFgK2DAgFDf3WExMCKg0FCAwT/fMCDRMUCAwHAQUJGgkBBQcMCAwK+PgKeJytUstq20AUPaPYhkLxMqssLpRCApGQpWySVYhJTEzkBDkO2Y5t2RZ2NEFWMN71g9p+Uz+lR6Oh0FKyigbde+77MQOgi59QaL6nP1ihq7447KGjLh0+QKR+ONzCodd1uI2u13e4Q/03eqrWJ0rfbVSNFY5U22EPn1Xk8AHmauBwC6fql8NtHHlfHe7g1EvRh8Er9iiRY4kVKggihDwxfJ4Gn1M7pZfgCgHpEBozrBm7w5Y8p06jwNzaAiTWa2TtjWftcUy5sJkyVtLYYEHJWPpI3TP5BGNcIyUVDMjvqXmgdMKM6JvXfZkvV5VEYRj7Pum5TPdyFchQz9Zmt13noou5DIMkkJHZUZnLsSlkmq30ZiFmIY/Zs0zG1+lYBun95GF8wrx3bDhhQxXbuiWtW8vZdo+j4y5JdLW6rfQmn/Uo11OVeLFOGJnyRZPf2NEqy0suMrNrDBgvuOD/XgWfY2aMeaNOM7qJiGnz7V9fQYQzFjFFdWPKZSZREMqF/N2Zn2bLt40uaYh7fo/Lic7eH+3fwvh/wvoRZzRvGdhcYDNZ/USExqzc5lwxewpj+ZiKvwGev5BsAAB4nGNgYmD4//Hb7v9NDBoM2AArEDMyMDEwM8gDAMfWBXcAAAAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCFjAG8RgAA8oAMwB4nGNgYGBkAILbCvvfgeiH9+ttYDQAU3sHoAAA')format("woff");}.ff13{font-family:ff13;line-height:0.580000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff14;src:url('data:application/font-woff;base64,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')format("woff");}.ff14{font-family:ff14;line-height:0.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff15;src:url('data:application/font-woff;base64,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')format("woff");}.ff15{font-family:ff15;line-height:0.846000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff16;src:url('data:application/font-woff;base64,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')format("woff");}.ff16{font-family:ff16;line-height:0.481000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff17;src:url('data:application/font-woff;base64,d09GRgABAAAAAAU8AA0AAAAAB8QAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFIAAAABoAAAAcnt++aUdERUYAAAUEAAAAHAAAAB4AJwAMT1MvMgAAAaQAAABEAAAAVlRrgkdjbWFwAAACAAAAAEcAAAFSIaspMGdhc3AAAAT8AAAACAAAAAj//wADZ2x5ZgAAAlgAAACzAAAAyHlFGHBoZWFkAAABMAAAADEAAAA2JuFCF2hoZWEAAAFkAAAAIAAAACQF5ARiaG10eAAAAegAAAAYAAAAGA2MAHJsb2NhAAACSAAAAA4AAAAOAGQALG1heHAAAAGEAAAAHQAAACAASQApbmFtZQAAAwwAAAG3AAADRaoI+oxwb3N0AAAExAAAADYAAABBON2473icY2BkYGBgYjgSIZN3Jp7f5isDN/MLoAjDw/v1tnDa8v8X5pNMIC4HA5gCAHnxDQcAAAB4nGNgZGBgYvj/hYGBhYUBCJhPMqQwSDIgAzYAUiEDTnicY2BkYGBgY1BjANEMDExAzAhmO4D5DAAGqABzAAAAeJxjYGTezjiBgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMrMAAOMQJwA4wSkuaYAKQUlGyaG/19AKhl4oGoYAFBOC38BGAAAAAAAAAFNAAAEBAAABAQAOQMfADl4nGNgYGBmgGAZBkYGEPAB8hjBfBYGAyDNAYRMQFpBcZKSzf//CNb/x/eK7p6E6gIDRjYGOJcRpIeJARUwQqwazgAAbDoMHgAAAAAAAAAAAAAAACwAZAAAeJxjYGSw/P+F+SQTA4M0AwODCDsfIzubNqOSqZm5opKJsaKauok1o5G4HKM480nOoEIBJi4hHqmyP79FRZlZy6R4hLiYBAqDGJkEWKQaQ7n4+kK1Qvv4uEIbpRiA5jI0MD1lLGFQZWBgFGFTVlJT12NUVuJjZgeyTU3MjI3EgMYaG9kxmwPZTE/j/PT9TIw8NfgU1BXEmZh4+TEEGAP8mgwMdLXZRZWs1SSUkTkMAKdOIiwAeJytUk1L41AUPS+2BWHoclYuLgwDCiakiRtdDRYtFFMlsYPbV5u2oW2eJJHS3fyg0d/kT5mT5DEwIq4mj9x77vfHewD6eIVC+/38ixX66pvFDnrqh8UHCNSLxR18dfoWd9F3hhb3qP9FT9U5pPS7iaqxwpHqWuzgiwosPsBcjSzu4FS9WdzFkfPd4h5OnRhDGDxhjwIZllihgiCAzxPC5WnxObUzegku4ZGOofGINWN3KMkz6jRyzBubh6jxmjT21rP2OKacN5lSVtLYYEHJNPSeugfyKRJcISYVjMhvqbmjdMKMGJqnfZEtV5UEvh+6Lum5zPZy6clYP67NrlxnovO5jL3Ik4nZUZnJsclllq70ZiFmIffpg0yTqziRUXw7vUtOmPeGDUdsqGJbCcfcskXD9koOjpso0tUq2W9nZlNSrqcq6FL3j4kptpr8uhmtanjBRabNGj2uTnDB/7MKLsdMGfNMWTO6jQgxoGVgryDAGYuYvLo2xTKVwPPlQv7tzI3T5fNGFzSEA3fA5QRnn4/2vjA+Tlg/4pTmkpfYXmA7Wf1EhMa0KDOumD35ofyfin8AMFiTxAB4nGNgYmD4//Hb7v8TGNQYsAE2IGZkYGJgZmRiZOZKLCrKLy/KTM8oYS/OzM3MSSwCAIHyDLcAAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEJWIGYB8xgAA9UANHicY2BgYGQAgtsK+9+B6If3621hNABThQeiAAA=')format("woff");}.ff17{font-family:ff17;line-height:0.524000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff18;src:url('data:application/font-woff;base64,d09GRgABAAAAAA/4ABAAAAAAGggAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAP3AAAABoAAAAcnt++aUdERUYAAA/AAAAAHAAAAB4AJwART1MvMgAAAeQAAABDAAAAVlWDXo5jbWFwAAACVAAAAG0AAAFyGFkIdGN2dCAAAApEAAAAGwAAACgBNwFBZnBnbQAAAsQAAAbwAAAOFZ42EcpnYXNwAAAPuAAAAAgAAAAIAAAAEGdseWYAAAp4AAADPAAAA9jPehcEaGVhZAAAAWwAAAAzAAAANiWpQk1oaGVhAAABoAAAACEAAAAkBYIB6WhtdHgAAAIoAAAALAAAACwQoQGYbG9jYQAACmAAAAAYAAAAGANGBD5tYXhwAAABxAAAACAAAAAgAQ4AzW5hbWUAAA20AAAB2AAAAzNiLpbBcG9zdAAAD4wAAAArAAAAOABaATpwcmVwAAAJtAAAAI4AAACnZUC/nHicY2BkYGBgYmTLe9z3K57f5iuDPPMLoAjDw/v1tnCa6b8R0xambUAuBwMTSBQAhfoNMAB4nGNgZGBg2vbfCEiuZ2D4P5NpC0MKgygDMuAGAINNBW4AAAAAAQAAAAsASAADAAAAAAACABQANgCNAAAAXgBNAAAAAHicY2BkPM44gYGVgYGpi2kPgyxDD4j+P5fxAYMhIxNQlIGVmQEGGBmQQECaawqQUmAoYtr23wiochvDOZgaAFq/DLoAARgAAAAAAAABTQAAAAEAAAKvAB0CTQBfAckAPgICAAICEwBRAgIAOAFfAFN4nGNgYGBmgGAZBkYGEMgB8hjBfBaGACAtAIQgeQUGRwY3hlSGdIZ8hqL//1FE8kAi/x//P/x///+F/xf8n/V/BtQ0FMDIxgAXZmQCEkzoCiBOwQtYQAQrfjVsDOwQBgcnAwMXIRPpCgBrIhXeAAAAeJytV2tbG8cVntUNjAEDkrCbdd1RxqIuO5JJ6zjEVhyyy6I4SlKBcbvrNO0uEu79kvRGr+n9ovyZs6J96nzLT8t7ZlYKOOA+fZ7yQeedmXfmXOfMQkJLEg+jMJay90Qs7vao8uBRRLdcuhEnj+XoYUSFZvrRrJgVg4E6cBsNEjGJQG2PhSOCxG+Ro0kmj1tU0KqhGi0qajk8Ltbqwg+oGsgk8bNCLfCzZjGgQrB/JGleAQTpkEr9o3GhUMAx1Di82uDZ8WLd8a9KQOWPq04Va4pEPzqMx6tOwSgsaSp6VA8i1kerQZATXDmU9HGfSmuPxjechSAchFQJowYVm/HeOxHI7iiS1O9jagts2mS0Gccys2xYdANT+UjSBq9vMPPjfiQRjVEqaa4fJZiRvDbH6Daj24mbxHHsIlo0HwxI7EUkekxuYOz26Bqja730yZIYMONJWRzE8TCNyfHiOPcglkP4o/y4RWUtYUGpmcKnmaAf0YzyaVb5yAC2JC2qmHAjEnKYzRz4khfZXdeaz7/ghQMqrzewGMiRHEFXtlFuIkK7UdJ30704UnEjlrT1IMKay3HJTWnRjKYLgTcWBZvmWQyVr1Auyk+pcPCYnAEU0Mx6iy5oydYuwq2SOJB8Am0lMVOSbWPtnB5fWBRB6K83poVzUZ8upHl7iuPBhACuJzIcqZSTaoItXE4ISRdGTqxEalW6bVUsnLOdrmOXcD917eSmRW0cOl6YF8UQWlzViNdRxJd0ViiENEy3W7SkQZWSLgVv8AEAyBAt8WgPoyWTr2UctGSCIhGDATTTcpDIUSJpGWFr0Yru7UdZabgdX6eFQ3XUoqru7Ua9B3bSbWC+auZrOhMrwcMoW1lBClOflj2+cigtP7vEP0v4IWcVuSg2+1HG4YO//ggZhtql9YbCtgl27TpvwU3mmRiedGF/F7Onk3VOCjMhqgrxCkjcGzuOY7JV1yIThXA/ohXly5AWUX4LUJygFGuYSWDDf65cccSyqArf9zkSNRiCtaw269GHnvs84rYKZ+teiy7rzGF5BYFn+TmdFVk+p7MSS1dnZZZXdVZh+XmdzbC8prNZll/Q2QWWnlaTRFAlQciVbJPzLl+bFukTi6vTxffsYuvE4tp08X27KLWgS955DrOv/7a+sqMn/WvAPwm7nod/LBX8Y3kd/rFswj+Wa/CP5RfhH8sb8I/ll+Afy3X4x7KtZcdU7k0NtVcSGbAJgcktbmObi3dD002PbuJivoA70ZXnpFWlm4o7/DMZLnv/5Umus8VKyKVHL6xnZaceRuiO7OVXToTnPM4tLV80lr+I0ywn/KxO3N8zbeF5sfovwX/b99Rmdsups6+3EQ84cLb9uDXpZote0u3LnRZt/jcqKnwA+stIkVhtyrbscm9AaO+PRl3VRTOJ8AKi/eJp2nSceg0RvoMmtkqXQSuhrzYNLZsXPl0MvMNRW0nZGeHMu6dpsm3PowpuQ86WlHBz2dqNjkuyLN3j0lr5udjnljuH7q3MDrWTUCV4+t4m3Pbs81QKkqGiMl5XLJeC1AVOuOU9vSeFaXgI1A5yrKBhh5+uucBowXlnKFG2uVZwiZGMMgqu/JlTcSIb0WQjivjNW+qnulAInUksJGbLa3ksVAdhemW6RHNmfUd1WSln8d40hOyMjTSJ/agtO3jZ2fp8UrJdeSqo0sTo/smPGJvEs6o9z5bikn/1hCXBJF0Jf+k87fIkxVvoH22O4g5dDqK+i8dVduJ2tuHUcG9fO7W65/ZPrfpn7n3WjkDTHe9ZCrc13fVGsI1rDE6dS0VC27SBHaFxmetzzUY+xZeab13nAlW4Pm3cPHv+js7m8OhMtvyPJd39f1Ux+8R9rKPQqk7USyPO7eyiAd/xJlF5HaO7XkPlccm9mYbgPkJQt9cenyW44dU23cYtf+Oc+R6Oc2pVegn4TU0vQ7zFUQwRbrmDF3gSrbc1FzS9BfhVPRZiB6AP4DDY1WPHzOwBmJkHzOkC7DOHwUPmMPgacxh8XR+jFwZAEZBjUKyPHTv3CMjOvcM8h9E3mGfQu8wz6JvMM+hbrDMESFgng5R1MjhgnQwGzHkdYMgcBofMYfCYOQy+bezaBvqOsYvRd41djL5n7GL0fWMXox8Yuxj90NjF6EfGLkY/Row70wT+xIxoC/A9C18DfJ+DbkY+Rj/FW5tzfmYhc35uOE7O+QU2vzI99ZdmZHYcWcg7fmUh03+Nc3LCbyxkwm8tZMLvwL03Pe/3ZmToH1jI9D9YyPQ/YmdO+JOFTPizhUz4C7ivTs/7qxkZ+t8sZPrfLWT6P7AzJ/zTQiaMLGTCh3p80XziUsUdlwrFEP89oQ3Gvkezh1S83j+aPNatTwC4CgP0eJw1yb0NwjAUBOB7OAHzo0ipaZFAmcKy3FGBKJI6GSAj0CC5gVn8cON4ArYCjMVV393hGPA6t0z06BxNEhL9yFjoZ01oEvympFVWLX6SOgoFwvrrpY7IniAAwzuyp9Yp26Y+GD6kHiTyANNteZ+mKK+gQtn+8j9SfCWoagK9b6648wzGl8McxnwAo1Qq4wAAeJxjYMABnBicGM8yMPw3Yjz7/+t/IwAmowZ3AAAAAAAAAAAAAAAAMABaAKQBNgF+AbYB7HicTVNLbxtVFD7n3PHcsR3bMx7bSeM0ycz4UeIkpGNn3DRgnCYmfThugiFp1Dw8NGraSmy6qISEBAvKAlSkCgE7RFV1T9U2bCGbqAKWCAn4CxUbsnU442TBSHc095yr757vMUBwGoAe0h5IiECpfiaMisAmCEXcD6ECCAreIgRIQEvTtIgWMQxDV+VgyXKKlnSwHCV6eMPp/nHvKn6/cWrq5cEB7XWbeKf7DfCDsM34z+kZRMGqD4PCJQV2uU4CaReESIgWQxpTIZktoVN0pCUt4ZgWPWm/sitYjXVfzne+wn36gA7nugeMRFA7OsR/8DdIQham666KCNhUMcTgIQZXFOEzcnwJEMkHoiS1TNPMmtlizrF1yTflLTVTdqtSdexCtYZltz8jvUlybFXin9392FytvRpeW9vaSae+Xdt0Bhto2iP6ZHvgr0ZnunH28xudL668MZVz+8MLbsBTAB25dBEPYBzOwSIs1S+PsXYOkIQYohxBjZQmi4wk8bbKgio+66vwjETaNmhaYgnC4d7cumi93fByTnI8s1C0InKkhAXHlikeMY6OXVSlOovusOAdD+9Vj1ePhFeWXiEgEbDzTGZUQltNoJpxPWoMTdRQ6OH4vQW3GBPR8xvp3IXXBrS+r3+62xe/mAxH8gNRbnqFldVfomOF3Fxf7z0YGpoe1rfsyZAq2x/t4KdKiELjE/Od04ZRIT07U5y5ulytnxktTeZf9+Y7o6OPK+WzVV7dX/uHI8LSdXusFGRhhbNgs0YpWHyhs2fYvPLDxPK1epI/ha9g4NlJ2LL1UxzCIIyfcFPxIdDqpLf+o22YBT1IjOWYNez5lkDHZPZlV+LP7ZogoeeHKo2+SruzlLi0+cBGO5a0Uvq18//i/mLzO/aM4NzRIRU5R1Hoh5H6EFuBPt/GpggBPh9JQiuXy9kK5z0faH8sc+b/IlMy/Whr4046/Xhz++ZNY3525pZhvPXm7O7f/mf339958OX6ynvvvrOycZ35t1mEp8w/ArMvtF5oj/kbwTQ+/xDUy2wCmX6Ct3yc4PZxZX0vaZh6MAnG8YRsFR8tfmhMLHcup1bv4se42fwd969vEfwHCz2g7XiclVLNbtpAEP6WAFWlKjn12GgOOYAiW7bhkJ9boiQVChDhgHI1iQEL4k1sE8Qr9FmiHPsofYQ+Rz+vV5XKrV7tzLezM7PfzBjAPj6gUH2Tv1jhk/pqcQ1NdWzxHo7VD4vrOFC/LG7gqOZZ3MRBbU1PVf/M07uJKrHCvmpYXMMX9c3iPUxUYHEdh+qnxQ18V78tbuKwNsYlNF6wRYYEcyxQQBDA4+rA4arwKa1Tegku4FL2EOERS8ZukFMntEVI8WTuXPSN18DcV56lR4vn1GSK+VKEFWY8aSPvaXugHiPEFUaUghvqIS13PLWZEZf6ZZsl80Uhged1HIfyVKZbuXClFz0u9SZfJhKlT9Jz+64M9IbGRFo6lWm8iFYz0TO5jx9kHF6NQrkZDcd3YZt5b0k4NAXkLBW3/TBKc4KygAzPhioGOnuOqK9NFYXRGXsWm4657JLgjPvfZA4rmDI8wSvWxrf06cDnjW/7G6DLtDotrnU2jyVwPTkTS8IZTlfJ6zqmpeM7PksOuruEd9/ATmz5F8bkmtOjmkDF1+O7gnPugmvGfGtqzdkkpsJyYm9k6eKE2+cMMImzPGE/ydHryrkUxSxaF3qRpIW03nz3xPXb/03vD/6gi3R4nGNgYmD4/wWIJzCoMWAD3EDMyMDEwMygwqDJ4MHgxRDIEMQQCgDCYAWTAAABAAH//wAPeJxjYGRgYOABYjEgZmJgBEIuIGYB8xgABAwAOXicY2BgYGQAgtsK+9+B6If3621hNABThQeiAAA=')format("woff");}.ff18{font-family:ff18;line-height:0.900000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff19;src:url('data:application/font-woff;base64,d09GRgABAAAAAAUYAA0AAAAAB0AAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAE/AAAABoAAAAcnt++aUdERUYAAATgAAAAHAAAAB4AJwAMT1MvMgAAAaQAAABDAAAAVlSnX5ljbWFwAAACAAAAAE4AAAFSBVULMmdhc3AAAATYAAAACAAAAAj//wADZ2x5ZgAAAmAAAACEAAAAmFneDwhoZWFkAAABMAAAADMAAAA2JelB1mhoZWEAAAFkAAAAIAAAACQE7QNLaG10eAAAAegAAAAWAAAAFgafAFNsb2NhAAACUAAAAA4AAAAOAEwAJm1heHAAAAGEAAAAHQAAACAASQAYbmFtZQAAAuQAAAHQAAADBrpBi6Vwb3N0AAAEtAAAACMAAAAu/9P2FXicY2BkYGBgZmg2WpnjFM9v85WBm/kFUITh4f16Wzgd/P8G0zYmGSCXg4EJJAoAaOcMqAB4nGNgZGBgkvl/g4GBmYsBCJi2MaQwSDIgA1YAUVcDPnicY2BkYGBgYxBlANEMDExAzAhmO4D5DAAE/wBiAAAAeJxjYGRiZ/zCwMrAwNTFtIdBkaEHRP/vYXzAYMjIBBRlYGNmgAFGBiQQkOaaAqQUGOyYZP7fAKqUYdCAqQEAKMgK6wAB9AAAAAAAAAFNAAAAAQAAAwoAUwBTAAB4nGNgYGBmgGAZBkYGEPAB8hjBfBYGAyDNAYRMQFqBwYbB7v9/BOv/4/8n/h+H6gIDRjYGOJcRpIeJARUwQqzCBVgYWPHIDg0AAMF3C5AAAAAAAAAAAAAAAAAAJgBMAAB4nGNgZAj+f4NpG5MMgwgDAyMvo5ioCJuykjqjmok5o5mxEZDLtPjvZyZeYR4OVt6/14SFmbR4WTl4GD/9+MHFw8HDzsjKKcXJyMoOZDOgmKXKCDRHzdTEXJcRSAKNEmcUA5l1DaRdmIn372ewkUxawk/+/QZp54Ka+O83pxQDAMK8IDd4nG2RwWrbQBRFrxTHEAhtvqA8urLBlkdyINiEQFAxZKFAE+heyIMliCQjjSO86Bd01w/p93RR+iPd9M54ugjUgzVn3ry5774ZAO/wAwFOvwa/PQd4H9SeQ4yDb57P8DH46XmEcXjh+RxXYeJ5zPhnZgajC65+uVOWA3wIMs8hLoOvns/wKfjuecT4H8/nkPDK8xiXYYoULfY4okOFHUoYCCYoMOUcY8Vxgxk5geJYke5RQ7v8Ajn7E2ScDc9q7lg67bxw55nqBdea0aNTvnU1DGuuseAY3IiYX6Pn3FJ5hzvWt1UHnrXKgidq9K7uK79bRjbMbZzfR3dak1J6yfBA54paSNv9sat2pZFJMZV4tbqZSaLUSu5r3VVF3kiWm1LXueHiRZ7botLmKJPb0pj9erEYhiHK6z5qu93ddCZDZUp50r3uXvVWNm1j5DGvtaRZ9hArW4+WarZ2oC1r1V5NS7OWG2un3h+M7iRrt7pjIHOtVMyvudDb6sD5X18bfxfa3X7EjoR39rbHU2RJnru/faUE1xShuQ1ta0kiJWtvkbCM5/E8Uck13gjhlAB8cWZ7mmrd29pXX7rqVlmYoLu+ahtRahkplcj/df4CyVyBwXicY2BiYPj/8euh/1sZjBiwATYgZmRgYmBmkGdQBADcmAXcAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEJWIGYB8xgAA9UANHicY2BgYGQAgtsK+9+B6If3621hNABThQeiAAA=')format("woff");}.ff19{font-family:ff19;line-height:0.580000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff1a;src:url('data:application/font-woff;base64,d09GRgABAAAAAA+AABAAAAAAGbQAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAPZAAAABoAAAAcnt++a0dERUYAAA9IAAAAHAAAAB4AJwAQT1MvMgAAAeQAAABCAAAAVlcTYX9jbWFwAAACUAAAAG8AAAFqB3MUo2N2dCAAAApAAAAAFAAAACQDxAAwZnBnbQAAAsAAAAbwAAAOFZ42EcpnYXNwAAAPQAAAAAgAAAAIAAAAEGdseWYAAApsAAACyAAAA2iaxnOFaGVhZAAAAWwAAAA0AAAANiXSQltoaGVhAAABoAAAACEAAAAkBeUB0mhtdHgAAAIoAAAAJwAAACgN9QD4bG9jYQAAClQAAAAWAAAAFgNqAoxtYXhwAAABxAAAACAAAAAgAOUAjG5hbWUAAA00AAAB3QAAA12xRclpcG9zdAAADxQAAAApAAAANgBaAMlwcmVwAAAJsAAAAI0AAACnZD69nHicY2BkYGBgYmSL/JMoEs9v85VBnvkFUITh4f16Oxj9//l/NqYfTO+AXA4GJpAoAHzUDld4nGNgZGBgevefDUje/f/8fyPTD4YUBlEGZMAFALlTB7kAAAAAAQAAAAoAMwADAAAAAAACAAwAKgCNAAAAPgAtAAAAAHicY2BkXMa0h4GVgYGpC0jLMvSA6P9zGR8wGDIyAUUZOJgZYICRAQkEpLmmACkFhgqmd//ZgCrfMfyCqQEAZHANPwAAeJxjlGAAA0ZfEAFERgzOTHcZdIE4gTGcQY0x/P9zxi8M0gBSGgb2AHicY2BgYGaAYBkGRgYQSAHyGMF8FgYPIM3HwMHAxMDGoMCgw+DEEM0Qy1Dx/z9QHMR3hPH/P/5/4/+R/2v+r/4/EWoOEmBkY4ALMjIBCSZ0BRAnwAALugEgwMqGTRQE2IEuxAk4cUvRFQAA79oTIwB4nK1Xa1sbxxWe1Q2MAQOSsJt13VHGoi47kknrOMRWHLLLojhKUoFxu+s07S4S7v2S9Eav6f2i/Jmzon3qfMtPy3tmVgo44D59nvJB552Zd+Zc58xCQksSD6MwlrL3RCzu9qjy4FFEt1y6ESeP5ehhRIVm+tGsmBWDgTpwGw0SMYlAbY+FI4LEb5GjSSaPW1TQqqEaLSpqOTwu1urCD6gayCTxs0It8LNmMaBCsH8kaV4BBOmQSv2jcaFQwDHUOLza4NnxYt3xr0pA5Y+rThVrikQ/OozHq07BKCxpKnpUDyLWR6tBkBNcOZT0cZ9Ka4/GN5yFIByEVAmjBhWb8d47EcjuKJLU72NqC2zaZLQZxzKzbFh0A1P5SNIGr28w8+N+JBGNUSpprh8lmJG8NsfoNqPbiZvEcewiWjQfDEjsRSR6TG5g7PboGqNrvfTJkhgw40lZHMTxMI3J8eI49yCWQ/ij/LhFZS1hQamZwqeZoB/RjPJpVvnIALYkLaqYcCMScpjNHPiSF9ld15rPv+CFAyqvN7AYyJEcQVe2UW4iQrtR0nfTvThScSOWtPUgwprLcclNadGMpguBNxYFm+ZZDJWvUC7KT6lw8JicARTQzHqLLmjJ1i7CrZI4kHwCbSUxU5JtY+2cHl9YFEHorzemhXNRny6keXuK48GEAK4nMhyplJNqgi1cTghJF0ZOrERqVbptVSycs52uY5dwP3Xt5KZFbRw6XpgXxRBaXNWI11HEl3RWKIQ0TLdbtKRBlZIuBW/wAQDIEC3xaA+jJZOvZRy0ZIIiEYMBNNNykMhRImkZYWvRiu7tR1lpuB1fp4VDddSiqu7tRr0HdtJtYL5q5ms6EyvBwyhbWUEKU5+WPb5yKC0/u8Q/S/ghZxW5KDb7Ucbhg7/+CBmG2qX1hsK2CXbtOm/BTeaZGJ50YX8Xs6eTdU4KMyGqCvEKSNwbO45jslXXIhOFcD+iFeXLkBZRfgtQnKAUa5hJYMN/rlxxxLKoCt/3ORI1GIK1rDbr0Yee+zzitgpn616LLuvMYXkFgWf5OZ0VWT6nsxJLV2dllld1VmH5eZ3NsLyms1mWX9DZBZaeVpNEUCVByJVsk/MuX5sW6ROLq9PF9+xi68Ti2nTxfbsotaBL3nkOs6//tr6yoyf9a8A/Cbueh38sFfxjeR3+sWzCP5Zr8I/lF+Efyxvwj+WX4B/LdfjHsq1lx1TuTQ21VxIZsAmByS1uY5uLd0PTTY9u4mK+gDvRleekVaWbijv8Mxkue//lSa6zxUrIpUcvrGdlpx5G6I7s5VdOhOc8zi0tXzSWv4jTLCf8rE7c3zNt4Xmx+i/Bf9v31GZ2y6mzr7cRDzhwtv24Nelmi17S7cudFm3+NyoqfAD6y0iRWG3Ktuxyb0Bo749GXdVFM4nwAqL94mnadJx6DRG+gya2SpdBK6GvNg0tmxc+XQy8w1FbSdkZ4cy7p2mybc+jCm5DzpaUcHPZ2o2OS7Is3ePSWvm52OeWO4furcwOtZNQJXj63ibc9uzzVAqSoaIyXlcsl4LUBU645T29J4VpeAjUDnKsoGGHn665wGjBeWcoUba5VnCJkYwyCq78mVNxIhvRZCOK+M1b6qe6UAidSSwkZstreSxUB2F6ZbpEc2Z9R3VZKWfx3jSE7IyNNIn9qC07eNnZ+nxSsl15KqjSxOj+yY8Ym8Szqj3PluKSf/WEJcEkXQl/6Tzt8iTFW+gfbY7iDl0Oor6Lx1V24na24dRwb187tbrn9k+t+mfufdaOQNMd71kKtzXd9UawjWsMTp1LRULbtIEdoXGZ63PNRj7Fl5pvXecCVbg+bdw8e/6Ozubw6Ey2/I8l3f1/VTH7xH2so9CqTtRLI87t7KIB3/EmUXkdo7teQ+Vxyb2ZhuA+QlC31x6fJbjh1Tbdxi1/45z5Ho5zalV6CfhNTS9DvMVRDBFuuYMXeBKttzUXNL0F+FU9FmIHoA/gMNjVY8fM7AGYmQfM6QLsM4fBQ+Yw+BpzGHxdH6MXBkARkGNQrI8dO/cIyM69wzyH0TeYZ9C7zDPom8wz6FusMwRIWCeDlHUyOGCdDAbMeR1gyBwGh8xh8Jg5DL5t7NoG+o6xi9F3jV2MvmfsYvR9YxejHxi7GP3Q2MXoR8YuRj9GjDvTBP7EjGgL8D0LXwN8n4NuRj5GP8Vbm3N+ZiFzfm44Ts75BTa/Mj31l2ZkdhxZyDt+ZSHTf41zcsJvLGTCby1kwu/AvTc97/dmZOgfWMj0P1jI9D9iZ074k4VM+LOFTPgLuK9Oz/urGRn63yxk+t8tZPo/sDMn/NNCJowsZMKHenzRfOJSxR2XCsUQ/z2hDca+R7OHVLzeP5o81q1PALgKA/R4nDXJPQ7CIBwF8PenqPiRpruriaanIITNSeNA5/YAPYKLCYueBWShnMBbqUh80++9h2PE62w80aNzNAkI9KPHQj0bQpsRNpxWRQ37SahUSRDWXy9VQvGECtB+R/ZknLQm90H7Q+5RoAzQ3dbv85TEFcSl7S//IyfUjOo20vvm+N0z6DAb5tD6A6E7Kt4AAAB4nGNgwAIkIJDxFAMDCAMADJQB9wAAAAAAAAAAAAAAPACQAPIBJgFeAbQAAHicPZI7aBRRFIbPuXfuzOzOK7uzO/uYzWz2nWTy2Ed2BxLMLkiUaB5IUBIUTCEERYiCKWx8IDGW2liIpYVYiWjUTmKhBDuDnWgjFkJsRCw08c5ukuZy7mWY7zvn/IBwePc+/IJbkIR0K6UiIE4BQbIKgHCb3wycqVsTVEq4nmigji724xB6jSZmi00cxzGsWtJXphwJBg1VFmWCoYCdkFkXC5jTESbYEW1OZZQxxyjL/EWSIgBAYJAfr8k6dEMB3FZvBgXKyVSgqwwFzhZwiSCAATOO4xScgleNVEQp6RZEF7NDOIwZqVN5DQ8b3MLBmGmVaNHLcU/ySiw1YnGR6Ds/xmOVvKJqlEg4l6jM66EomSMvchQxPLBi24YZXVzuJZoqq+SMSyORf4/0D5iIJfumt4DCIvf8wz3jUIIqDLb6Yx1TBEKRLPEvBEaFJWAMzkLbN9NXOTQxIkopt6DTXCZb9Mz2mBwq6ShZpcYQdVGqVccp3S/Je+34ucnizrbdxa6LSft3vPdELa2op489uSmGneHu0MrgFT3h9ZV65GjGS4Wv1e493GiezClRm5yyo8TMTdZGp7tST+2iqZCPqEWHd77l6wmN/OSmxV0RP5NtMCHbSu+Zn+fmQBeAUt+bwmwmW68IfMDMH+u+sz9jWqtiSC6vdRviGzGeWitLcrm+Xi9/yltJeseO5vN/H/POAXe/c84Dzom1OZTniHIO3yIu8CT5HITZkUy+6nNifpba+xtDM7dX8CxtsURqTTHCguRTOoXP3uRthrvydN4/raT/L5vvpoSbMAA9re5+JyILHDnFmyP6NHbC0xj12l0dxEY6wDaxVOww09jwOhGSeHZiFn5huQFN1djRy5YZd4OqQlB7d0kmQm7ANAPNCyzkuIqiEKK9vCpbFgaCd28kFFSCAeXtc0W2JOPismD4d/XZhg7wH2VQff94nKVSO27bQBB9S0tG0gQpDKSdIgUVgAxJqfCnk2E7UCzLEC3DZSiblAgRXJmkLOgYaXOGIIfIeXKIPC4ZF/lU4WJn3s7OzsybIYBX+AaF5rt9xgov1JsWW+iody3eg6c+t7iDA/WjxV28tT62eB8H1hd6qs5Lnr6aVzVWeK26LbYYX1q8h0/qfYs7sNX3FnfxwVIt3odtrXEKjTV2KJBigSUqCAJ4XH04XA0+onVOL8EQLuUIEe6x4tstSuqUtgg5Hsydi7HxujL3jWftYfOcm0gxM0XIkPCkjbyh7Y56hhBnmFIKLqgntFzz1GNEnOr1rkgXy0oCz+s7DuWRzHcydGUU3a/0tlylEuUPMnLHrlzpLY2p2DqXebyMskR0IjfxnczCs2koF9PJ7DrsMe4lCw4NgRI+6eJyHEZ56RMNWV9GXhjqjPLcUKiMLtiw2LTL5RvBMffvkZznABPSztiGR2zMq9q7Tx/H7LrNAQZMoPPqXBeLWALXk2P5VYlT55/Ms/RxE9Pc9x2f9IPBn8X/KyX+Fqr+QWMyKenWDKdh47EWwQl3xZUw/IZac2yp4V8P84npXBxy+xwPbuOiTNlq1u0N5ESqKok2lV6meSX2k+8eun7vf6v9CbaQk7UAAAB4nGNgYmD4/wWIZzIEM2ADXEDMyMDEwMzAz6DCoMpgx+DAEA0Avi8FIgAAAAABAAH//wAPeJxjYGRgYOABYjEgZmJgBEJOIGYB8xgABAEAOHicY2BgYGQAgtsK+9+B6If36+1gNABTjwekAAA=')format("woff");}.ff1a{font-family:ff1a;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff1b;src:url('data:application/font-woff;base64,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')format("woff");}.ff1b{font-family:ff1b;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff1c;src:url('data:application/font-woff;base64,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')format("woff");}.ff1c{font-family:ff1c;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
.m0{transform:matrix(0.375000,0.000000,0.000000,0.375000,0,0);-ms-transform:matrix(0.375000,0.000000,0.000000,0.375000,0,0);-webkit-transform:matrix(0.375000,0.000000,0.000000,0.375000,0,0);}
.m1{transform:matrix(1.500000,0.000000,0.000000,1.500000,0,0);-ms-transform:matrix(1.500000,0.000000,0.000000,1.500000,0,0);-webkit-transform:matrix(1.500000,0.000000,0.000000,1.500000,0,0);}
.v0{vertical-align:0.000000px;}
.ls0{letter-spacing:0.000000px;}
.sc_{text-shadow:none;}
.sc0{text-shadow:-0.015em 0 transparent,0 0.015em transparent,0.015em 0 transparent,0 -0.015em transparent;}
@media screen and (-webkit-min-device-pixel-ratio:0){
.sc_{-webkit-text-stroke:0px transparent;}
.sc0{-webkit-text-stroke:0.015em transparent;text-shadow:none;}
}
.ws0{word-spacing:0.000000px;}
._5{margin-left:-5.537550px;}
._7{margin-left:-3.844782px;}
._3{margin-left:-1.900950px;}
._b{width:1.090311px;}
._0{width:3.073600px;}
._37{width:4.141170px;}
._2e{width:9.568288px;}
._25{width:11.078411px;}
._d{width:12.510544px;}
._c{width:14.055322px;}
._f{width:15.079127px;}
._8{width:16.199369px;}
._17{width:17.275051px;}
._9{width:18.346366px;}
._e{width:20.024517px;}
._6{width:21.691454px;}
._15{width:22.968378px;}
._11{width:25.070054px;}
._10{width:26.625917px;}
._5c{width:29.060990px;}
._3a{width:30.126860px;}
._4{width:31.241700px;}
._a{width:32.418280px;}
._14{width:33.771608px;}
._1{width:36.288314px;}
._20{width:38.391299px;}
._2{width:40.911750px;}
._48{width:43.601705px;}
._4a{width:44.944670px;}
._23{width:47.282809px;}
._44{width:48.312469px;}
._1c{width:50.807160px;}
._33{width:52.552676px;}
._3b{width:54.383799px;}
._13{width:56.026302px;}
._39{width:59.919476px;}
._4b{width:62.764380px;}
._49{width:64.517948px;}
._53{width:66.763608px;}
._46{width:75.572225px;}
._45{width:85.971349px;}
._28{width:87.707343px;}
._3c{width:94.398145px;}
._1a{width:106.722797px;}
._27{width:108.628803px;}
._36{width:113.481410px;}
._2a{width:115.090436px;}
._19{width:123.460007px;}
._31{width:126.993991px;}
._32{width:130.469385px;}
._3d{width:132.057025px;}
._26{width:135.015636px;}
._35{width:142.036482px;}
._30{width:148.438966px;}
._2c{width:149.903101px;}
._5b{width:153.791693px;}
._1b{width:156.934427px;}
._43{width:160.785485px;}
._18{width:173.671637px;}
._42{width:179.635475px;}
._2b{width:191.321183px;}
._34{width:196.080230px;}
._41{width:198.444365px;}
._29{width:212.242643px;}
._56{width:244.779680px;}
._5a{width:247.953920px;}
._3f{width:257.802006px;}
._58{width:266.533120px;}
._59{width:295.205120px;}
._22{width:301.983850px;}
._2f{width:309.534890px;}
._1d{width:321.769152px;}
._57{width:357.755680px;}
._12{width:414.243520px;}
._40{width:527.805332px;}
._24{width:654.100320px;}
._38{width:797.776002px;}
._52{width:840.599674px;}
._51{width:861.879930px;}
._16{width:922.236338px;}
._1e{width:958.292279px;}
._21{width:993.874473px;}
._54{width:1007.435495px;}
._47{width:1017.268394px;}
._2d{width:1092.954091px;}
._4c{width:1122.497024px;}
._50{width:1234.565970px;}
._1f{width:1236.945128px;}
._55{width:1266.223339px;}
._4e{width:1309.570433px;}
._4d{width:1351.296542px;}
._3e{width:1394.272812px;}
._4f{width:1420.803789px;}
.fcd{color:rgb(16,136,110);}
.fcc{color:rgb(57,75,79);}
.fcb{color:rgb(171,92,31);}
.fca{color:rgb(186,33,33);}
.fc9{color:rgb(0,128,0);}
.fc6{color:rgb(176,0,64);}
.fc1{color:rgb(250,250,250);}
.fc8{color:rgb(102,102,102);}
.fc7{color:rgb(0,0,255);}
.fc2{color:rgb(255,255,255);}
.fc0{color:rgb(35,55,59);}
.fc3{color:rgb(173,34,49);}
.fc4{color:rgb(156,102,0);}
.fc5{color:rgb(61,122,122);}
.fs8{font-size:23.910400px;}
.fs5{font-size:31.880400px;}
.fs7{font-size:35.865600px;}
.fs4{font-size:39.850400px;}
.fs6{font-size:43.636400px;}
.fs3{font-size:47.820800px;}
.fs2{font-size:57.384800px;}
.fs1{font-size:82.650000px;}
.fs0{font-size:99.148400px;}
.y0{bottom:-0.750000px;}
.y276{bottom:7.179000px;}
.y17c{bottom:7.770000px;}
.y1bc{bottom:8.172000px;}
.y1fb{bottom:8.253000px;}
.y10b{bottom:8.367000px;}
.y2bc{bottom:8.428500px;}
.y199{bottom:8.476500px;}
.y1af{bottom:8.664000px;}
.y257{bottom:8.872500px;}
.y1df{bottom:9.279000px;}
.y287{bottom:9.514500px;}
.y24d{bottom:9.583500px;}
.y186{bottom:9.588000px;}
.y260{bottom:9.700500px;}
.y1d1{bottom:9.792000px;}
.y312{bottom:9.973500px;}
.yd6{bottom:10.323000px;}
.y66{bottom:10.477500px;}
.y76{bottom:10.594500px;}
.y42{bottom:11.140500px;}
.yeb{bottom:11.302500px;}
.y4a{bottom:11.454000px;}
.y203{bottom:11.542500px;}
.y293{bottom:12.358500px;}
.y171{bottom:12.541500px;}
.y143{bottom:12.570000px;}
.y166{bottom:13.525500px;}
.y96{bottom:13.912500px;}
.y2df{bottom:14.017500px;}
.y233{bottom:14.236500px;}
.y154{bottom:14.289000px;}
.y20e{bottom:14.412000px;}
.y304{bottom:15.318000px;}
.y88{bottom:15.454500px;}
.y21c{bottom:16.026000px;}
.y152{bottom:16.500000px;}
.y1a7{bottom:19.041000px;}
.y13a{bottom:19.138500px;}
.y12{bottom:19.527000px;}
.y2f3{bottom:22.320000px;}
.ya0{bottom:22.777500px;}
.y30d{bottom:24.070500px;}
.y228{bottom:24.447000px;}
.ybd{bottom:24.763500px;}
.yd5{bottom:26.649000px;}
.y17b{bottom:26.674500px;}
.y65{bottom:26.803500px;}
.y26f{bottom:26.805000px;}
.y75{bottom:26.920500px;}
.y185{bottom:28.492500px;}
.y1d0{bottom:28.696500px;}
.y41{bottom:30.043500px;}
.y202{bottom:30.447000px;}
.y286{bottom:31.407000px;}
.y87{bottom:31.780500px;}
.y165{bottom:32.430000px;}
.y191{bottom:34.597500px;}
.y151{bottom:35.404500px;}
.y2de{bottom:35.910000px;}
.y20d{bottom:37.783500px;}
.y1a6{bottom:37.945500px;}
.y2f2{bottom:38.646000px;}
.y2b4{bottom:38.727000px;}
.y21b{bottom:39.399000px;}
.y10a{bottom:39.657000px;}
.y2d8{bottom:40.306500px;}
.y227{bottom:40.773000px;}
.yd4{bottom:42.975000px;}
.y64{bottom:43.129500px;}
.y74{bottom:43.246500px;}
.y115{bottom:43.489500px;}
.ybc{bottom:43.666500px;}
.y2a8{bottom:43.765500px;}
.y1c5{bottom:44.185500px;}
.y14b{bottom:44.670000px;}
.y275{bottom:45.940500px;}
.y9f{bottom:46.149000px;}
.y246{bottom:46.425000px;}
.y86{bottom:48.106500px;}
.y29e{bottom:48.420000px;}
.y40{bottom:48.948000px;}
.ya8{bottom:49.330500px;}
.y201{bottom:49.350000px;}
.y11{bottom:50.679000px;}
.y232{bottom:51.066000px;}
.y256{bottom:51.207000px;}
.y164{bottom:51.333000px;}
.y2cb{bottom:51.691500px;}
.y15f{bottom:51.916500px;}
.y1bb{bottom:52.455000px;}
.y95{bottom:52.881000px;}
.y1de{bottom:53.763000px;}
.y1b8{bottom:54.249000px;}
.y2f1{bottom:54.973500px;}
.y26e{bottom:56.154000px;}
.y1a5{bottom:56.848500px;}
.y226{bottom:57.100500px;}
.y2b3{bottom:57.631500px;}
.y190{bottom:57.970500px;}
.yea{bottom:58.426500px;}
.y28{bottom:59.170500px;}
.yd3{bottom:59.301000px;}
.y63{bottom:59.455500px;}
.y73{bottom:59.572500px;}
.ycd{bottom:60.202500px;}
.y11e{bottom:60.429000px;}
.y1fa{bottom:61.048500px;}
.y20c{bottom:61.156500px;}
.y170{bottom:61.818000px;}
.ybb{bottom:62.571000px;}
.y109{bottom:63.028500px;}
.y33{bottom:63.061500px;}
.y21a{bottom:63.427500px;}
.y2d7{bottom:63.678000px;}
.y25f{bottom:63.798000px;}
.y6{bottom:64.425000px;}
.y85{bottom:64.432500px;}
.y303{bottom:64.554000px;}
.y1c4{bottom:64.807500px;}
.y142{bottom:65.172000px;}
.y30c{bottom:65.376000px;}
.yce{bottom:66.141000px;}
.y114{bottom:66.861000px;}
.y2a7{bottom:67.138500px;}
.y1ae{bottom:67.893000px;}
.y14a{bottom:68.041500px;}
.y274{bottom:69.312000px;}
.y245{bottom:69.798000px;}
.y1dd{bottom:70.089000px;}
.y15e{bottom:70.821000px;}
.y198{bottom:71.259000px;}
.y2f0{bottom:71.299500px;}
.y231{bottom:71.688000px;}
.y49{bottom:71.721000px;}
.y94{bottom:71.785500px;}
.y29d{bottom:71.793000px;}
.y225{bottom:73.426500px;}
.y255{bottom:74.580000px;}
.y2ca{bottom:75.063000px;}
.yd2{bottom:75.627000px;}
.y1a4{bottom:75.753000px;}
.y62{bottom:75.783000px;}
.y1ba{bottom:75.828000px;}
.y72{bottom:75.898500px;}
.y2b2{bottom:76.536000px;}
.y10{bottom:76.792500px;}
.y319{bottom:77.260500px;}
.y1b7{bottom:77.620500px;}
.y52{bottom:77.952000px;}
.y27e{bottom:78.748500px;}
.y23d{bottom:79.224000px;}
.y26d{bottom:79.527000px;}
.y84{bottom:80.758500px;}
.y18f{bottom:81.342000px;}
.yba{bottom:81.475500px;}
.y132{bottom:81.835500px;}
.y219{bottom:82.330500px;}
.y302{bottom:83.458500px;}
.y285{bottom:84.046500px;}
.y11d{bottom:84.588000px;}
.y9e{bottom:85.174500px;}
.y1c3{bottom:85.429500px;}
.y184{bottom:85.578000px;}
.y1a{bottom:85.618500px;}
.y128{bottom:86.344500px;}
.y108{bottom:86.401500px;}
.y1dc{bottom:86.415000px;}
.y32{bottom:86.433000px;}
.y3f{bottom:86.755500px;}
.y25e{bottom:87.169500px;}
.ye9{bottom:87.231000px;}
.y1e6{bottom:88.270500px;}
.y141{bottom:88.545000px;}
.y30b{bottom:88.747500px;}
.y5{bottom:89.437500px;}
.y24c{bottom:89.565000px;}
.y15d{bottom:89.724000px;}
.y224{bottom:89.752500px;}
.y2a6{bottom:90.510000px;}
.y93{bottom:90.688500px;}
.y1ad{bottom:91.264500px;}
.yd1{bottom:91.953000px;}
.y61{bottom:92.109000px;}
.y230{bottom:92.311500px;}
.yb0{bottom:92.320500px;}
.y16f{bottom:93.955500px;}
.y1a3{bottom:94.657500px;}
.y48{bottom:95.094000px;}
.y29c{bottom:95.164500px;}
.ya7{bottom:95.325000px;}
.y17a{bottom:95.529000px;}
.y83{bottom:97.084500px;}
.y254{bottom:97.951500px;}
.y23c{bottom:98.127000px;}
.yc3{bottom:98.139000px;}
.y28d{bottom:98.982000px;}
.y113{bottom:99.199500px;}
.yb9{bottom:100.378500px;}
.y318{bottom:100.632000px;}
.y131{bottom:100.738500px;}
.y218{bottom:101.235000px;}
.y244{bottom:101.352000px;}
.y273{bottom:101.650500px;}
.y27d{bottom:102.121500px;}
.y1db{bottom:102.741000px;}
.yf{bottom:102.907500px;}
.y284{bottom:102.951000px;}
.y311{bottom:103.488000px;}
.y20b{bottom:103.831500px;}
.y2b1{bottom:103.893000px;}
.y2ef{bottom:103.951500px;}
.y18e{bottom:104.715000px;}
.y127{bottom:105.249000px;}
.y1f9{bottom:105.342000px;}
.y3e{bottom:105.660000px;}
.y2e3{bottom:105.751500px;}
.y51{bottom:105.807000px;}
.y1ce{bottom:105.957000px;}
.y1c2{bottom:106.053000px;}
.y223{bottom:106.078500px;}
.y183{bottom:106.201500px;}
.y27{bottom:106.287000px;}
.y197{bottom:106.825500px;}
.ye8{bottom:107.853000px;}
.yd0{bottom:108.279000px;}
.y60{bottom:108.435000px;}
.y9d{bottom:108.547500px;}
.y71{bottom:108.550500px;}
.y26c{bottom:108.876000px;}
.y1ec{bottom:108.924000px;}
.y1b6{bottom:109.174500px;}
.y2dd{bottom:109.465500px;}
.y92{bottom:109.593000px;}
.y25d{bottom:110.542500px;}
.y107{bottom:111.229500px;}
.y1e5{bottom:111.643500px;}
.y19{bottom:111.733500px;}
.y140{bottom:111.916500px;}
.y2fa{bottom:112.110000px;}
.y11c{bottom:112.683000px;}
.y16e{bottom:112.858500px;}
.y24b{bottom:112.936500px;}
.ydc{bottom:112.993500px;}
.y82{bottom:113.410500px;}
.y2c4{bottom:114.064500px;}
.y179{bottom:114.433500px;}
.y1ac{bottom:114.637500px;}
.y20{bottom:114.763500px;}
.y292{bottom:114.924000px;}
.y163{bottom:116.938500px;}
.y23b{bottom:117.031500px;}
.y149{bottom:118.312500px;}
.y2a5{bottom:118.329000px;}
.y1da{bottom:119.067000px;}
.yb8{bottom:119.283000px;}
.y150{bottom:119.389500px;}
.y130{bottom:119.643000px;}
.y1a2{bottom:119.913000px;}
.y2d6{bottom:119.926500px;}
.y20a{bottom:120.159000px;}
.y2ee{bottom:120.277500px;}
.y217{bottom:120.513000px;}
.y301{bottom:121.266000px;}
.y253{bottom:121.324500px;}
.yc2{bottom:121.510500px;}
.y200{bottom:121.959000px;}
.y16b{bottom:122.311500px;}
.y28c{bottom:122.355000px;}
.y222{bottom:122.404500px;}
.y112{bottom:122.572500px;}
.y139{bottom:123.490500px;}
.y317{bottom:124.005000px;}
.y126{bottom:124.152000px;}
.ya6{bottom:124.195500px;}
.y3d{bottom:124.564500px;}
.ycf{bottom:124.605000px;}
.y243{bottom:124.723500px;}
.y5f{bottom:124.761000px;}
.y1cd{bottom:124.860000px;}
.y70{bottom:124.878000px;}
.y272{bottom:125.023500px;}
.y1cf{bottom:126.028500px;}
.yf0{bottom:127.107000px;}
.y196{bottom:127.449000px;}
.y15c{bottom:127.533000px;}
.y1f2{bottom:127.758000px;}
.y2d1{bottom:128.013000px;}
.ye7{bottom:128.475000px;}
.y91{bottom:128.497500px;}
.y1f8{bottom:128.713500px;}
.ye{bottom:129.022500px;}
.y2e2{bottom:129.123000px;}
.y22f{bottom:129.334500px;}
.y81{bottom:129.738000px;}
.y30a{bottom:130.053000px;}
.y31{bottom:130.726500px;}
.y16d{bottom:131.763000px;}
.y2c9{bottom:131.908500px;}
.y9c{bottom:131.919000px;}
.y26b{bottom:132.249000px;}
.y1eb{bottom:132.295500px;}
.y1b5{bottom:132.547500px;}
.y283{bottom:132.688500px;}
.y2c3{bottom:132.969000px;}
.y178{bottom:133.338000px;}
.y50{bottom:133.662000px;}
.y25c{bottom:133.914000px;}
.y182{bottom:134.295000px;}
.y27c{bottom:134.460000px;}
.y1d9{bottom:135.393000px;}
.y2f9{bottom:135.481500px;}
.y23a{bottom:135.936000px;}
.y24a{bottom:136.309500px;}
.y209{bottom:136.485000px;}
.y2ed{bottom:136.603500px;}
.y18d{bottom:137.016000px;}
.y18{bottom:137.848500px;}
.y12f{bottom:138.547500px;}
.y148{bottom:138.936000px;}
.y300{bottom:140.170500px;}
.y162{bottom:140.310000px;}
.y221{bottom:140.938500px;}
.y2b0{bottom:141.021000px;}
.y5e{bottom:141.087000px;}
.y310{bottom:141.805500px;}
.y14f{bottom:142.761000px;}
.y125{bottom:143.056500px;}
.y2d5{bottom:143.299500px;}
.y3c{bottom:143.467500px;}
.y1f{bottom:143.568000px;}
.y1cc{bottom:143.764500px;}
.y252{bottom:144.696000px;}
.y1ff{bottom:145.332000px;}
.y29b{bottom:145.437000px;}
.yaf{bottom:145.579500px;}
.yda{bottom:145.714500px;}
.y28b{bottom:145.726500px;}
.y111{bottom:145.944000px;}
.y80{bottom:146.064000px;}
.y15b{bottom:146.436000px;}
.y138{bottom:146.863500px;}
.y2d0{bottom:146.916000px;}
.y1ab{bottom:146.938500px;}
.y1c1{bottom:147.298500px;}
.y90{bottom:147.400500px;}
.y216{bottom:147.418500px;}
.y106{bottom:147.625500px;}
.y264{bottom:147.663000px;}
.yfb{bottom:147.682500px;}
.y11b{bottom:148.009500px;}
.y242{bottom:148.096500px;}
.yb7{bottom:149.022000px;}
.y1a1{bottom:150.397500px;}
.y16c{bottom:150.667500px;}
.y2c8{bottom:150.811500px;}
.y1f1{bottom:151.129500px;}
.ydb{bottom:151.653000px;}
.y1d8{bottom:151.719000px;}
.y2c2{bottom:151.872000px;}
.y26{bottom:152.125500px;}
.y208{bottom:152.202000px;}
.y47{bottom:152.299500px;}
.y177{bottom:152.616000px;}
.y22e{bottom:152.706000px;}
.y2ec{bottom:152.929500px;}
.y1e4{bottom:152.947500px;}
.ya5{bottom:153.067500px;}
.y309{bottom:153.424500px;}
.y30{bottom:154.099500px;}
.y181{bottom:154.918500px;}
.yef{bottom:154.962000px;}
.yd{bottom:155.137500px;}
.y291{bottom:155.329500px;}
.y26a{bottom:155.620500px;}
.y2a4{bottom:155.658000px;}
.y2f5{bottom:155.815500px;}
.yc1{bottom:156.838500px;}
.y25b{bottom:157.287000px;}
.y271{bottom:157.324500px;}
.y5d{bottom:157.413000px;}
.y12e{bottom:157.450500px;}
.y6f{bottom:157.530000px;}
.y2ff{bottom:159.073500px;}
.y2dc{bottom:159.738000px;}
.y2af{bottom:159.924000px;}
.y2b{bottom:161.437500px;}
.y4f{bottom:161.518500px;}
.y3b{bottom:162.372000px;}
.y7f{bottom:162.390000px;}
.ycc{bottom:162.891000px;}
.y195{bottom:163.015500px;}
.y105{bottom:163.951500px;}
.y17{bottom:163.962000px;}
.yfa{bottom:164.008500px;}
.y9b{bottom:164.221500px;}
.y13f{bottom:165.177000px;}
.y15a{bottom:165.340500px;}
.y2cf{bottom:165.820500px;}
.ye6{bottom:166.158000px;}
.y1c0{bottom:167.920500px;}
.y1d7{bottom:168.046500px;}
.y147{bottom:168.525000px;}
.y1fe{bottom:168.703500px;}
.y29a{bottom:168.808500px;}
.yae{bottom:168.952500px;}
.y2eb{bottom:169.257000px;}
.y1a0{bottom:169.302000px;}
.y18c{bottom:169.317000px;}
.y220{bottom:169.429500px;}
.y2c7{bottom:169.716000px;}
.y137{bottom:170.235000px;}
.y2c1{bottom:170.776500px;}
.y263{bottom:171.034500px;}
.y46{bottom:171.202500px;}
.y27b{bottom:171.913500px;}
.y11a{bottom:172.170000px;}
.y1e{bottom:172.372500px;}
.y1cb{bottom:172.434000px;}
.y1f7{bottom:173.008500px;}
.yb6{bottom:173.172000px;}
.y1ea{bottom:173.601000px;}
.y5c{bottom:173.739000px;}
.y6e{bottom:173.856000px;}
.y1f0{bottom:174.502500px;}
.y2a3{bottom:174.562500px;}
.y282{bottom:175.465500px;}
.y4{bottom:175.536000px;}
.y22d{bottom:176.079000px;}
.y215{bottom:176.305500px;}
.y1e3{bottom:176.320500px;}
.y12d{bottom:176.355000px;}
.y308{bottom:176.797500px;}
.y1ed{bottom:176.904000px;}
.y251{bottom:176.998500px;}
.y211{bottom:177.510000px;}
.y2fe{bottom:177.978000px;}
.y207{bottom:178.209000px;}
.y110{bottom:178.246500px;}
.yee{bottom:178.335000px;}
.yd9{bottom:178.435500px;}
.y180{bottom:178.492500px;}
.y7e{bottom:178.716000px;}
.y2ae{bottom:178.828500px;}
.y269{bottom:178.993500px;}
.ycb{bottom:179.217000px;}
.y2f8{bottom:179.775000px;}
.y30f{bottom:180.121500px;}
.y316{bottom:180.253500px;}
.y104{bottom:180.277500px;}
.yf9{bottom:180.336000px;}
.y239{bottom:180.430500px;}
.y124{bottom:180.864000px;}
.y25{bottom:180.930000px;}
.yc{bottom:181.251000px;}
.y3a{bottom:181.276500px;}
.yaa{bottom:181.594500px;}
.y1b4{bottom:181.642500px;}
.ya4{bottom:181.939500px;}
.y16a{bottom:182.803500px;}
.y194{bottom:183.637500px;}
.y28a{bottom:184.042500px;}
.y1d6{bottom:184.372500px;}
.y2ce{bottom:184.725000px;}
.ye5{bottom:185.061000px;}
.y8f{bottom:185.209500px;}
.y2ea{bottom:185.583000px;}
.y9a{bottom:187.593000px;}
.y19f{bottom:188.206500px;}
.y1bf{bottom:188.542500px;}
.y13e{bottom:188.550000px;}
.y2c6{bottom:188.620500px;}
.y146{bottom:189.147000px;}
.y4e{bottom:189.373500px;}
.y2c0{bottom:189.681000px;}
.y21f{bottom:190.051500px;}
.y5b{bottom:190.065000px;}
.y16{bottom:190.077000px;}
.y6d{bottom:190.182000px;}
.y249{bottom:190.279500px;}
.y1fd{bottom:192.076500px;}
.yc0{bottom:192.166500px;}
.yad{bottom:192.324000px;}
.y2a{bottom:192.372000px;}
.y18b{bottom:192.688500px;}
.y1aa{bottom:193.435500px;}
.y2a2{bottom:193.465500px;}
.y136{bottom:193.608000px;}
.y290{bottom:193.645500px;}
.y2e1{bottom:194.338500px;}
.y7d{bottom:195.042000px;}
.y214{bottom:195.210000px;}
.y12c{bottom:195.259500px;}
.yca{bottom:195.543000px;}
.y14e{bottom:196.021500px;}
.y1f6{bottom:196.380000px;}
.y210{bottom:196.414500px;}
.y103{bottom:196.603500px;}
.yf8{bottom:196.662000px;}
.y1e9{bottom:196.972500px;}
.y2ad{bottom:197.733000px;}
.y25a{bottom:198.592500px;}
.y238{bottom:199.335000px;}
.y2d4{bottom:199.548000px;}
.y123{bottom:199.768500px;}
.y2f{bottom:200.166000px;}
.y39{bottom:200.179500px;}
.y119{bottom:200.263500px;}
.y262{bottom:200.385000px;}
.y1d5{bottom:200.698500px;}
.y45{bottom:200.941500px;}
.y1d{bottom:201.177000px;}
.y176{bottom:201.184500px;}
.y206{bottom:201.580500px;}
.y268{bottom:202.365000px;}
.y159{bottom:203.148000px;}
.y315{bottom:203.626500px;}
.y241{bottom:203.844000px;}
.y22c{bottom:203.896500px;}
.ye4{bottom:203.965500px;}
.y8e{bottom:204.112500px;}
.y1b3{bottom:205.015500px;}
.y5a{bottom:206.392500px;}
.y6c{bottom:206.508000px;}
.y29{bottom:206.590500px;}
.y299{bottom:206.886000px;}
.y13b{bottom:207.372000px;}
.y289{bottom:207.415500px;}
.y2fd{bottom:207.717000px;}
.y281{bottom:207.804000px;}
.y27a{bottom:208.329000px;}
.y3{bottom:208.563000px;}
.y1be{bottom:209.166000px;}
.y2bb{bottom:209.356500px;}
.y24{bottom:209.734500px;}
.y145{bottom:209.770500px;}
.y2db{bottom:210.009000px;}
.ya3{bottom:210.810000px;}
.y161{bottom:210.964500px;}
.y7c{bottom:211.368000px;}
.yc9{bottom:211.870500px;}
.y2a1{bottom:212.370000px;}
.y102{bottom:212.929500px;}
.yf7{bottom:212.988000px;}
.y19e{bottom:213.460500px;}
.y248{bottom:213.651000px;}
.y2c5{bottom:213.874500px;}
.y2bf{bottom:213.936000px;}
.y213{bottom:214.114500px;}
.yed{bottom:214.372500px;}
.y169{bottom:214.941000px;}
.yc4{bottom:214.990500px;}
.y21e{bottom:215.074500px;}
.yb5{bottom:215.986500px;}
.y18a{bottom:216.061500px;}
.y15{bottom:216.192000px;}
.y1a9{bottom:216.808500px;}
.y1d4{bottom:217.024500px;}
.y10f{bottom:217.272000px;}
.y17f{bottom:217.518000px;}
.y1e2{bottom:217.626000px;}
.y4d{bottom:217.938000px;}
.y2e9{bottom:218.235000px;}
.y237{bottom:218.239500px;}
.y30e{bottom:218.437500px;}
.y122{bottom:218.673000px;}
.y38{bottom:219.084000px;}
.y153{bottom:219.393000px;}
.yd8{bottom:219.610500px;}
.y307{bottom:219.876000px;}
.y175{bottom:220.089000px;}
.y1c9{bottom:221.868000px;}
.y259{bottom:221.964000px;}
.y158{bottom:222.052500px;}
.y193{bottom:222.510000px;}
.y59{bottom:222.718500px;}
.y240{bottom:222.748500px;}
.y6b{bottom:222.834000px;}
.yb{bottom:222.864000px;}
.ye3{bottom:222.870000px;}
.y2d3{bottom:222.921000px;}
.y8d{bottom:223.017000px;}
.y2e{bottom:223.539000px;}
.y250{bottom:224.242500px;}
.y205{bottom:224.953500px;}
.y1b9{bottom:224.989500px;}
.y2ba{bottom:225.682500px;}
.y298{bottom:225.789000px;}
.y99{bottom:225.909000px;}
.y28f{bottom:225.946500px;}
.y44{bottom:226.857000px;}
.ybf{bottom:227.493000px;}
.y7b{bottom:227.694000px;}
.yc8{bottom:228.196500px;}
.y2ac{bottom:228.778500px;}
.y101{bottom:229.255500px;}
.yf6{bottom:229.314000px;}
.y2fc{bottom:229.344000px;}
.y1ef{bottom:229.428000px;}
.y2f7{bottom:229.509000px;}
.y1c{bottom:229.981500px;}
.y20f{bottom:231.046500px;}
.y212{bottom:231.132000px;}
.y2a0{bottom:231.274500px;}
.y279{bottom:231.702000px;}
.y267{bottom:231.715500px;}
.y1e8{bottom:233.010000px;}
.ya9{bottom:233.151000px;}
.y1d3{bottom:233.350500px;}
.y2da{bottom:233.380500px;}
.y2cd{bottom:233.821500px;}
.y135{bottom:234.129000px;}
.y118{bottom:235.591500px;}
.y22b{bottom:236.197500px;}
.y144{bottom:236.370000px;}
.y261{bottom:236.422500px;}
.y236{bottom:237.142500px;}
.y1b2{bottom:237.550500px;}
.yec{bottom:237.744000px;}
.y37{bottom:237.988500px;}
.y23{bottom:238.539000px;}
.y174{bottom:238.992000px;}
.y58{bottom:239.044500px;}
.yb3{bottom:239.358000px;}
.yb4{bottom:239.359500px;}
.y280{bottom:240.144000px;}
.y10e{bottom:240.643500px;}
.y1f5{bottom:240.673500px;}
.y1c8{bottom:240.771000px;}
.y17e{bottom:240.891000px;}
.y157{bottom:240.957000px;}
.y1e1{bottom:240.997500px;}
.ye2{bottom:241.773000px;}
.y13d{bottom:241.809000px;}
.y8c{bottom:241.921500px;}
.y1ca{bottom:241.939500px;}
.y2b9{bottom:242.008500px;}
.y14{bottom:242.305500px;}
.y306{bottom:243.247500px;}
.y288{bottom:243.453000px;}
.y19d{bottom:243.946500px;}
.y7a{bottom:244.020000px;}
.yc7{bottom:244.522500px;}
.y297{bottom:244.693500px;}
.y2be{bottom:244.783500px;}
.y100{bottom:245.581500px;}
.yac{bottom:245.584500px;}
.yf5{bottom:245.640000px;}
.y168{bottom:247.077000px;}
.y24f{bottom:247.615500px;}
.y2ab{bottom:247.683000px;}
.ya2{bottom:248.136000px;}
.y204{bottom:248.325000px;}
.y189{bottom:248.362500px;}
.ya{bottom:248.979000px;}
.y14d{bottom:249.282000px;}
.y29f{bottom:250.177500px;}
.y1bd{bottom:250.410000px;}
.y2e8{bottom:250.887000px;}
.y12b{bottom:251.358000px;}
.y1ee{bottom:252.801000px;}
.y2f6{bottom:252.880500px;}
.y270{bottom:254.302500px;}
.y278{bottom:255.073500px;}
.y266{bottom:255.087000px;}
.y57{bottom:255.370500px;}
.y6a{bottom:255.487500px;}
.y21d{bottom:255.834000px;}
.y1e7{bottom:256.383000px;}
.y121{bottom:256.480500px;}
.y2d9{bottom:256.753500px;}
.y36{bottom:256.891500px;}
.y2cc{bottom:257.193000px;}
.y134{bottom:257.500500px;}
.y1d2{bottom:258.583500px;}
.y1b{bottom:258.786000px;}
.y2f4{bottom:258.928500px;}
.y192{bottom:259.533000px;}
.y2e0{bottom:259.554000px;}
.y22a{bottom:259.570500px;}
.y1c7{bottom:259.675500px;}
.y314{bottom:259.875000px;}
.ydf{bottom:260.116500px;}
.y2b8{bottom:260.542500px;}
.y23f{bottom:260.556000px;}
.ye1{bottom:260.677500px;}
.y8b{bottom:260.824500px;}
.yc6{bottom:260.848500px;}
.y173{bottom:261.259500px;}
.yff{bottom:261.907500px;}
.yf4{bottom:261.966000px;}
.y1fc{bottom:262.731000px;}
.y19c{bottom:262.851000px;}
.y258{bottom:263.269500px;}
.y27f{bottom:263.515500px;}
.ybe{bottom:263.530500px;}
.y296{bottom:263.598000px;}
.y10d{bottom:264.016500px;}
.y98{bottom:264.225000px;}
.y4c{bottom:264.436500px;}
.y28e{bottom:264.972000px;}
.y2{bottom:265.750500px;}
.y2aa{bottom:266.586000px;}
.y2e7{bottom:267.213000px;}
.y22{bottom:267.343500px;}
.y247{bottom:267.621000px;}
.y13{bottom:268.420500px;}
.y1f4{bottom:268.768500px;}
.yab{bottom:268.957500px;}
.y2d{bottom:270.375000px;}
.y24e{bottom:270.987000px;}
.yd7{bottom:271.677000px;}
.y56{bottom:271.696500px;}
.y2fb{bottom:271.698000px;}
.y1a8{bottom:271.734000px;}
.y69{bottom:271.813500px;}
.y17d{bottom:272.445000px;}
.y14c{bottom:272.653500px;}
.y117{bottom:273.007500px;}
.y12a{bottom:274.731000px;}
.y9{bottom:275.094000px;}
.y120{bottom:275.385000px;}
.y35{bottom:275.796000px;}
.y1b1{bottom:276.576000px;}
.y79{bottom:276.673500px;}
.y1e0{bottom:277.035000px;}
.y2bd{bottom:277.123500px;}
.yc5{bottom:277.174500px;}
.y235{bottom:277.342500px;}
.yfe{bottom:278.235000px;}
.yf3{bottom:278.292000px;}
.y265{bottom:278.460000px;}
.y155{bottom:278.764500px;}
.yde{bottom:279.021000px;}
.y2d2{bottom:279.169500px;}
.y23e{bottom:279.460500px;}
.ye0{bottom:279.582000px;}
.y8a{bottom:279.729000px;}
.y188{bottom:279.916500px;}
.y43{bottom:280.125000px;}
.y133{bottom:280.873500px;}
.y19b{bottom:281.754000px;}
.y295{bottom:282.502500px;}
.y277{bottom:282.541500px;}
.y229{bottom:282.942000px;}
.y313{bottom:283.246500px;}
.y2e6{bottom:283.539000px;}
.y2b7{bottom:283.656000px;}
.y156{bottom:284.478000px;}
.y305{bottom:284.553000px;}
.y2a9{bottom:285.490500px;}
.yb2{bottom:286.641000px;}
.y10c{bottom:287.388000px;}
.y160{bottom:287.598000px;}
.y167{bottom:287.668500px;}
.y4b{bottom:287.808000px;}
.y55{bottom:288.022500px;}
.y68{bottom:288.139500px;}
.y1c6{bottom:288.345000px;}
.y1f3{bottom:289.390500px;}
.y78{bottom:292.999500px;}
.y11f{bottom:294.288000px;}
.yfd{bottom:294.561000px;}
.yf2{bottom:294.619500px;}
.y13c{bottom:295.069500px;}
.y172{bottom:295.816500px;}
.y21{bottom:296.148000px;}
.y1{bottom:296.685000px;}
.y129{bottom:298.102500px;}
.y89{bottom:298.633500px;}
.y2e5{bottom:299.866500px;}
.y1b0{bottom:299.949000px;}
.y2b6{bottom:299.982000px;}
.ya1{bottom:300.300000px;}
.y234{bottom:300.714000px;}
.y8{bottom:301.207500px;}
.y97{bottom:302.541000px;}
.y187{bottom:303.289500px;}
.y54{bottom:304.348500px;}
.y2c{bottom:306.412500px;}
.y19a{bottom:307.009500px;}
.y116{bottom:309.045000px;}
.y294{bottom:309.252000px;}
.yb1{bottom:310.014000px;}
.y77{bottom:310.761000px;}
.yfc{bottom:310.887000px;}
.yf1{bottom:310.945500px;}
.y34{bottom:313.603500px;}
.ydd{bottom:315.229500px;}
.y2e4{bottom:316.192500px;}
.y2b5{bottom:316.308000px;}
.y53{bottom:320.674500px;}
.y67{bottom:320.791500px;}
.y7{bottom:354.223500px;}
.h13{height:17.932800px;}
.h12{height:21.901835px;}
.hf{height:22.124998px;}
.ha{height:23.910300px;}
.hd{height:24.890726px;}
.h10{height:26.899200px;}
.h9{height:27.576477px;}
.hc{height:27.656178px;}
.h14{height:27.752750px;}
.h6{height:29.887800px;}
.h11{height:30.283662px;}
.hb{height:32.727300px;}
.he{height:33.091994px;}
.h5{height:33.187635px;}
.h7{height:35.865600px;}
.h4{height:40.456284px;}
.h8{height:43.038600px;}
.h3{height:58.268250px;}
.h2{height:74.361300px;}
.h0{height:382.677000px;}
.h1{height:383.250000px;}
.w0{width:680.314500px;}
.w1{width:681.000000px;}
.x0{left:0.000000px;}
.x4{left:16.000500px;}
.x4d{left:22.234500px;}
.x4b{left:30.484500px;}
.x31{left:32.425500px;}
.x3a{left:36.553500px;}
.x49{left:40.080000px;}
.x1{left:42.519000px;}
.xd{left:47.002500px;}
.x5{left:51.732000px;}
.x30{left:52.980000px;}
.xb{left:54.337500px;}
.x2f{left:55.441500px;}
.x3d{left:57.463500px;}
.x29{left:59.374500px;}
.x3e{left:61.749000px;}
.x2c{left:62.865000px;}
.x2e{left:64.935000px;}
.x10{left:66.057000px;}
.x42{left:68.185500px;}
.x47{left:69.898500px;}
.xf{left:72.408000px;}
.x35{left:73.974000px;}
.x6{left:75.729000px;}
.x3b{left:77.028000px;}
.x44{left:78.385500px;}
.xc{left:79.729500px;}
.x9{left:83.095500px;}
.x54{left:86.796000px;}
.x28{left:88.168500px;}
.x3c{left:90.190500px;}
.x12{left:91.461000px;}
.x4e{left:92.596500px;}
.x56{left:94.338000px;}
.x2b{left:96.357000px;}
.x15{left:97.812000px;}
.x16{left:103.491000px;}
.x1a{left:107.974500px;}
.x45{left:110.551500px;}
.x19{left:112.180500px;}
.x55{left:115.039500px;}
.x4a{left:122.415000px;}
.x1f{left:124.321500px;}
.x34{left:125.518500px;}
.x33{left:134.109000px;}
.x50{left:136.299000px;}
.x20{left:140.860500px;}
.x14{left:148.621500px;}
.x17{left:152.917500px;}
.x1b{left:158.757000px;}
.x8{left:160.158000px;}
.x39{left:164.644500px;}
.x4f{left:175.222500px;}
.x48{left:177.015000px;}
.x46{left:181.162500px;}
.x1c{left:184.161000px;}
.x11{left:186.729000px;}
.x21{left:188.664000px;}
.x32{left:191.959500px;}
.x4c{left:196.443000px;}
.x18{left:207.229500px;}
.x1d{left:209.566500px;}
.x1e{left:234.970500px;}
.x2{left:237.757500px;}
.xa{left:256.287000px;}
.x36{left:260.572500px;}
.x3f{left:280.014000px;}
.x40{left:284.497500px;}
.x37{left:291.769500px;}
.x2d{left:303.499500px;}
.x43{left:305.680500px;}
.x41{left:312.741000px;}
.x38{left:320.014500px;}
.x22{left:340.744500px;}
.x51{left:342.885000px;}
.x26{left:345.843000px;}
.x52{left:347.368500px;}
.xe{left:350.626500px;}
.x27{left:364.896000px;}
.x23{left:368.988000px;}
.x53{left:375.612000px;}
.x24{left:397.233000px;}
.x25{left:425.476500px;}
.x2a{left:456.391500px;}
.x3{left:568.057500px;}
.x13{left:636.604500px;}
.x7{left:642.955500px;}
@media print{
.v0{vertical-align:0.000000pt;}
.ls0{letter-spacing:0.000000pt;}
.ws0{word-spacing:0.000000pt;}
._5{margin-left:-4.922267pt;}
._7{margin-left:-3.417584pt;}
._3{margin-left:-1.689733pt;}
._b{width:0.969166pt;}
._0{width:2.732089pt;}
._37{width:3.681040pt;}
._2e{width:8.505144pt;}
._25{width:9.847477pt;}
._d{width:11.120484pt;}
._c{width:12.493620pt;}
._f{width:13.403669pt;}
._8{width:14.399439pt;}
._17{width:15.355601pt;}
._9{width:16.307881pt;}
._e{width:17.799570pt;}
._6{width:19.281293pt;}
._15{width:20.416336pt;}
._11{width:22.284493pt;}
._10{width:23.667482pt;}
._5c{width:25.831991pt;}
._3a{width:26.779431pt;}
._4{width:27.770400pt;}
._a{width:28.816249pt;}
._14{width:30.019207pt;}
._1{width:32.256279pt;}
._20{width:34.125599pt;}
._2{width:36.366000pt;}
._48{width:38.757071pt;}
._4a{width:39.950818pt;}
._23{width:42.029163pt;}
._44{width:42.944417pt;}
._1c{width:45.161920pt;}
._33{width:46.713489pt;}
._3b{width:48.341155pt;}
._13{width:49.801158pt;}
._39{width:53.261756pt;}
._4b{width:55.790560pt;}
._49{width:57.349287pt;}
._53{width:59.345429pt;}
._46{width:67.175311pt;}
._45{width:76.418977pt;}
._28{width:77.962083pt;}
._3c{width:83.909462pt;}
._1a{width:94.864708pt;}
._27{width:96.558936pt;}
._36{width:100.872365pt;}
._2a{width:102.302610pt;}
._19{width:109.742228pt;}
._31{width:112.883547pt;}
._32{width:115.972787pt;}
._3d{width:117.384022pt;}
._26{width:120.013899pt;}
._35{width:126.254651pt;}
._30{width:131.945748pt;}
._2c{width:133.247201pt;}
._5b{width:136.703727pt;}
._1b{width:139.497268pt;}
._43{width:142.920431pt;}
._18{width:154.374788pt;}
._42{width:159.675978pt;}
._2b{width:170.063274pt;}
._34{width:174.293538pt;}
._41{width:176.394991pt;}
._29{width:188.660127pt;}
._56{width:217.581938pt;}
._5a{width:220.403484pt;}
._3f{width:229.157339pt;}
._58{width:236.918329pt;}
._59{width:262.404551pt;}
._22{width:268.430089pt;}
._2f{width:275.142124pt;}
._1d{width:286.017024pt;}
._57{width:318.005049pt;}
._12{width:368.216462pt;}
._40{width:469.160295pt;}
._24{width:581.422507pt;}
._38{width:709.134224pt;}
._52{width:747.199711pt;}
._51{width:766.115494pt;}
._16{width:819.765634pt;}
._1e{width:851.815359pt;}
._21{width:883.443976pt;}
._54{width:895.498218pt;}
._47{width:904.238573pt;}
._2d{width:971.514748pt;}
._4c{width:997.775132pt;}
._50{width:1097.391973pt;}
._1f{width:1099.506780pt;}
._55{width:1125.531857pt;}
._4e{width:1164.062607pt;}
._4d{width:1201.152482pt;}
._3e{width:1239.353611pt;}
._4f{width:1262.936701pt;}
.fs8{font-size:21.253689pt;}
.fs5{font-size:28.338133pt;}
.fs7{font-size:31.880533pt;}
.fs4{font-size:35.422578pt;}
.fs6{font-size:38.787911pt;}
.fs3{font-size:42.507378pt;}
.fs2{font-size:51.008711pt;}
.fs1{font-size:73.466667pt;}
.fs0{font-size:88.131911pt;}
.y0{bottom:-0.666667pt;}
.y276{bottom:6.381333pt;}
.y17c{bottom:6.906667pt;}
.y1bc{bottom:7.264000pt;}
.y1fb{bottom:7.336000pt;}
.y10b{bottom:7.437333pt;}
.y2bc{bottom:7.492000pt;}
.y199{bottom:7.534667pt;}
.y1af{bottom:7.701333pt;}
.y257{bottom:7.886667pt;}
.y1df{bottom:8.248000pt;}
.y287{bottom:8.457333pt;}
.y24d{bottom:8.518667pt;}
.y186{bottom:8.522667pt;}
.y260{bottom:8.622667pt;}
.y1d1{bottom:8.704000pt;}
.y312{bottom:8.865333pt;}
.yd6{bottom:9.176000pt;}
.y66{bottom:9.313333pt;}
.y76{bottom:9.417333pt;}
.y42{bottom:9.902667pt;}
.yeb{bottom:10.046667pt;}
.y4a{bottom:10.181333pt;}
.y203{bottom:10.260000pt;}
.y293{bottom:10.985333pt;}
.y171{bottom:11.148000pt;}
.y143{bottom:11.173333pt;}
.y166{bottom:12.022667pt;}
.y96{bottom:12.366667pt;}
.y2df{bottom:12.460000pt;}
.y233{bottom:12.654667pt;}
.y154{bottom:12.701333pt;}
.y20e{bottom:12.810667pt;}
.y304{bottom:13.616000pt;}
.y88{bottom:13.737333pt;}
.y21c{bottom:14.245333pt;}
.y152{bottom:14.666667pt;}
.y1a7{bottom:16.925333pt;}
.y13a{bottom:17.012000pt;}
.y12{bottom:17.357333pt;}
.y2f3{bottom:19.840000pt;}
.ya0{bottom:20.246667pt;}
.y30d{bottom:21.396000pt;}
.y228{bottom:21.730667pt;}
.ybd{bottom:22.012000pt;}
.yd5{bottom:23.688000pt;}
.y17b{bottom:23.710667pt;}
.y65{bottom:23.825333pt;}
.y26f{bottom:23.826667pt;}
.y75{bottom:23.929333pt;}
.y185{bottom:25.326667pt;}
.y1d0{bottom:25.508000pt;}
.y41{bottom:26.705333pt;}
.y202{bottom:27.064000pt;}
.y286{bottom:27.917333pt;}
.y87{bottom:28.249333pt;}
.y165{bottom:28.826667pt;}
.y191{bottom:30.753333pt;}
.y151{bottom:31.470667pt;}
.y2de{bottom:31.920000pt;}
.y20d{bottom:33.585333pt;}
.y1a6{bottom:33.729333pt;}
.y2f2{bottom:34.352000pt;}
.y2b4{bottom:34.424000pt;}
.y21b{bottom:35.021333pt;}
.y10a{bottom:35.250667pt;}
.y2d8{bottom:35.828000pt;}
.y227{bottom:36.242667pt;}
.yd4{bottom:38.200000pt;}
.y64{bottom:38.337333pt;}
.y74{bottom:38.441333pt;}
.y115{bottom:38.657333pt;}
.ybc{bottom:38.814667pt;}
.y2a8{bottom:38.902667pt;}
.y1c5{bottom:39.276000pt;}
.y14b{bottom:39.706667pt;}
.y275{bottom:40.836000pt;}
.y9f{bottom:41.021333pt;}
.y246{bottom:41.266667pt;}
.y86{bottom:42.761333pt;}
.y29e{bottom:43.040000pt;}
.y40{bottom:43.509333pt;}
.ya8{bottom:43.849333pt;}
.y201{bottom:43.866667pt;}
.y11{bottom:45.048000pt;}
.y232{bottom:45.392000pt;}
.y256{bottom:45.517333pt;}
.y164{bottom:45.629333pt;}
.y2cb{bottom:45.948000pt;}
.y15f{bottom:46.148000pt;}
.y1bb{bottom:46.626667pt;}
.y95{bottom:47.005333pt;}
.y1de{bottom:47.789333pt;}
.y1b8{bottom:48.221333pt;}
.y2f1{bottom:48.865333pt;}
.y26e{bottom:49.914667pt;}
.y1a5{bottom:50.532000pt;}
.y226{bottom:50.756000pt;}
.y2b3{bottom:51.228000pt;}
.y190{bottom:51.529333pt;}
.yea{bottom:51.934667pt;}
.y28{bottom:52.596000pt;}
.yd3{bottom:52.712000pt;}
.y63{bottom:52.849333pt;}
.y73{bottom:52.953333pt;}
.ycd{bottom:53.513333pt;}
.y11e{bottom:53.714667pt;}
.y1fa{bottom:54.265333pt;}
.y20c{bottom:54.361333pt;}
.y170{bottom:54.949333pt;}
.ybb{bottom:55.618667pt;}
.y109{bottom:56.025333pt;}
.y33{bottom:56.054667pt;}
.y21a{bottom:56.380000pt;}
.y2d7{bottom:56.602667pt;}
.y25f{bottom:56.709333pt;}
.y6{bottom:57.266667pt;}
.y85{bottom:57.273333pt;}
.y303{bottom:57.381333pt;}
.y1c4{bottom:57.606667pt;}
.y142{bottom:57.930667pt;}
.y30c{bottom:58.112000pt;}
.yce{bottom:58.792000pt;}
.y114{bottom:59.432000pt;}
.y2a7{bottom:59.678667pt;}
.y1ae{bottom:60.349333pt;}
.y14a{bottom:60.481333pt;}
.y274{bottom:61.610667pt;}
.y245{bottom:62.042667pt;}
.y1dd{bottom:62.301333pt;}
.y15e{bottom:62.952000pt;}
.y198{bottom:63.341333pt;}
.y2f0{bottom:63.377333pt;}
.y231{bottom:63.722667pt;}
.y49{bottom:63.752000pt;}
.y94{bottom:63.809333pt;}
.y29d{bottom:63.816000pt;}
.y225{bottom:65.268000pt;}
.y255{bottom:66.293333pt;}
.y2ca{bottom:66.722667pt;}
.yd2{bottom:67.224000pt;}
.y1a4{bottom:67.336000pt;}
.y62{bottom:67.362667pt;}
.y1ba{bottom:67.402667pt;}
.y72{bottom:67.465333pt;}
.y2b2{bottom:68.032000pt;}
.y10{bottom:68.260000pt;}
.y319{bottom:68.676000pt;}
.y1b7{bottom:68.996000pt;}
.y52{bottom:69.290667pt;}
.y27e{bottom:69.998667pt;}
.y23d{bottom:70.421333pt;}
.y26d{bottom:70.690667pt;}
.y84{bottom:71.785333pt;}
.y18f{bottom:72.304000pt;}
.yba{bottom:72.422667pt;}
.y132{bottom:72.742667pt;}
.y219{bottom:73.182667pt;}
.y302{bottom:74.185333pt;}
.y285{bottom:74.708000pt;}
.y11d{bottom:75.189333pt;}
.y9e{bottom:75.710667pt;}
.y1c3{bottom:75.937333pt;}
.y184{bottom:76.069333pt;}
.y1a{bottom:76.105333pt;}
.y128{bottom:76.750667pt;}
.y108{bottom:76.801333pt;}
.y1dc{bottom:76.813333pt;}
.y32{bottom:76.829333pt;}
.y3f{bottom:77.116000pt;}
.y25e{bottom:77.484000pt;}
.ye9{bottom:77.538667pt;}
.y1e6{bottom:78.462667pt;}
.y141{bottom:78.706667pt;}
.y30b{bottom:78.886667pt;}
.y5{bottom:79.500000pt;}
.y24c{bottom:79.613333pt;}
.y15d{bottom:79.754667pt;}
.y224{bottom:79.780000pt;}
.y2a6{bottom:80.453333pt;}
.y93{bottom:80.612000pt;}
.y1ad{bottom:81.124000pt;}
.yd1{bottom:81.736000pt;}
.y61{bottom:81.874667pt;}
.y230{bottom:82.054667pt;}
.yb0{bottom:82.062667pt;}
.y16f{bottom:83.516000pt;}
.y1a3{bottom:84.140000pt;}
.y48{bottom:84.528000pt;}
.y29c{bottom:84.590667pt;}
.ya7{bottom:84.733333pt;}
.y17a{bottom:84.914667pt;}
.y83{bottom:86.297333pt;}
.y254{bottom:87.068000pt;}
.y23c{bottom:87.224000pt;}
.yc3{bottom:87.234667pt;}
.y28d{bottom:87.984000pt;}
.y113{bottom:88.177333pt;}
.yb9{bottom:89.225333pt;}
.y318{bottom:89.450667pt;}
.y131{bottom:89.545333pt;}
.y218{bottom:89.986667pt;}
.y244{bottom:90.090667pt;}
.y273{bottom:90.356000pt;}
.y27d{bottom:90.774667pt;}
.y1db{bottom:91.325333pt;}
.yf{bottom:91.473333pt;}
.y284{bottom:91.512000pt;}
.y311{bottom:91.989333pt;}
.y20b{bottom:92.294667pt;}
.y2b1{bottom:92.349333pt;}
.y2ef{bottom:92.401333pt;}
.y18e{bottom:93.080000pt;}
.y127{bottom:93.554667pt;}
.y1f9{bottom:93.637333pt;}
.y3e{bottom:93.920000pt;}
.y2e3{bottom:94.001333pt;}
.y51{bottom:94.050667pt;}
.y1ce{bottom:94.184000pt;}
.y1c2{bottom:94.269333pt;}
.y223{bottom:94.292000pt;}
.y183{bottom:94.401333pt;}
.y27{bottom:94.477333pt;}
.y197{bottom:94.956000pt;}
.ye8{bottom:95.869333pt;}
.yd0{bottom:96.248000pt;}
.y60{bottom:96.386667pt;}
.y9d{bottom:96.486667pt;}
.y71{bottom:96.489333pt;}
.y26c{bottom:96.778667pt;}
.y1ec{bottom:96.821333pt;}
.y1b6{bottom:97.044000pt;}
.y2dd{bottom:97.302667pt;}
.y92{bottom:97.416000pt;}
.y25d{bottom:98.260000pt;}
.y107{bottom:98.870667pt;}
.y1e5{bottom:99.238667pt;}
.y19{bottom:99.318667pt;}
.y140{bottom:99.481333pt;}
.y2fa{bottom:99.653333pt;}
.y11c{bottom:100.162667pt;}
.y16e{bottom:100.318667pt;}
.y24b{bottom:100.388000pt;}
.ydc{bottom:100.438667pt;}
.y82{bottom:100.809333pt;}
.y2c4{bottom:101.390667pt;}
.y179{bottom:101.718667pt;}
.y1ac{bottom:101.900000pt;}
.y20{bottom:102.012000pt;}
.y292{bottom:102.154667pt;}
.y163{bottom:103.945333pt;}
.y23b{bottom:104.028000pt;}
.y149{bottom:105.166667pt;}
.y2a5{bottom:105.181333pt;}
.y1da{bottom:105.837333pt;}
.yb8{bottom:106.029333pt;}
.y150{bottom:106.124000pt;}
.y130{bottom:106.349333pt;}
.y1a2{bottom:106.589333pt;}
.y2d6{bottom:106.601333pt;}
.y20a{bottom:106.808000pt;}
.y2ee{bottom:106.913333pt;}
.y217{bottom:107.122667pt;}
.y301{bottom:107.792000pt;}
.y253{bottom:107.844000pt;}
.yc2{bottom:108.009333pt;}
.y200{bottom:108.408000pt;}
.y16b{bottom:108.721333pt;}
.y28c{bottom:108.760000pt;}
.y222{bottom:108.804000pt;}
.y112{bottom:108.953333pt;}
.y139{bottom:109.769333pt;}
.y317{bottom:110.226667pt;}
.y126{bottom:110.357333pt;}
.ya6{bottom:110.396000pt;}
.y3d{bottom:110.724000pt;}
.ycf{bottom:110.760000pt;}
.y243{bottom:110.865333pt;}
.y5f{bottom:110.898667pt;}
.y1cd{bottom:110.986667pt;}
.y70{bottom:111.002667pt;}
.y272{bottom:111.132000pt;}
.y1cf{bottom:112.025333pt;}
.yf0{bottom:112.984000pt;}
.y196{bottom:113.288000pt;}
.y15c{bottom:113.362667pt;}
.y1f2{bottom:113.562667pt;}
.y2d1{bottom:113.789333pt;}
.ye7{bottom:114.200000pt;}
.y91{bottom:114.220000pt;}
.y1f8{bottom:114.412000pt;}
.ye{bottom:114.686667pt;}
.y2e2{bottom:114.776000pt;}
.y22f{bottom:114.964000pt;}
.y81{bottom:115.322667pt;}
.y30a{bottom:115.602667pt;}
.y31{bottom:116.201333pt;}
.y16d{bottom:117.122667pt;}
.y2c9{bottom:117.252000pt;}
.y9c{bottom:117.261333pt;}
.y26b{bottom:117.554667pt;}
.y1eb{bottom:117.596000pt;}
.y1b5{bottom:117.820000pt;}
.y283{bottom:117.945333pt;}
.y2c3{bottom:118.194667pt;}
.y178{bottom:118.522667pt;}
.y50{bottom:118.810667pt;}
.y25c{bottom:119.034667pt;}
.y182{bottom:119.373333pt;}
.y27c{bottom:119.520000pt;}
.y1d9{bottom:120.349333pt;}
.y2f9{bottom:120.428000pt;}
.y23a{bottom:120.832000pt;}
.y24a{bottom:121.164000pt;}
.y209{bottom:121.320000pt;}
.y2ed{bottom:121.425333pt;}
.y18d{bottom:121.792000pt;}
.y18{bottom:122.532000pt;}
.y12f{bottom:123.153333pt;}
.y148{bottom:123.498667pt;}
.y300{bottom:124.596000pt;}
.y162{bottom:124.720000pt;}
.y221{bottom:125.278667pt;}
.y2b0{bottom:125.352000pt;}
.y5e{bottom:125.410667pt;}
.y310{bottom:126.049333pt;}
.y14f{bottom:126.898667pt;}
.y125{bottom:127.161333pt;}
.y2d5{bottom:127.377333pt;}
.y3c{bottom:127.526667pt;}
.y1f{bottom:127.616000pt;}
.y1cc{bottom:127.790667pt;}
.y252{bottom:128.618667pt;}
.y1ff{bottom:129.184000pt;}
.y29b{bottom:129.277333pt;}
.yaf{bottom:129.404000pt;}
.yda{bottom:129.524000pt;}
.y28b{bottom:129.534667pt;}
.y111{bottom:129.728000pt;}
.y80{bottom:129.834667pt;}
.y15b{bottom:130.165333pt;}
.y138{bottom:130.545333pt;}
.y2d0{bottom:130.592000pt;}
.y1ab{bottom:130.612000pt;}
.y1c1{bottom:130.932000pt;}
.y90{bottom:131.022667pt;}
.y216{bottom:131.038667pt;}
.y106{bottom:131.222667pt;}
.y264{bottom:131.256000pt;}
.yfb{bottom:131.273333pt;}
.y11b{bottom:131.564000pt;}
.y242{bottom:131.641333pt;}
.yb7{bottom:132.464000pt;}
.y1a1{bottom:133.686667pt;}
.y16c{bottom:133.926667pt;}
.y2c8{bottom:134.054667pt;}
.y1f1{bottom:134.337333pt;}
.ydb{bottom:134.802667pt;}
.y1d8{bottom:134.861333pt;}
.y2c2{bottom:134.997333pt;}
.y26{bottom:135.222667pt;}
.y208{bottom:135.290667pt;}
.y47{bottom:135.377333pt;}
.y177{bottom:135.658667pt;}
.y22e{bottom:135.738667pt;}
.y2ec{bottom:135.937333pt;}
.y1e4{bottom:135.953333pt;}
.ya5{bottom:136.060000pt;}
.y309{bottom:136.377333pt;}
.y30{bottom:136.977333pt;}
.y181{bottom:137.705333pt;}
.yef{bottom:137.744000pt;}
.yd{bottom:137.900000pt;}
.y291{bottom:138.070667pt;}
.y26a{bottom:138.329333pt;}
.y2a4{bottom:138.362667pt;}
.y2f5{bottom:138.502667pt;}
.yc1{bottom:139.412000pt;}
.y25b{bottom:139.810667pt;}
.y271{bottom:139.844000pt;}
.y5d{bottom:139.922667pt;}
.y12e{bottom:139.956000pt;}
.y6f{bottom:140.026667pt;}
.y2ff{bottom:141.398667pt;}
.y2dc{bottom:141.989333pt;}
.y2af{bottom:142.154667pt;}
.y2b{bottom:143.500000pt;}
.y4f{bottom:143.572000pt;}
.y3b{bottom:144.330667pt;}
.y7f{bottom:144.346667pt;}
.ycc{bottom:144.792000pt;}
.y195{bottom:144.902667pt;}
.y105{bottom:145.734667pt;}
.y17{bottom:145.744000pt;}
.yfa{bottom:145.785333pt;}
.y9b{bottom:145.974667pt;}
.y13f{bottom:146.824000pt;}
.y15a{bottom:146.969333pt;}
.y2cf{bottom:147.396000pt;}
.ye6{bottom:147.696000pt;}
.y1c0{bottom:149.262667pt;}
.y1d7{bottom:149.374667pt;}
.y147{bottom:149.800000pt;}
.y1fe{bottom:149.958667pt;}
.y29a{bottom:150.052000pt;}
.yae{bottom:150.180000pt;}
.y2eb{bottom:150.450667pt;}
.y1a0{bottom:150.490667pt;}
.y18c{bottom:150.504000pt;}
.y220{bottom:150.604000pt;}
.y2c7{bottom:150.858667pt;}
.y137{bottom:151.320000pt;}
.y2c1{bottom:151.801333pt;}
.y263{bottom:152.030667pt;}
.y46{bottom:152.180000pt;}
.y27b{bottom:152.812000pt;}
.y11a{bottom:153.040000pt;}
.y1e{bottom:153.220000pt;}
.y1cb{bottom:153.274667pt;}
.y1f7{bottom:153.785333pt;}
.yb6{bottom:153.930667pt;}
.y1ea{bottom:154.312000pt;}
.y5c{bottom:154.434667pt;}
.y6e{bottom:154.538667pt;}
.y1f0{bottom:155.113333pt;}
.y2a3{bottom:155.166667pt;}
.y282{bottom:155.969333pt;}
.y4{bottom:156.032000pt;}
.y22d{bottom:156.514667pt;}
.y215{bottom:156.716000pt;}
.y1e3{bottom:156.729333pt;}
.y12d{bottom:156.760000pt;}
.y308{bottom:157.153333pt;}
.y1ed{bottom:157.248000pt;}
.y251{bottom:157.332000pt;}
.y211{bottom:157.786667pt;}
.y2fe{bottom:158.202667pt;}
.y207{bottom:158.408000pt;}
.y110{bottom:158.441333pt;}
.yee{bottom:158.520000pt;}
.yd9{bottom:158.609333pt;}
.y180{bottom:158.660000pt;}
.y7e{bottom:158.858667pt;}
.y2ae{bottom:158.958667pt;}
.y269{bottom:159.105333pt;}
.ycb{bottom:159.304000pt;}
.y2f8{bottom:159.800000pt;}
.y30f{bottom:160.108000pt;}
.y316{bottom:160.225333pt;}
.y104{bottom:160.246667pt;}
.yf9{bottom:160.298667pt;}
.y239{bottom:160.382667pt;}
.y124{bottom:160.768000pt;}
.y25{bottom:160.826667pt;}
.yc{bottom:161.112000pt;}
.y3a{bottom:161.134667pt;}
.yaa{bottom:161.417333pt;}
.y1b4{bottom:161.460000pt;}
.ya4{bottom:161.724000pt;}
.y16a{bottom:162.492000pt;}
.y194{bottom:163.233333pt;}
.y28a{bottom:163.593333pt;}
.y1d6{bottom:163.886667pt;}
.y2ce{bottom:164.200000pt;}
.ye5{bottom:164.498667pt;}
.y8f{bottom:164.630667pt;}
.y2ea{bottom:164.962667pt;}
.y9a{bottom:166.749333pt;}
.y19f{bottom:167.294667pt;}
.y1bf{bottom:167.593333pt;}
.y13e{bottom:167.600000pt;}
.y2c6{bottom:167.662667pt;}
.y146{bottom:168.130667pt;}
.y4e{bottom:168.332000pt;}
.y2c0{bottom:168.605333pt;}
.y21f{bottom:168.934667pt;}
.y5b{bottom:168.946667pt;}
.y16{bottom:168.957333pt;}
.y6d{bottom:169.050667pt;}
.y249{bottom:169.137333pt;}
.y1fd{bottom:170.734667pt;}
.yc0{bottom:170.814667pt;}
.yad{bottom:170.954667pt;}
.y2a{bottom:170.997333pt;}
.y18b{bottom:171.278667pt;}
.y1aa{bottom:171.942667pt;}
.y2a2{bottom:171.969333pt;}
.y136{bottom:172.096000pt;}
.y290{bottom:172.129333pt;}
.y2e1{bottom:172.745333pt;}
.y7d{bottom:173.370667pt;}
.y214{bottom:173.520000pt;}
.y12c{bottom:173.564000pt;}
.yca{bottom:173.816000pt;}
.y14e{bottom:174.241333pt;}
.y1f6{bottom:174.560000pt;}
.y210{bottom:174.590667pt;}
.y103{bottom:174.758667pt;}
.yf8{bottom:174.810667pt;}
.y1e9{bottom:175.086667pt;}
.y2ad{bottom:175.762667pt;}
.y25a{bottom:176.526667pt;}
.y238{bottom:177.186667pt;}
.y2d4{bottom:177.376000pt;}
.y123{bottom:177.572000pt;}
.y2f{bottom:177.925333pt;}
.y39{bottom:177.937333pt;}
.y119{bottom:178.012000pt;}
.y262{bottom:178.120000pt;}
.y1d5{bottom:178.398667pt;}
.y45{bottom:178.614667pt;}
.y1d{bottom:178.824000pt;}
.y176{bottom:178.830667pt;}
.y206{bottom:179.182667pt;}
.y268{bottom:179.880000pt;}
.y159{bottom:180.576000pt;}
.y315{bottom:181.001333pt;}
.y241{bottom:181.194667pt;}
.y22c{bottom:181.241333pt;}
.ye4{bottom:181.302667pt;}
.y8e{bottom:181.433333pt;}
.y1b3{bottom:182.236000pt;}
.y5a{bottom:183.460000pt;}
.y6c{bottom:183.562667pt;}
.y29{bottom:183.636000pt;}
.y299{bottom:183.898667pt;}
.y13b{bottom:184.330667pt;}
.y289{bottom:184.369333pt;}
.y2fd{bottom:184.637333pt;}
.y281{bottom:184.714667pt;}
.y27a{bottom:185.181333pt;}
.y3{bottom:185.389333pt;}
.y1be{bottom:185.925333pt;}
.y2bb{bottom:186.094667pt;}
.y24{bottom:186.430667pt;}
.y145{bottom:186.462667pt;}
.y2db{bottom:186.674667pt;}
.ya3{bottom:187.386667pt;}
.y161{bottom:187.524000pt;}
.y7c{bottom:187.882667pt;}
.yc9{bottom:188.329333pt;}
.y2a1{bottom:188.773333pt;}
.y102{bottom:189.270667pt;}
.yf7{bottom:189.322667pt;}
.y19e{bottom:189.742667pt;}
.y248{bottom:189.912000pt;}
.y2c5{bottom:190.110667pt;}
.y2bf{bottom:190.165333pt;}
.y213{bottom:190.324000pt;}
.yed{bottom:190.553333pt;}
.y169{bottom:191.058667pt;}
.yc4{bottom:191.102667pt;}
.y21e{bottom:191.177333pt;}
.yb5{bottom:191.988000pt;}
.y18a{bottom:192.054667pt;}
.y15{bottom:192.170667pt;}
.y1a9{bottom:192.718667pt;}
.y1d4{bottom:192.910667pt;}
.y10f{bottom:193.130667pt;}
.y17f{bottom:193.349333pt;}
.y1e2{bottom:193.445333pt;}
.y4d{bottom:193.722667pt;}
.y2e9{bottom:193.986667pt;}
.y237{bottom:193.990667pt;}
.y30e{bottom:194.166667pt;}
.y122{bottom:194.376000pt;}
.y38{bottom:194.741333pt;}
.y153{bottom:195.016000pt;}
.yd8{bottom:195.209333pt;}
.y307{bottom:195.445333pt;}
.y175{bottom:195.634667pt;}
.y1c9{bottom:197.216000pt;}
.y259{bottom:197.301333pt;}
.y158{bottom:197.380000pt;}
.y193{bottom:197.786667pt;}
.y59{bottom:197.972000pt;}
.y240{bottom:197.998667pt;}
.y6b{bottom:198.074667pt;}
.yb{bottom:198.101333pt;}
.ye3{bottom:198.106667pt;}
.y2d3{bottom:198.152000pt;}
.y8d{bottom:198.237333pt;}
.y2e{bottom:198.701333pt;}
.y250{bottom:199.326667pt;}
.y205{bottom:199.958667pt;}
.y1b9{bottom:199.990667pt;}
.y2ba{bottom:200.606667pt;}
.y298{bottom:200.701333pt;}
.y99{bottom:200.808000pt;}
.y28f{bottom:200.841333pt;}
.y44{bottom:201.650667pt;}
.ybf{bottom:202.216000pt;}
.y7b{bottom:202.394667pt;}
.yc8{bottom:202.841333pt;}
.y2ac{bottom:203.358667pt;}
.y101{bottom:203.782667pt;}
.yf6{bottom:203.834667pt;}
.y2fc{bottom:203.861333pt;}
.y1ef{bottom:203.936000pt;}
.y2f7{bottom:204.008000pt;}
.y1c{bottom:204.428000pt;}
.y20f{bottom:205.374667pt;}
.y212{bottom:205.450667pt;}
.y2a0{bottom:205.577333pt;}
.y279{bottom:205.957333pt;}
.y267{bottom:205.969333pt;}
.y1e8{bottom:207.120000pt;}
.ya9{bottom:207.245333pt;}
.y1d3{bottom:207.422667pt;}
.y2da{bottom:207.449333pt;}
.y2cd{bottom:207.841333pt;}
.y135{bottom:208.114667pt;}
.y118{bottom:209.414667pt;}
.y22b{bottom:209.953333pt;}
.y144{bottom:210.106667pt;}
.y261{bottom:210.153333pt;}
.y236{bottom:210.793333pt;}
.y1b2{bottom:211.156000pt;}
.yec{bottom:211.328000pt;}
.y37{bottom:211.545333pt;}
.y23{bottom:212.034667pt;}
.y174{bottom:212.437333pt;}
.y58{bottom:212.484000pt;}
.yb3{bottom:212.762667pt;}
.yb4{bottom:212.764000pt;}
.y280{bottom:213.461333pt;}
.y10e{bottom:213.905333pt;}
.y1f5{bottom:213.932000pt;}
.y1c8{bottom:214.018667pt;}
.y17e{bottom:214.125333pt;}
.y157{bottom:214.184000pt;}
.y1e1{bottom:214.220000pt;}
.ye2{bottom:214.909333pt;}
.y13d{bottom:214.941333pt;}
.y8c{bottom:215.041333pt;}
.y1ca{bottom:215.057333pt;}
.y2b9{bottom:215.118667pt;}
.y14{bottom:215.382667pt;}
.y306{bottom:216.220000pt;}
.y288{bottom:216.402667pt;}
.y19d{bottom:216.841333pt;}
.y7a{bottom:216.906667pt;}
.yc7{bottom:217.353333pt;}
.y297{bottom:217.505333pt;}
.y2be{bottom:217.585333pt;}
.y100{bottom:218.294667pt;}
.yac{bottom:218.297333pt;}
.yf5{bottom:218.346667pt;}
.y168{bottom:219.624000pt;}
.y24f{bottom:220.102667pt;}
.y2ab{bottom:220.162667pt;}
.ya2{bottom:220.565333pt;}
.y204{bottom:220.733333pt;}
.y189{bottom:220.766667pt;}
.ya{bottom:221.314667pt;}
.y14d{bottom:221.584000pt;}
.y29f{bottom:222.380000pt;}
.y1bd{bottom:222.586667pt;}
.y2e8{bottom:223.010667pt;}
.y12b{bottom:223.429333pt;}
.y1ee{bottom:224.712000pt;}
.y2f6{bottom:224.782667pt;}
.y270{bottom:226.046667pt;}
.y278{bottom:226.732000pt;}
.y266{bottom:226.744000pt;}
.y57{bottom:226.996000pt;}
.y6a{bottom:227.100000pt;}
.y21d{bottom:227.408000pt;}
.y1e7{bottom:227.896000pt;}
.y121{bottom:227.982667pt;}
.y2d9{bottom:228.225333pt;}
.y36{bottom:228.348000pt;}
.y2cc{bottom:228.616000pt;}
.y134{bottom:228.889333pt;}
.y1d2{bottom:229.852000pt;}
.y1b{bottom:230.032000pt;}
.y2f4{bottom:230.158667pt;}
.y192{bottom:230.696000pt;}
.y2e0{bottom:230.714667pt;}
.y22a{bottom:230.729333pt;}
.y1c7{bottom:230.822667pt;}
.y314{bottom:231.000000pt;}
.ydf{bottom:231.214667pt;}
.y2b8{bottom:231.593333pt;}
.y23f{bottom:231.605333pt;}
.ye1{bottom:231.713333pt;}
.y8b{bottom:231.844000pt;}
.yc6{bottom:231.865333pt;}
.y173{bottom:232.230667pt;}
.yff{bottom:232.806667pt;}
.yf4{bottom:232.858667pt;}
.y1fc{bottom:233.538667pt;}
.y19c{bottom:233.645333pt;}
.y258{bottom:234.017333pt;}
.y27f{bottom:234.236000pt;}
.ybe{bottom:234.249333pt;}
.y296{bottom:234.309333pt;}
.y10d{bottom:234.681333pt;}
.y98{bottom:234.866667pt;}
.y4c{bottom:235.054667pt;}
.y28e{bottom:235.530667pt;}
.y2{bottom:236.222667pt;}
.y2aa{bottom:236.965333pt;}
.y2e7{bottom:237.522667pt;}
.y22{bottom:237.638667pt;}
.y247{bottom:237.885333pt;}
.y13{bottom:238.596000pt;}
.y1f4{bottom:238.905333pt;}
.yab{bottom:239.073333pt;}
.y2d{bottom:240.333333pt;}
.y24e{bottom:240.877333pt;}
.yd7{bottom:241.490667pt;}
.y56{bottom:241.508000pt;}
.y2fb{bottom:241.509333pt;}
.y1a8{bottom:241.541333pt;}
.y69{bottom:241.612000pt;}
.y17d{bottom:242.173333pt;}
.y14c{bottom:242.358667pt;}
.y117{bottom:242.673333pt;}
.y12a{bottom:244.205333pt;}
.y9{bottom:244.528000pt;}
.y120{bottom:244.786667pt;}
.y35{bottom:245.152000pt;}
.y1b1{bottom:245.845333pt;}
.y79{bottom:245.932000pt;}
.y1e0{bottom:246.253333pt;}
.y2bd{bottom:246.332000pt;}
.yc5{bottom:246.377333pt;}
.y235{bottom:246.526667pt;}
.yfe{bottom:247.320000pt;}
.yf3{bottom:247.370667pt;}
.y265{bottom:247.520000pt;}
.y155{bottom:247.790667pt;}
.yde{bottom:248.018667pt;}
.y2d2{bottom:248.150667pt;}
.y23e{bottom:248.409333pt;}
.ye0{bottom:248.517333pt;}
.y8a{bottom:248.648000pt;}
.y188{bottom:248.814667pt;}
.y43{bottom:249.000000pt;}
.y133{bottom:249.665333pt;}
.y19b{bottom:250.448000pt;}
.y295{bottom:251.113333pt;}
.y277{bottom:251.148000pt;}
.y229{bottom:251.504000pt;}
.y313{bottom:251.774667pt;}
.y2e6{bottom:252.034667pt;}
.y2b7{bottom:252.138667pt;}
.y156{bottom:252.869333pt;}
.y305{bottom:252.936000pt;}
.y2a9{bottom:253.769333pt;}
.yb2{bottom:254.792000pt;}
.y10c{bottom:255.456000pt;}
.y160{bottom:255.642667pt;}
.y167{bottom:255.705333pt;}
.y4b{bottom:255.829333pt;}
.y55{bottom:256.020000pt;}
.y68{bottom:256.124000pt;}
.y1c6{bottom:256.306667pt;}
.y1f3{bottom:257.236000pt;}
.y78{bottom:260.444000pt;}
.y11f{bottom:261.589333pt;}
.yfd{bottom:261.832000pt;}
.yf2{bottom:261.884000pt;}
.y13c{bottom:262.284000pt;}
.y172{bottom:262.948000pt;}
.y21{bottom:263.242667pt;}
.y1{bottom:263.720000pt;}
.y129{bottom:264.980000pt;}
.y89{bottom:265.452000pt;}
.y2e5{bottom:266.548000pt;}
.y1b0{bottom:266.621333pt;}
.y2b6{bottom:266.650667pt;}
.ya1{bottom:266.933333pt;}
.y234{bottom:267.301333pt;}
.y8{bottom:267.740000pt;}
.y97{bottom:268.925333pt;}
.y187{bottom:269.590667pt;}
.y54{bottom:270.532000pt;}
.y2c{bottom:272.366667pt;}
.y19a{bottom:272.897333pt;}
.y116{bottom:274.706667pt;}
.y294{bottom:274.890667pt;}
.yb1{bottom:275.568000pt;}
.y77{bottom:276.232000pt;}
.yfc{bottom:276.344000pt;}
.yf1{bottom:276.396000pt;}
.y34{bottom:278.758667pt;}
.ydd{bottom:280.204000pt;}
.y2e4{bottom:281.060000pt;}
.y2b5{bottom:281.162667pt;}
.y53{bottom:285.044000pt;}
.y67{bottom:285.148000pt;}
.y7{bottom:314.865333pt;}
.h13{height:15.940267pt;}
.h12{height:19.468298pt;}
.hf{height:19.666665pt;}
.ha{height:21.253600pt;}
.hd{height:22.125090pt;}
.h10{height:23.910400pt;}
.h9{height:24.512424pt;}
.hc{height:24.583269pt;}
.h14{height:24.669111pt;}
.h6{height:26.566933pt;}
.h11{height:26.918810pt;}
.hb{height:29.090933pt;}
.he{height:29.415105pt;}
.h5{height:29.500120pt;}
.h7{height:31.880533pt;}
.h4{height:35.961141pt;}
.h8{height:38.256533pt;}
.h3{height:51.794000pt;}
.h2{height:66.098933pt;}
.h0{height:340.157333pt;}
.h1{height:340.666667pt;}
.w0{width:604.724000pt;}
.w1{width:605.333333pt;}
.x0{left:0.000000pt;}
.x4{left:14.222667pt;}
.x4d{left:19.764000pt;}
.x4b{left:27.097333pt;}
.x31{left:28.822667pt;}
.x3a{left:32.492000pt;}
.x49{left:35.626667pt;}
.x1{left:37.794667pt;}
.xd{left:41.780000pt;}
.x5{left:45.984000pt;}
.x30{left:47.093333pt;}
.xb{left:48.300000pt;}
.x2f{left:49.281333pt;}
.x3d{left:51.078667pt;}
.x29{left:52.777333pt;}
.x3e{left:54.888000pt;}
.x2c{left:55.880000pt;}
.x2e{left:57.720000pt;}
.x10{left:58.717333pt;}
.x42{left:60.609333pt;}
.x47{left:62.132000pt;}
.xf{left:64.362667pt;}
.x35{left:65.754667pt;}
.x6{left:67.314667pt;}
.x3b{left:68.469333pt;}
.x44{left:69.676000pt;}
.xc{left:70.870667pt;}
.x9{left:73.862667pt;}
.x54{left:77.152000pt;}
.x28{left:78.372000pt;}
.x3c{left:80.169333pt;}
.x12{left:81.298667pt;}
.x4e{left:82.308000pt;}
.x56{left:83.856000pt;}
.x2b{left:85.650667pt;}
.x15{left:86.944000pt;}
.x16{left:91.992000pt;}
.x1a{left:95.977333pt;}
.x45{left:98.268000pt;}
.x19{left:99.716000pt;}
.x55{left:102.257333pt;}
.x4a{left:108.813333pt;}
.x1f{left:110.508000pt;}
.x34{left:111.572000pt;}
.x33{left:119.208000pt;}
.x50{left:121.154667pt;}
.x20{left:125.209333pt;}
.x14{left:132.108000pt;}
.x17{left:135.926667pt;}
.x1b{left:141.117333pt;}
.x8{left:142.362667pt;}
.x39{left:146.350667pt;}
.x4f{left:155.753333pt;}
.x48{left:157.346667pt;}
.x46{left:161.033333pt;}
.x1c{left:163.698667pt;}
.x11{left:165.981333pt;}
.x21{left:167.701333pt;}
.x32{left:170.630667pt;}
.x4c{left:174.616000pt;}
.x18{left:184.204000pt;}
.x1d{left:186.281333pt;}
.x1e{left:208.862667pt;}
.x2{left:211.340000pt;}
.xa{left:227.810667pt;}
.x36{left:231.620000pt;}
.x3f{left:248.901333pt;}
.x40{left:252.886667pt;}
.x37{left:259.350667pt;}
.x2d{left:269.777333pt;}
.x43{left:271.716000pt;}
.x41{left:277.992000pt;}
.x38{left:284.457333pt;}
.x22{left:302.884000pt;}
.x51{left:304.786667pt;}
.x26{left:307.416000pt;}
.x52{left:308.772000pt;}
.xe{left:311.668000pt;}
.x27{left:324.352000pt;}
.x23{left:327.989333pt;}
.x53{left:333.877333pt;}
.x24{left:353.096000pt;}
.x25{left:378.201333pt;}
.x2a{left:405.681333pt;}
.x3{left:504.940000pt;}
.x13{left:565.870667pt;}
.x7{left:571.516000pt;}
}
</style>
<script>
/*
Copyright 2012 Mozilla Foundation
Copyright 2013 Lu Wang <coolwanglu@gmail.com>
Apachine License Version 2.0
*/
(function(){function b(a,b,e,f){var c=(a.className||"").split(/\s+/g);""===c[0]&&c.shift();var d=c.indexOf(b);0>d&&e&&c.push(b);0<=d&&f&&c.splice(d,1);a.className=c.join(" ");return 0<=d}if(!("classList"in document.createElement("div"))){var e={add:function(a){b(this.element,a,!0,!1)},contains:function(a){return b(this.element,a,!1,!1)},remove:function(a){b(this.element,a,!1,!0)},toggle:function(a){b(this.element,a,!0,!0)}};Object.defineProperty(HTMLElement.prototype,"classList",{get:function(){if(this._classList)return this._classList;
var a=Object.create(e,{element:{value:this,writable:!1,enumerable:!0}});Object.defineProperty(this,"_classList",{value:a,writable:!1,enumerable:!1});return a},enumerable:!0})}})();
</script>
<script>
(function(){/*
pdf2htmlEX.js: Core UI functions for pdf2htmlEX
Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com> and other contributors
https://github.com/pdf2htmlEX/pdf2htmlEX/blob/master/share/LICENSE
*/
var pdf2htmlEX=window.pdf2htmlEX=window.pdf2htmlEX||{},CSS_CLASS_NAMES={page_frame:"pf",page_content_box:"pc",page_data:"pi",background_image:"bi",link:"l",input_radio:"ir",__dummy__:"no comma"},DEFAULT_CONFIG={container_id:"page-container",sidebar_id:"sidebar",outline_id:"outline",loading_indicator_cls:"loading-indicator",preload_pages:3,render_timeout:100,scale_step:0.9,key_handler:!0,hashchange_handler:!0,view_history_handler:!0,__dummy__:"no comma"},EPS=1E-6;
function invert(a){var b=a[0]*a[3]-a[1]*a[2];return[a[3]/b,-a[1]/b,-a[2]/b,a[0]/b,(a[2]*a[5]-a[3]*a[4])/b,(a[1]*a[4]-a[0]*a[5])/b]}function transform(a,b){return[a[0]*b[0]+a[2]*b[1]+a[4],a[1]*b[0]+a[3]*b[1]+a[5]]}function get_page_number(a){return parseInt(a.getAttribute("data-page-no"),16)}function disable_dragstart(a){for(var b=0,c=a.length;b<c;++b)a[b].addEventListener("dragstart",function(){return!1},!1)}
function clone_and_extend_objs(a){for(var b={},c=0,e=arguments.length;c<e;++c){var h=arguments[c],d;for(d in h)h.hasOwnProperty(d)&&(b[d]=h[d])}return b}
function Page(a){if(a){this.shown=this.loaded=!1;this.page=a;this.num=get_page_number(a);this.original_height=a.clientHeight;this.original_width=a.clientWidth;var b=a.getElementsByClassName(CSS_CLASS_NAMES.page_content_box)[0];b&&(this.content_box=b,this.original_scale=this.cur_scale=this.original_height/b.clientHeight,this.page_data=JSON.parse(a.getElementsByClassName(CSS_CLASS_NAMES.page_data)[0].getAttribute("data-data")),this.ctm=this.page_data.ctm,this.ictm=invert(this.ctm),this.loaded=!0)}}
Page.prototype={hide:function(){this.loaded&&this.shown&&(this.content_box.classList.remove("opened"),this.shown=!1)},show:function(){this.loaded&&!this.shown&&(this.content_box.classList.add("opened"),this.shown=!0)},rescale:function(a){this.cur_scale=0===a?this.original_scale:a;this.loaded&&(a=this.content_box.style,a.msTransform=a.webkitTransform=a.transform="scale("+this.cur_scale.toFixed(3)+")");a=this.page.style;a.height=this.original_height*this.cur_scale+"px";a.width=this.original_width*this.cur_scale+
"px"},view_position:function(){var a=this.page,b=a.parentNode;return[b.scrollLeft-a.offsetLeft-a.clientLeft,b.scrollTop-a.offsetTop-a.clientTop]},height:function(){return this.page.clientHeight},width:function(){return this.page.clientWidth}};function Viewer(a){this.config=clone_and_extend_objs(DEFAULT_CONFIG,0<arguments.length?a:{});this.pages_loading=[];this.init_before_loading_content();var b=this;document.addEventListener("DOMContentLoaded",function(){b.init_after_loading_content()},!1)}
Viewer.prototype={scale:1,cur_page_idx:0,first_page_idx:0,init_before_loading_content:function(){this.pre_hide_pages()},initialize_radio_button:function(){for(var a=document.getElementsByClassName(CSS_CLASS_NAMES.input_radio),b=0;b<a.length;b++)a[b].addEventListener("click",function(){this.classList.toggle("checked")})},init_after_loading_content:function(){this.sidebar=document.getElementById(this.config.sidebar_id);this.outline=document.getElementById(this.config.outline_id);this.container=document.getElementById(this.config.container_id);
this.loading_indicator=document.getElementsByClassName(this.config.loading_indicator_cls)[0];for(var a=!0,b=this.outline.childNodes,c=0,e=b.length;c<e;++c)if("ul"===b[c].nodeName.toLowerCase()){a=!1;break}a||this.sidebar.classList.add("opened");this.find_pages();if(0!=this.pages.length){disable_dragstart(document.getElementsByClassName(CSS_CLASS_NAMES.background_image));this.config.key_handler&&this.register_key_handler();var h=this;this.config.hashchange_handler&&window.addEventListener("hashchange",
function(a){h.navigate_to_dest(document.location.hash.substring(1))},!1);this.config.view_history_handler&&window.addEventListener("popstate",function(a){a.state&&h.navigate_to_dest(a.state)},!1);this.container.addEventListener("scroll",function(){h.update_page_idx();h.schedule_render(!0)},!1);[this.container,this.outline].forEach(function(a){a.addEventListener("click",h.link_handler.bind(h),!1)});this.initialize_radio_button();this.render()}},find_pages:function(){for(var a=[],b={},c=this.container.childNodes,
e=0,h=c.length;e<h;++e){var d=c[e];d.nodeType===Node.ELEMENT_NODE&&d.classList.contains(CSS_CLASS_NAMES.page_frame)&&(d=new Page(d),a.push(d),b[d.num]=a.length-1)}this.pages=a;this.page_map=b},load_page:function(a,b,c){var e=this.pages;if(!(a>=e.length||(e=e[a],e.loaded||this.pages_loading[a]))){var e=e.page,h=e.getAttribute("data-page-url");if(h){this.pages_loading[a]=!0;var d=e.getElementsByClassName(this.config.loading_indicator_cls)[0];"undefined"===typeof d&&(d=this.loading_indicator.cloneNode(!0),
d.classList.add("active"),e.appendChild(d));var f=this,g=new XMLHttpRequest;g.open("GET",h,!0);g.onload=function(){if(200===g.status||0===g.status){var b=document.createElement("div");b.innerHTML=g.responseText;for(var d=null,b=b.childNodes,e=0,h=b.length;e<h;++e){var p=b[e];if(p.nodeType===Node.ELEMENT_NODE&&p.classList.contains(CSS_CLASS_NAMES.page_frame)){d=p;break}}b=f.pages[a];f.container.replaceChild(d,b.page);b=new Page(d);f.pages[a]=b;b.hide();b.rescale(f.scale);disable_dragstart(d.getElementsByClassName(CSS_CLASS_NAMES.background_image));
f.schedule_render(!1);c&&c(b)}delete f.pages_loading[a]};g.send(null)}void 0===b&&(b=this.config.preload_pages);0<--b&&(f=this,setTimeout(function(){f.load_page(a+1,b)},0))}},pre_hide_pages:function(){var a="@media screen{."+CSS_CLASS_NAMES.page_content_box+"{display:none;}}",b=document.createElement("style");b.styleSheet?b.styleSheet.cssText=a:b.appendChild(document.createTextNode(a));document.head.appendChild(b)},render:function(){for(var a=this.container,b=a.scrollTop,c=a.clientHeight,a=b-c,b=
b+c+c,c=this.pages,e=0,h=c.length;e<h;++e){var d=c[e],f=d.page,g=f.offsetTop+f.clientTop,f=g+f.clientHeight;g<=b&&f>=a?d.loaded?d.show():this.load_page(e):d.hide()}},update_page_idx:function(){var a=this.pages,b=a.length;if(!(2>b)){for(var c=this.container,e=c.scrollTop,c=e+c.clientHeight,h=-1,d=b,f=d-h;1<f;){var g=h+Math.floor(f/2),f=a[g].page;f.offsetTop+f.clientTop+f.clientHeight>=e?d=g:h=g;f=d-h}this.first_page_idx=d;for(var g=h=this.cur_page_idx,k=0;d<b;++d){var f=a[d].page,l=f.offsetTop+f.clientTop,
f=f.clientHeight;if(l>c)break;f=(Math.min(c,l+f)-Math.max(e,l))/f;if(d===h&&Math.abs(f-1)<=EPS){g=h;break}f>k&&(k=f,g=d)}this.cur_page_idx=g}},schedule_render:function(a){if(void 0!==this.render_timer){if(!a)return;clearTimeout(this.render_timer)}var b=this;this.render_timer=setTimeout(function(){delete b.render_timer;b.render()},this.config.render_timeout)},register_key_handler:function(){var a=this;window.addEventListener("DOMMouseScroll",function(b){if(b.ctrlKey){b.preventDefault();var c=a.container,
e=c.getBoundingClientRect(),c=[b.clientX-e.left-c.clientLeft,b.clientY-e.top-c.clientTop];a.rescale(Math.pow(a.config.scale_step,b.detail),!0,c)}},!1);window.addEventListener("keydown",function(b){var c=!1,e=b.ctrlKey||b.metaKey,h=b.altKey;switch(b.keyCode){case 61:case 107:case 187:e&&(a.rescale(1/a.config.scale_step,!0),c=!0);break;case 173:case 109:case 189:e&&(a.rescale(a.config.scale_step,!0),c=!0);break;case 48:e&&(a.rescale(0,!1),c=!0);break;case 33:h?a.scroll_to(a.cur_page_idx-1):a.container.scrollTop-=
a.container.clientHeight;c=!0;break;case 34:h?a.scroll_to(a.cur_page_idx+1):a.container.scrollTop+=a.container.clientHeight;c=!0;break;case 35:a.container.scrollTop=a.container.scrollHeight;c=!0;break;case 36:a.container.scrollTop=0,c=!0}c&&b.preventDefault()},!1)},rescale:function(a,b,c){var e=this.scale;this.scale=a=0===a?1:b?e*a:a;c||(c=[0,0]);b=this.container;c[0]+=b.scrollLeft;c[1]+=b.scrollTop;for(var h=this.pages,d=h.length,f=this.first_page_idx;f<d;++f){var g=h[f].page;if(g.offsetTop+g.clientTop>=
c[1])break}g=f-1;0>g&&(g=0);var g=h[g].page,k=g.clientWidth,f=g.clientHeight,l=g.offsetLeft+g.clientLeft,m=c[0]-l;0>m?m=0:m>k&&(m=k);k=g.offsetTop+g.clientTop;c=c[1]-k;0>c?c=0:c>f&&(c=f);for(f=0;f<d;++f)h[f].rescale(a);b.scrollLeft+=m/e*a+g.offsetLeft+g.clientLeft-m-l;b.scrollTop+=c/e*a+g.offsetTop+g.clientTop-c-k;this.schedule_render(!0)},fit_width:function(){var a=this.cur_page_idx;this.rescale(this.container.clientWidth/this.pages[a].width(),!0);this.scroll_to(a)},fit_height:function(){var a=this.cur_page_idx;
this.rescale(this.container.clientHeight/this.pages[a].height(),!0);this.scroll_to(a)},get_containing_page:function(a){for(;a;){if(a.nodeType===Node.ELEMENT_NODE&&a.classList.contains(CSS_CLASS_NAMES.page_frame)){a=get_page_number(a);var b=this.page_map;return a in b?this.pages[b[a]]:null}a=a.parentNode}return null},link_handler:function(a){var b=a.target,c=b.getAttribute("data-dest-detail");if(c){if(this.config.view_history_handler)try{var e=this.get_current_view_hash();window.history.replaceState(e,
"","#"+e);window.history.pushState(c,"","#"+c)}catch(h){}this.navigate_to_dest(c,this.get_containing_page(b));a.preventDefault()}},navigate_to_dest:function(a,b){try{var c=JSON.parse(a)}catch(e){return}if(c instanceof Array){var h=c[0],d=this.page_map;if(h in d){for(var f=d[h],h=this.pages[f],d=2,g=c.length;d<g;++d){var k=c[d];if(null!==k&&"number"!==typeof k)return}for(;6>c.length;)c.push(null);var g=b||this.pages[this.cur_page_idx],d=g.view_position(),d=transform(g.ictm,[d[0],g.height()-d[1]]),
g=this.scale,l=[0,0],m=!0,k=!1,n=this.scale;switch(c[1]){case "XYZ":l=[null===c[2]?d[0]:c[2]*n,null===c[3]?d[1]:c[3]*n];g=c[4];if(null===g||0===g)g=this.scale;k=!0;break;case "Fit":case "FitB":l=[0,0];k=!0;break;case "FitH":case "FitBH":l=[0,null===c[2]?d[1]:c[2]*n];k=!0;break;case "FitV":case "FitBV":l=[null===c[2]?d[0]:c[2]*n,0];k=!0;break;case "FitR":l=[c[2]*n,c[5]*n],m=!1,k=!0}if(k){this.rescale(g,!1);var p=this,c=function(a){l=transform(a.ctm,l);m&&(l[1]=a.height()-l[1]);p.scroll_to(f,l)};h.loaded?
c(h):(this.load_page(f,void 0,c),this.scroll_to(f))}}}},scroll_to:function(a,b){var c=this.pages;if(!(0>a||a>=c.length)){c=c[a].view_position();void 0===b&&(b=[0,0]);var e=this.container;e.scrollLeft+=b[0]-c[0];e.scrollTop+=b[1]-c[1]}},get_current_view_hash:function(){var a=[],b=this.pages[this.cur_page_idx];a.push(b.num);a.push("XYZ");var c=b.view_position(),c=transform(b.ictm,[c[0],b.height()-c[1]]);a.push(c[0]/this.scale);a.push(c[1]/this.scale);a.push(this.scale);return JSON.stringify(a)}};
pdf2htmlEX.Viewer=Viewer;})();
</script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar">
<div id="outline">
</div>
</div>
<div id="page-container">
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">Mo<span class="_ _0"></span>dern<span class="_ _1"> </span>C++</div><div class="t m0 x1 h2 y2 ff1 fs0 fc0 sc0 ls0 ws0">Programming</div><div class="t m0 x1 h3 y3 ff2 fs1 fc0 sc0 ls0 ws0">21.<span class="_ _2"> </span>Perf<span class="_ _3"></span>ormance<span class="_ _4"> </span>Optimiza<span class="_ _5"></span>tion<span class="_ _4"> </span>I<span class="_ _0"></span>I</div><div class="t m0 x2 h4 y4 ff2 fs2 fc0 sc0 ls0 ws0">Code<span class="_ _6"> </span>Optimiza<span class="_ _7"></span>tion</div><div class="t m0 x1 h5 y5 ff3 fs3 fc0 sc0 ls0 ws0">F<span class="_ _3"></span>ederico<span class="_ _8"> </span>Busato</div><div class="t m0 x3 h6 y6 ff4 fs4 fc0 sc0 ls0 ws0">2023-12-21</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>able<span class="_ _8"> </span>of<span class="_ _9"> </span>Contents</div><div class="t m0 x5 h8 y8 ff1 fs4 fc2 sc0 ls0 ws0">1<span class="_ _a"> </span><span class="fs2 fc0">I/O<span class="_ _6"> </span>Op<span class="_ _b"></span>erations</span></div><div class="t m0 x6 h9 y9 ff5 fs4 fc0 sc0 ls0 ws0">printf</div><div class="t m0 x6 h6 ya ff4 fs4 fc0 sc0 ls0 ws0">Memo<span class="_ _3"></span>ry<span class="_ _c"> </span>Mapp<span class="_ _b"></span>ed<span class="_ _c"> </span>I/O</div><div class="t m0 x6 h6 yb ff4 fs4 fc0 sc0 ls0 ws0">Sp<span class="_ _b"></span>eed<span class="_ _c"> </span>Up<span class="_ _d"> </span>Ra<span class="_ _3"></span>w<span class="_ _c"> </span>Data<span class="_ _d"> </span>Loading</div><div class="t m0 x5 h8 yc ff1 fs4 fc2 sc0 ls0 ws0">2<span class="_ _a"> </span><span class="fs2 fc0">Memo<span class="_ _3"></span>ry<span class="_ _6"> </span>Optimizations</span></div><div class="t m0 x6 h6 yd ff4 fs4 fc0 sc0 ls0 ws0">Heap<span class="_ _d"> </span>Memory</div><div class="t m0 x6 h6 ye ff4 fs4 fc0 sc0 ls0 ws0">Stack<span class="_ _d"> </span>Memory</div><div class="t m0 x6 h6 yf ff4 fs4 fc0 sc0 ls0 ws0">Cache<span class="_ _d"> </span>Utilization</div><div class="t m0 x6 h6 y10 ff4 fs4 fc0 sc0 ls0 ws0">Data<span class="_ _d"> </span>Alignment</div><div class="t m0 x6 h6 y11 ff4 fs4 fc0 sc0 ls0 ws0">Memo<span class="_ _3"></span>ry<span class="_ _c"> </span>Prefetch</div><div class="t m0 x7 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">1/84</div><a class="l" href="#pf6" data-dest-detail='[6,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:70.614000px;bottom:294.334500px;width:102.826000px;height:16.145000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pfa" data-dest-detail='[10,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:270.363000px;width:33.374000px;height:10.327000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pfb" data-dest-detail='[11,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:243.748500px;width:91.130000px;height:11.955000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf10" data-dest-detail='[16,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:218.464500px;width:123.176000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf12" data-dest-detail='[18,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:70.614000px;bottom:175.572000px;width:151.843000px;height:14.745000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf13" data-dest-detail='[19,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:150.736500px;width:60.495000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf14" data-dest-detail='[20,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:124.621500px;width:62.294000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf15" data-dest-detail='[21,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:101.413500px;width:73.281000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf19" data-dest-detail='[25,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:72.393000px;width:68.299000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf1e" data-dest-detail='[30,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:46.278000px;width:73.917000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>able<span class="_ _8"> </span>of<span class="_ _9"> </span>Contents</div><div class="t m0 x5 h8 y13 ff1 fs4 fc2 sc0 ls0 ws0">3<span class="_ _a"> </span><span class="fs2 fc0">Arithmetic</span></div><div class="t m0 x6 h6 y14 ff4 fs4 fc0 sc0 ls0 ws0">Data<span class="_ _d"> </span>T<span class="_ _3"></span>ypes</div><div class="t m0 x6 h6 y15 ff4 fs4 fc0 sc0 ls0 ws0">Op<span class="_ _b"></span>erations</div><div class="t m0 x6 h6 y16 ff4 fs4 fc0 sc0 ls0 ws0">Conversion</div><div class="t m0 x6 h6 y17 ff4 fs4 fc0 sc0 ls0 ws0">Floating-P<span class="_ _3"></span>oint</div><div class="t m0 x6 h6 y18 ff4 fs4 fc0 sc0 ls0 ws0">Compiler<span class="_ _d"> </span>Intrinsic<span class="_ _c"> </span>F<span class="_ _3"></span>unctions</div><div class="t m0 x6 h6 y19 ff4 fs4 fc0 sc0 ls0 ws0">V<span class="_ _3"></span>alue<span class="_ _c"> </span>in<span class="_ _d"> </span>a<span class="_ _c"> </span>Range</div><div class="t m0 x6 h6 y1a ff4 fs4 fc0 sc0 ls0 ws0">Lo<span class="_ _b"></span>okup<span class="_ _d"> </span>T<span class="_ _3"></span>able</div><div class="t m0 x7 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">2/84</div><a class="l" href="#pf20" data-dest-detail='[32,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:70.614000px;bottom:264.186000px;width:71.611000px;height:13.782000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf22" data-dest-detail='[34,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:237.906000px;width:49.895000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf23" data-dest-detail='[35,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:211.791000px;width:47.294000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf27" data-dest-detail='[39,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:188.583000px;width:47.239000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf28" data-dest-detail='[40,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:159.562500px;width:61.436000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf2a" data-dest-detail='[42,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:133.447500px;width:118.750000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf30" data-dest-detail='[48,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:107.332500px;width:73.156000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf32" data-dest-detail='[50,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:81.219000px;width:58.807000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf4" class="pf w0 h0" data-page-no="4"><div class="pc pc4 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>able<span class="_ _8"> </span>of<span class="_ _9"> </span>Contents</div><div class="t m0 x5 h8 y1b ff1 fs4 fc2 sc0 ls0 ws0">4<span class="_ _a"> </span><span class="fs2 fc0">Control<span class="_ _6"> </span>Flo<span class="_ _3"></span>w</span></div><div class="t m0 x6 h6 y1c ff4 fs4 fc0 sc0 ls0 ws0">Lo<span class="_ _b"></span>op<span class="_ _d"> </span>Hoisting</div><div class="t m0 x6 h6 y1d ff4 fs4 fc0 sc0 ls0 ws0">Lo<span class="_ _b"></span>op<span class="_ _d"> </span>Unrolling</div><div class="t m0 x6 h6 y1e ff4 fs4 fc0 sc0 ls0 ws0">Branch<span class="_ _d"> </span>Hints<span class="_ _c"> </span>-<span class="_ _d"> </span><span class="ff7">[[likely]]<span class="_ _6"> </span>/<span class="_ _6"> </span>[[unlikely]]</span></div><div class="t m0 x6 h6 y1f ff4 fs4 fc0 sc0 ls0 ws0">Compiler<span class="_ _d"> </span>Hints<span class="_ _c"> </span>-<span class="_ _d"> </span><span class="ff7">[[assume]]</span></div><div class="t m0 x6 h6 y20 ff4 fs4 fc0 sc0 ls0 ws0">Recursion</div><div class="t m0 x7 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">3/84</div><a class="l" href="#pf35" data-dest-detail='[53,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:70.614000px;bottom:254.551500px;width:86.536000px;height:13.782000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf3b" data-dest-detail='[59,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:225.582000px;width:60.439000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf3c" data-dest-detail='[60,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:196.777500px;width:63.747000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf3e" data-dest-detail='[62,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:167.557500px;width:197.592000px;height:11.125000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf3f" data-dest-detail='[63,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:139.168500px;width:126.581000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf40" data-dest-detail='[64,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:113.269500px;width:42.161000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf5" class="pf w0 h0" data-page-no="5"><div class="pc pc5 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>able<span class="_ _8"> </span>of<span class="_ _9"> </span>Contents</div><div class="t m0 x5 h8 y21 ff1 fs4 fc2 sc0 ls0 ws0">5<span class="_ _a"> </span><span class="fs2 fc0">F<span class="_ _3"></span>unctions</span></div><div class="t m0 x6 h6 y22 ff4 fs4 fc0 sc0 ls0 ws0">F<span class="_ _3"></span>unction<span class="_ _c"> </span>Call<span class="_ _d"> </span>Cost</div><div class="t m0 x6 h6 y23 ff4 fs4 fc0 sc0 ls0 ws0">Argument<span class="_ _d"> </span>Passing</div><div class="t m0 x6 h6 y24 ff4 fs4 fc0 sc0 ls0 ws0">F<span class="_ _3"></span>unction<span class="_ _c"> </span>Optimizations</div><div class="t m0 x6 h6 y25 ff4 fs4 fc0 sc0 ls0 ws0">F<span class="_ _3"></span>unction<span class="_ _c"> </span>Inlining</div><div class="t m0 x6 h6 y26 ff4 fs4 fc0 sc0 ls0 ws0">P<span class="_ _3"></span>ointers<span class="_ _c"> </span>Aliasing</div><div class="t m0 x5 h8 y27 ff1 fs4 fc2 sc0 ls0 ws0">6<span class="_ _a"> </span><span class="fs2 fc0">Object-Oriented<span class="_ _6"> </span>Programming</span></div><div class="t m0 x5 h8 y28 ff1 fs4 fc2 sc0 ls0 ws0">7<span class="_ _a"> </span><span class="ff5 fs2 fc0">Std<span class="_ _6"> </span><span class="ff1">Lib<span class="_ _3"></span>ra<span class="_ _3"></span>ry<span class="_ _6"> </span>and<span class="_ _e"> </span>Other<span class="_ _6"> </span>Language<span class="_ _e"> </span>Asp<span class="_ _0"></span>ects</span></span></div><div class="t m0 x7 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">4/84</div><a class="l" href="#pf42" data-dest-detail='[66,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:70.614000px;bottom:291.913500px;width:64.888000px;height:13.782000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf43" data-dest-detail='[67,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:265.848000px;width:79.535000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf44" data-dest-detail='[68,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:234.138000px;width:77.598000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf47" data-dest-detail='[71,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:205.333500px;width:99.335000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf48" data-dest-detail='[72,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:176.529000px;width:71.870000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf4c" data-dest-detail='[76,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:74.235000px;bottom:147.726000px;width:71.676000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf50" data-dest-detail='[80,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:70.614000px;bottom:100.608000px;width:201.724000px;height:14.745000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf57" data-dest-detail='[87,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:70.614000px;bottom:53.491500px;width:270.846000px;height:14.745000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf6" class="pf w0 h0" data-page-no="6"><div class="pc pc6 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x8 h2 y29 ff1 fs0 fc0 sc0 ls0 ws0">I/O<span class="_ _1"> </span>Op<span class="_ _0"></span>erations</div><a class="l" href="#pf6" data-dest-detail='[6,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:158.662500px;bottom:195.801000px;width:176.211000px;height:26.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf7" class="pf w0 h0" data-page-no="7"><div class="pc pc7 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIX0lEQVR42u3YsQ2DMBRFUTvCoswMEVUmiCLqSGzGEhmHgiGyQSrKuDEdM3yFcyaw3m+unIfHmAAAIIzPulysAABANCIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAIBDrrVaAQCAOEopflIBAAhHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFJNAACASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApJoAAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUA4H9023wL/sTv6+1OAADncX9OOV/7tv1Saq0ZBACAEHb+3RQE3pyrpwAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">I/O<span class="_ _9"> </span>Operations</div><div class="t m0 x9 h8 y2a ff1 fs2 fc3 sc0 ls0 ws0">I/O<span class="_ _6"> </span>Op<span class="_ _b"></span>erations<span class="_ _6"> </span>a<span class="_ _3"></span>re<span class="_ _e"> </span>o<span class="_ _3"></span>rders<span class="_ _6"> </span>of<span class="_ _6"> </span>magnitude<span class="_ _e"> </span>slo<span class="_ _3"></span>w<span class="_ _3"></span>er<span class="_ _6"> </span>than</div><div class="t m0 xa h8 y2b ff1 fs2 fc3 sc0 ls0 ws0">memo<span class="_ _3"></span>ry<span class="_ _6"> </span>accesses</div><div class="t m0 x7 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">5/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf8" class="pf w0 h0" data-page-no="8"><div class="pc pc8 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">I/O<span class="_ _9"> </span>Streams</div><div class="t m0 x1 hb y2c ff4 fs6 fc0 sc0 ls0 ws0">In<span class="_ _c"> </span>general,<span class="_ _c"> </span>input/output<span class="_ _8"> </span>operations<span class="_ _f"> </span>a<span class="_ _3"></span>re<span class="_ _f"> </span>one<span class="_ _c"> </span>of<span class="_ _f"> </span>the<span class="_ _c"> </span>most<span class="_ _f"> </span>exp<span class="_ _b"></span>ensive</div><div class="t m0 xb hb y2d ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Use<span class="_ _10"> </span><span class="ff7">endl<span class="_ _10"> </span></span>fo<span class="_ _3"></span>r<span class="_ _10"> </span><span class="ff7">ostream<span class="_ _10"> </span></span>only<span class="_ _c"> </span>when<span class="_ _f"> </span>it<span class="_ _c"> </span>is<span class="_ _f"> </span>strictly<span class="_ _c"> </span>necessary<span class="_ _c"> </span>(p<span class="_ _3"></span>refer<span class="_ _10"> </span><span class="ff9">\<span class="ff7">n<span class="_ _d"> </span></span></span>)</span></div><div class="t m0 xb hb y2e ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Disable<span class="_ _c"> </span><span class="ffa">synchronization<span class="_ _f"> </span></span>with<span class="_ _10"> </span><span class="ff7">printf/scanf<span class="_ _d"> </span></span>:</span></div><div class="t m0 xc hc y2f ff7 fs4 fc0 sc0 ls0 ws0">std::ios<span class="_ _f"> </span>base::sync<span class="_ _c"> </span>with<span class="_ _f"> </span>stdio(false)</div><div class="t m0 xb hb y30 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Disable<span class="_ _c"> </span>IO<span class="_ _f"> </span><span class="ffa">flushing<span class="_ _9"> </span></span>when<span class="_ _f"> </span>mixing<span class="_ _10"> </span><span class="ff7">istream/ostream<span class="_ _10"> </span></span>calls:</span></div><div class="t m0 xc hc y31 ff7 fs4 fc0 sc0 ls0 ws0">&lt;istream<span class="_ _f"> </span>obj&gt;.tie(nullptr);</div><div class="t m0 xb hb y32 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Increase<span class="_ _c"> </span>IO<span class="_ _f"> </span><span class="ffa">buffer<span class="_ _c"> </span>size<span class="_ _0"></span></span>:</span></div><div class="t m0 xc hc y33 ff7 fs4 fc0 sc0 ls0 ws0">file.rdbuf()-&gt;pubsetbuf(buffer<span class="_ _f"> </span>var,<span class="_ _e"> </span>buffer<span class="_ _f"> </span>size);</div><div class="t m0 x7 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">6/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf9" class="pf w0 h0" data-page-no="9"><div class="pc pc9 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIeElEQVR42u3YsQ3CMBRFURvFooqYAVExAULUSNmMJRiHgiHYgCpKhRvTMQA0P+GcCezn5sp5dzglAAAI43G/rawAAEA0IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgI9ca7UCAABxlFL8pAIAEI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAwNJ1MzrrNE0eDADgO33fz+i0flIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpJgAAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFJNAACASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAP5arrVaAQCAOEopflIBAAhHpAIAIFIBAECkAgAgUgEA4FfdeNku/pLP89VLAwDMxf445LxZt/GVUmvNIAAAhPAGI6IaAi4mhtgAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">I/O<span class="_ _9"> </span>Streams<span class="_ _8"> </span>-<span class="_ _9"> </span>Example</div><div class="t m0 xd hd y34 ffb fs7 fc4 sc0 ls0 ws0">#include<span class="_ _11"> </span><span class="fc5">&lt;iostream&gt;</span></div><div class="t m0 xd hd y35 ff5 fs7 fc6 sc0 ls0 ws0">int<span class="_ _9"> </span><span class="ffc fc7">main<span class="fc0">()<span class="_ _9"> </span>{</span></span></div><div class="t m0 x6 hd y36 ffc fs7 fc0 sc0 ls0 ws0">std<span class="fc8">::</span>ifstream<span class="_ _9"> </span>fin;</div><div class="t m0 x6 hd y37 ffb fs7 fc5 sc0 ls0 ws0">//<span class="_ _9"> </span>--------------------------------------------------------</div><div class="t m0 x6 hd y38 ffc fs7 fc0 sc0 ls0 ws0">std<span class="fc8">::</span>ios_base<span class="fc8">::</span>sync_with_stdio(<span class="fc9">false</span>);<span class="_ _9"> </span><span class="ffb fc5">//<span class="_ _9"> </span>sync<span class="_ _e"> </span>disable</span></div><div class="t m0 x6 hd y39 ffc fs7 fc0 sc0 ls0 ws0">fin.tie(<span class="ff5 fc9">nullptr</span>);<span class="_ _12"> </span><span class="ffb fc5">//<span class="_ _9"> </span>flush<span class="_ _9"> </span>disable</span></div><div class="t m0 xe hd y3a ffb fs7 fc5 sc0 ls0 ws0">//<span class="_ _9"> </span>buffer<span class="_ _9"> </span>increase</div><div class="t m0 x6 hd y3b ff5 fs7 fc9 sc0 ls0 ws0">const<span class="_ _9"> </span><span class="fc6">int<span class="_ _9"> </span><span class="ffc fc0">BUFFER_SIZE<span class="_ _e"> </span><span class="fc8">=<span class="_ _9"> </span>1024<span class="_ _9"> </span>*<span class="_ _e"> </span>1024</span>;<span class="_ _13"> </span><span class="ffb fc5">//<span class="_ _9"> </span>1<span class="_ _9"> </span>MB</span></span></span></div><div class="t m0 x6 hd y3c ff5 fs7 fc6 sc0 ls0 ws0">char<span class="_ _9"> </span><span class="ffc fc0">buffer[BUFFER_SIZE];</span></div><div class="t m0 x6 hd y3d ffc fs7 fc0 sc0 ls0 ws0">fin.rdbuf()<span class="fc8">-&gt;</span>pubsetbuf(buffer,<span class="_ _9"> </span>BUFFER_SIZE);</div><div class="t m0 x6 hd y3e ffb fs7 fc5 sc0 ls0 ws0">//<span class="_ _9"> </span>--------------------------------------------------------</div><div class="t m0 x6 hd y3f ffc fs7 fc0 sc0 ls0 ws0">fin.open(filename);<span class="_ _9"> </span><span class="ffb fc5">//<span class="_ _9"> </span>Note:<span class="_ _e"> </span>open()<span class="_ _9"> </span>after<span class="_ _9"> </span>optimizations</span></div><div class="t m0 x6 hd y40 ffb fs7 fc5 sc0 ls0 ws0">//<span class="_ _9"> </span>IO<span class="_ _9"> </span>operations</div><div class="t m0 x6 hd y41 ffc fs7 fc0 sc0 ls0 ws0">fin.close();</div><div class="t m0 xd hd y42 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x7 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">7/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pfa" class="pf w0 h0" data-page-no="a"><div class="pc pca w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 he y7 ff5 fs3 fc1 sc0 ls0 ws0">printf</div><div class="t m0 xb hb y43 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _14"> </span><span class="ff7">printf<span class="_ _10"> </span><span class="ff4">is<span class="_ _c"> </span>faster<span class="_ _c"> </span>than<span class="_ _10"> </span></span>ostream<span class="_ _10"> </span><span class="ff4">(see<span class="_ _f"> </span></span>speed<span class="_ _15"> </span>test<span class="_ _15"> </span>link<span class="ff4">)</span></span></div><div class="t m0 xb hb y44 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">A<span class="_ _10"> </span><span class="ff7">printf<span class="_ _10"> </span></span>call<span class="_ _c"> </span>with<span class="_ _c"> </span>a<span class="_ _f"> </span>simple<span class="_ _c"> </span>format<span class="_ _c"> </span>string<span class="_ _c"> </span>ending<span class="_ _f"> </span>with<span class="_ _10"> </span><span class="ff9">\<span class="ff7">n<span class="_ _10"> </span></span></span>is<span class="_ _c"> </span>converted<span class="_ _c"> </span>to<span class="_ _f"> </span>a</span></div><div class="t m0 xc hb y45 ff7 fs6 fc0 sc0 ls0 ws0">puts()<span class="_ _10"> </span><span class="ff4">call</span></div><div class="t m0 xc hd y46 ffc fs7 fc0 sc0 ls0 ws0">printf(<span class="fca">&quot;Hello<span class="_ _9"> </span>World<span class="ff5 fcb">\n</span>&quot;</span>);</div><div class="t m0 xc hd y47 ffc fs7 fc0 sc0 ls0 ws0">printf(<span class="fca">&quot;%s<span class="ff5 fcb">\n</span>&quot;</span>,<span class="_ _9"> </span>string);</div><div class="t m0 xb hb y48 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">No<span class="_ _c"> </span>optimization<span class="_ _f"> </span>if<span class="_ _c"> </span>the<span class="_ _f"> </span>string<span class="_ _c"> </span>is<span class="_ _f"> </span>not<span class="_ _c"> </span>ending<span class="_ _c"> </span>with<span class="_ _10"> </span><span class="ff9">\<span class="ff7">n<span class="_ _10"> </span></span></span>or<span class="_ _c"> </span>one<span class="_ _c"> </span>or<span class="_ _c"> </span>mo<span class="_ _3"></span>re<span class="_ _10"> </span><span class="ff7">%<span class="_ _10"> </span></span>a<span class="_ _3"></span>re</span></div><div class="t m0 x6 hb y49 ff4 fs6 fc0 sc0 ls0 ws0">detected<span class="_ _c"> </span>in<span class="_ _c"> </span>the<span class="_ _f"> </span>format<span class="_ _c"> </span>string</div><div class="t m0 xb hd y4a ffc fs7 fcc sc0 ls0 ws0">www.ciselant.de/projects/gcc_printf/gcc_printf.html</div><div class="t m0 x7 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">8/84</div><a class="l" href="https://github.com/fmtlib/fmt#speed-tests"><div class="d m1" style="border-style:none;position:absolute;left:342.048000px;bottom:270.511500px;width:87.902000px;height:16.930000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="http://www.ciselant.de/projects/gcc_printf/gcc_printf.html"><div class="d m1" style="border-style:none;position:absolute;left:52.083000px;bottom:4.288500px;width:242.067000px;height:13.444000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pfb" class="pf w0 h0" data-page-no="b"><div class="pc pcb w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIX0lEQVR42u3YsQ3CMBRFURvFSskMUSomQIgaic2yRMZJkSGyAVVK3JiOMiX6QueM8Kqrl8frPQEAQBjbupysAABANCIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAICvXGu1AgAAcZRSPKkAAIQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkmAABApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUk0AAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIA8D+6fRqscOz1mI0AAPAzl9sz53Pf9ndKrTWDAAAQwgcXERQEQaXc0AAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Memo<span class="_ _3"></span>ry<span class="_ _9"> </span>Mapp<span class="_ _b"></span>ed<span class="_ _9"> </span>I/O</div><div class="t m0 x1 hb y4b ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _c"> </span><span class="ff1">memory-mapped<span class="_ _8"> </span>file<span class="_ _c"> </span></span>is<span class="_ _f"> </span>a<span class="_ _c"> </span>segment<span class="_ _f"> </span>of<span class="_ _c"> </span>virtual<span class="_ _f"> </span>memo<span class="_ _3"></span>ry<span class="_ _f"> </span>that<span class="_ _c"> </span>has<span class="_ _f"> </span>b<span class="_ _b"></span>een<span class="_ _c"> </span>assigned<span class="_ _f"> </span>a</div><div class="t m0 x1 hb y4c ff4 fs6 fc0 sc0 ls0 ws0">direct<span class="_ _c"> </span>byte-fo<span class="_ _3"></span>r-b<span class="_ _3"></span>yte<span class="_ _f"> </span>co<span class="_ _3"></span>rrelation<span class="_ _f"> </span>with<span class="_ _c"> </span>some<span class="_ _f"> </span>p<span class="_ _b"></span>ortion<span class="_ _c"> </span>of<span class="_ _c"> </span>a<span class="_ _c"> </span>file</div><div class="t m0 x1 hb y4d ff1 fs6 fc0 sc0 ls0 ws0">Benefits:</div><div class="t m0 xb hb y4e ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Orders<span class="_ _c"> </span>of<span class="_ _f"> </span>magnitude<span class="_ _c"> </span>faster<span class="_ _f"> </span>than<span class="_ _c"> </span>system<span class="_ _f"> </span>calls</span></div><div class="t m0 xb hb y4f ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Input<span class="_ _c"> </span>can<span class="_ _f"> </span>b<span class="_ _b"></span>e<span class="_ _c"> </span>“cached”<span class="_ _f"> </span>in<span class="_ _c"> </span>RAM<span class="_ _f"> </span>memo<span class="_ _3"></span>ry<span class="_ _f"> </span>(page/file<span class="_ _c"> </span>cache)</span></div><div class="t m0 xb hb y50 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">A<span class="_ _c"> </span>file<span class="_ _f"> </span>requires<span class="_ _c"> </span>disk<span class="_ _f"> </span>access<span class="_ _c"> </span>only<span class="_ _f"> </span>when<span class="_ _c"> </span>a<span class="_ _c"> </span>new<span class="_ _f"> </span>page<span class="_ _c"> </span>b<span class="_ _0"></span>ounda<span class="_ _3"></span>ry<span class="_ _c"> </span>is<span class="_ _c"> </span>crossed</span></div><div class="t m0 xb hb y51 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Memo<span class="_ _3"></span>ry-mapping<span class="_ _f"> </span>may<span class="_ _c"> </span>b<span class="_ _3"></span>ypass<span class="_ _c"> </span>the<span class="_ _f"> </span>page/sw<span class="_ _3"></span>ap<span class="_ _f"> </span>file<span class="_ _c"> </span>completely</span></div><div class="t m0 xb hb y52 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Load<span class="_ _c"> </span>and<span class="_ _f"> </span>sto<span class="_ _3"></span>re<span class="_ _f"> </span><span class="ffa">raw<span class="_ _9"> </span></span>data<span class="_ _c"> </span>(no<span class="_ _c"> </span>parsing/conversion)</span></div><div class="t m0 x7 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">9/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pfc" class="pf w0 h0" data-page-no="c"><div class="pc pcc w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAId0lEQVR42u3YsQlCMRSG0UResArOIFZOIGItuJlLOI6FQ7iB1eNVpomdA6jFfXLOBOFP83HzZndIAAAQxv12XVgBAIBoRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAAG+5tWYFAADiKKW4pAIAEI5IBQBApAIAgEgFAECkAgCASAUA4O8MM3rrNE0+DADgM7XWGb3WJRUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJFqAgAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAItUEAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAIDAcmvNCgAAxFFKcUkFACAckQoAgEgFAACRCgDA7AzjeW2FLz2OFyMAAPzKdn/KebXs4zOl3rtBAAAI4QXoQRoCLU+7YAAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Memo<span class="_ _3"></span>ry<span class="_ _9"> </span>Mapp<span class="_ _b"></span>ed<span class="_ _9"> </span>I/O<span class="_ _8"> </span>-<span class="_ _9"> </span>Example<span class="_ _16"> </span>1/2</div><div class="t m0 xd hf y53 ffb fs5 fc4 sc0 ls0 ws0">#if<span class="_ _8"> </span>!defined(__linux__)</div><div class="t m0 xf hf y54 ffb fs5 fc4 sc0 ls0 ws0">#error<span class="_ _8"> </span>It<span class="_ _17"> </span>works<span class="_ _8"> </span>only<span class="_ _17"> </span>on<span class="_ _8"> </span>linux</div><div class="t m0 xd hf y55 ffb fs5 fc4 sc0 ls0 ws0">#endif</div><div class="t m0 xd hf y56 ffb fs5 fc4 sc0 ls0 ws0">#include<span class="_ _6"> </span><span class="fc5">&lt;fcntl.h&gt;<span class="_ _18"> </span>//::open</span></div><div class="t m0 xd hf y57 ffb fs5 fc4 sc0 ls0 ws0">#include<span class="_ _6"> </span><span class="fc5">&lt;sys/mman.h&gt;<span class="_ _19"> </span>//::mmap</span></div><div class="t m0 xd hf y58 ffb fs5 fc4 sc0 ls0 ws0">#include<span class="_ _6"> </span><span class="fc5">&lt;sys/stat.h&gt;<span class="_ _19"> </span>//::open</span></div><div class="t m0 xd hf y59 ffb fs5 fc4 sc0 ls0 ws0">#include<span class="_ _6"> </span><span class="fc5">&lt;sys/types.h&gt;<span class="_ _1a"> </span>//::open</span></div><div class="t m0 xd hf y5a ffb fs5 fc4 sc0 ls0 ws0">#include<span class="_ _6"> </span><span class="fc5">&lt;unistd.h&gt;<span class="_ _1b"> </span>//::lseek</span></div><div class="t m0 xd hf y5b ffb fs5 fc5 sc0 ls0 ws0">//<span class="_ _8"> </span>usage:<span class="_ _17"> </span>./exec<span class="_ _8"> </span>&lt;file&gt;<span class="_ _17"> </span>&lt;byte_size&gt;<span class="_ _8"> </span>&lt;mode&gt;</div><div class="t m0 xd hf y5c ff5 fs5 fc6 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ffd fc7">main<span class="fc0">(</span></span>int<span class="_ _17"> </span><span class="ffd fc0">argc,<span class="_ _17"> </span></span>char<span class="ffd fc8">*<span class="_ _8"> </span><span class="fc0">argv[])<span class="_ _17"> </span>{</span></span></div><div class="t m0 x10 hf y5d ff5 fs5 fc6 sc0 ls0 ws0">size_t<span class="_ _8"> </span><span class="ffd fc0">file_size<span class="_ _17"> </span><span class="fc8">=<span class="_ _17"> </span></span>std<span class="fc8">::</span>stoll(argv[<span class="fc8">2</span>]);</span></div><div class="t m0 x10 hf y5e ff5 fs5 fc9 sc0 ls0 ws0">auto<span class="_ _1c"> </span><span class="ffd fc0">is_read<span class="_ _1c"> </span><span class="fc8">=<span class="_ _8"> </span></span>std<span class="fc8">::</span>string(argv[<span class="fc8">3</span>])<span class="_ _17"> </span><span class="fc8">==<span class="_ _17"> </span><span class="fca">&quot;READ&quot;</span></span>;</span></div><div class="t m0 x10 hf y5f ff5 fs5 fc6 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ffd fc0">fd<span class="_ _17"> </span><span class="fc8">=<span class="_ _17"> </span></span>is_read<span class="_ _8"> </span><span class="fc8">?<span class="_ _17"> </span>::</span>open(argv[<span class="fc8">1</span>],<span class="_ _17"> </span>O_RDONLY)<span class="_ _8"> </span><span class="fc8">:</span></span></div><div class="t m0 x11 hf y60 ffd fs5 fc8 sc0 ls0 ws0">::<span class="fc0">open(argv[</span>1<span class="fc0">],<span class="_ _8"> </span>O_RDWR<span class="_ _17"> </span></span>|<span class="_ _17"> </span><span class="fc0">O_CREAT<span class="_ _8"> </span></span>|<span class="_ _17"> </span><span class="fc0">O_TRUNC,<span class="_ _17"> </span>S_IRUSR<span class="_ _8"> </span></span>|<span class="_ _17"> </span><span class="fc0">S_IWUSR);</span></div><div class="t m0 x10 hf y61 ff5 fs5 fc9 sc0 ls0 ws0">if<span class="_ _8"> </span><span class="ffd fc0">(fd<span class="_ _17"> </span><span class="fc8">==<span class="_ _17"> </span>-1</span>)</span></div><div class="t m0 x12 hf y62 ffd fs5 fc0 sc0 ls0 ws0">ERROR(<span class="fca">&quot;::open&quot;</span>)<span class="_ _1d"> </span><span class="ffb fc5">//<span class="_ _8"> </span>try<span class="_ _17"> </span>to<span class="_ _8"> </span>get<span class="_ _17"> </span>the<span class="_ _8"> </span>last<span class="_ _17"> </span>byte</span></div><div class="t m0 x10 hf y63 ff5 fs5 fc9 sc0 ls0 ws0">if<span class="_ _8"> </span><span class="ffd fc0">(<span class="fc8">::</span>lseek(fd,<span class="_ _17"> </span></span>static_cast<span class="ffd fc8">&lt;</span><span class="fc6">off_t<span class="ffd fc8">&gt;<span class="fc0">(file_size<span class="_ _17"> </span></span>-<span class="_ _8"> </span>1<span class="fc0">),<span class="_ _17"> </span>SEEK_SET)<span class="_ _17"> </span></span>==<span class="_ _8"> </span>-1<span class="fc0">)</span></span></span></div><div class="t m0 x12 hf y64 ffd fs5 fc0 sc0 ls0 ws0">ERROR(<span class="fca">&quot;::lseek&quot;</span>)</div><div class="t m0 x10 hf y65 ff5 fs5 fc9 sc0 ls0 ws0">if<span class="_ _8"> </span><span class="ffd fc0">(<span class="fc8">!</span>is_read<span class="_ _17"> </span><span class="fc8">&amp;&amp;<span class="_ _17"> </span>::</span>write(fd,<span class="_ _8"> </span><span class="fca">&quot;&quot;</span>,<span class="_ _17"> </span><span class="fc8">1</span>)<span class="_ _17"> </span><span class="fc8">!=<span class="_ _8"> </span>1</span>)<span class="_ _17"> </span><span class="ffb fc5">//<span class="_ _17"> </span>try<span class="_ _8"> </span>to<span class="_ _17"> </span>write</span></span></div><div class="t m0 x12 hf y66 ffd fs5 fc0 sc0 ls0 ws0">ERROR(<span class="fca">&quot;::write&quot;</span>)</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">10/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pfd" class="pf w0 h0" data-page-no="d"><div class="pc pcd w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAId0lEQVR42u3YsQlCMRSG0UResArOIFZOIGItuJlLOI6FQ7iB1eNVpomdtQjCfXLOBOFP83HzZndIAAAQxv12XVgBAIBoRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAAG+5tWYFAADiKKW4pAIAEI5IBQBApAIAgEgFAECkAgCASAUA4O8MM3rrNE0+DADgO7XWGb3WJRUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJFqAgAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAItUEAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAIDAcmvNCgAAxFFKcUkFACAckQoAgEgFAACRCgDA7AzjeW2FX3scL0YAAPjQdn/KebXs4zOl3rtBAAAI4QWs9RoC9W+vdAAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Memo<span class="_ _3"></span>ry<span class="_ _17"> </span>Mapp<span class="_ _0"></span>ed<span class="_ _8"> </span>I/O<span class="_ _17"> </span>Example<span class="_ _1e"> </span>2/2</div><div class="t m0 xd hf y67 ff5 fs5 fc9 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ffd fc0">mm_mode<span class="_ _17"> </span><span class="fc8">=<span class="_ _17"> </span></span>(is_read)<span class="_ _8"> </span><span class="fc8">?<span class="_ _17"> </span></span>PROT_READ<span class="_ _17"> </span><span class="fc8">:<span class="_ _8"> </span></span>PROT_WRITE;</span></div><div class="t m0 xd hf y68 ffb fs5 fc5 sc0 ls0 ws0">//<span class="_ _8"> </span>Open<span class="_ _17"> </span>Memory<span class="_ _8"> </span>Mapped<span class="_ _17"> </span>file</div><div class="t m0 xd hf y69 ff5 fs5 fc9 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ffd fc0">mmap_ptr<span class="_ _17"> </span><span class="fc8">=<span class="_ _17"> </span></span></span>static_cast<span class="ffd fc8">&lt;</span><span class="fc6">char<span class="ffd fc8">*&gt;<span class="fc0">(</span></span></span></div><div class="t m0 x14 hf y6a ffd fs5 fc8 sc0 ls0 ws0">::<span class="fc0">mmap(<span class="ff5 fc9">nullptr</span>,<span class="_ _8"> </span>file_size,<span class="_ _17"> </span>mm_mode,<span class="_ _17"> </span>MAP_SHARED,<span class="_ _8"> </span>fd,<span class="_ _17"> </span></span>0<span class="fc0">)<span class="_ _17"> </span>);</span></div><div class="t m0 xd hf y6b ff5 fs5 fc9 sc0 ls0 ws0">if<span class="_ _8"> </span><span class="ffd fc0">(mmap_ptr<span class="_ _17"> </span><span class="fc8">==<span class="_ _17"> </span></span>MAP_FAILED)</span></div><div class="t m0 xf hf y6c ffd fs5 fc0 sc0 ls0 ws0">ERROR(<span class="fca">&quot;::mmap&quot;</span>);</div><div class="t m0 xd hf y6d ffb fs5 fc5 sc0 ls0 ws0">//<span class="_ _8"> </span>Advise<span class="_ _17"> </span>sequential<span class="_ _8"> </span>access</div><div class="t m0 xd hf y6e ff5 fs5 fc9 sc0 ls0 ws0">if<span class="_ _8"> </span><span class="ffd fc0">(<span class="fc8">::</span>madvise(mmap_ptr,<span class="_ _17"> </span>file_size,<span class="_ _17"> </span>MADV_SEQUENTIAL)<span class="_ _8"> </span><span class="fc8">==<span class="_ _17"> </span>-1</span>)</span></div><div class="t m0 xf hf y6f ffd fs5 fc0 sc0 ls0 ws0">ERROR(<span class="fca">&quot;::madvise&quot;</span>);</div><div class="t m0 xd hf y70 ffb fs5 fc5 sc0 ls0 ws0">//<span class="_ _8"> </span>MemoryMapped<span class="_ _17"> </span>Operations</div><div class="t m0 xd hf y71 ffb fs5 fc5 sc0 ls0 ws0">//<span class="_ _8"> </span>read<span class="_ _17"> </span>from/write<span class="_ _8"> </span>to<span class="_ _17"> </span>&quot;mmap_ptr&quot;<span class="_ _8"> </span>as<span class="_ _17"> </span>a<span class="_ _8"> </span>normal<span class="_ _17"> </span>array:<span class="_ _8"> </span>mmap_ptr[i]</div><div class="t m0 xd hf y72 ffb fs5 fc5 sc0 ls0 ws0">//<span class="_ _8"> </span>Close<span class="_ _17"> </span>Memory<span class="_ _8"> </span>Mapped<span class="_ _17"> </span>file</div><div class="t m0 xd hf y73 ff5 fs5 fc9 sc0 ls0 ws0">if<span class="_ _8"> </span><span class="ffd fc0">(<span class="fc8">::</span>munmap(mmap_ptr,<span class="_ _17"> </span>file_size)<span class="_ _17"> </span><span class="fc8">==<span class="_ _8"> </span>-1</span>)</span></div><div class="t m0 xf hf y74 ffd fs5 fc0 sc0 ls0 ws0">ERROR(<span class="fca">&quot;::munmap&quot;</span>);</div><div class="t m0 xd hf y75 ff5 fs5 fc9 sc0 ls0 ws0">if<span class="_ _8"> </span><span class="ffd fc0">(<span class="fc8">::</span>close(fd)<span class="_ _17"> </span><span class="fc8">==<span class="_ _17"> </span>-1</span>)</span></div><div class="t m0 xf hf y76 ffd fs5 fc0 sc0 ls0 ws0">ERROR(<span class="fca">&quot;::close&quot;</span>);</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">11/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pfe" class="pf w0 h0" data-page-no="e"><div class="pc pce w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAId0lEQVR42u3YsQkCMRiG4UQuWB3OIFZOIGIt3GYu4TgWDuEGVsdVpomFYK8I/gfPM0H40rz8ebM7JAAACON2vSysAABANCIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAIC3XGu1AgAAcZRSXFIBAAhHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAHygm9Fbp2nyYQAA3+n7fkavdUkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkmgAAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAgF/LtVYrAAAQRynFJRUAgHBEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAAouvG09oKf3c/no0AAPCy3Q85r5ZtfKTUWjMIAAAhPAHzVBoCookOqwAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Lo<span class="_ _3"></span>w-Level<span class="_ _17"> </span>Pa<span class="_ _3"></span>rsing<span class="_ _1f"> </span>1/2</div><div class="t m0 x1 hb y77 ff4 fs6 fc0 sc0 ls0 ws0">Consider<span class="_ _c"> </span>using<span class="_ _c"> </span>optimized<span class="_ _f"> </span>(low-level)<span class="_ _c"> </span>numeric<span class="_ _c"> </span>conversion<span class="_ _c"> </span>routines:</div><div class="t m0 xd hf y78 ff5 fs5 fc9 sc0 ls0 ws0">template<span class="ffd fc8">&lt;</span><span class="fc6">int<span class="_ _8"> </span><span class="ffd fc0">N,<span class="_ _17"> </span></span>unsigned<span class="_ _17"> </span><span class="ffd fc0">MUL,<span class="_ _8"> </span></span>int<span class="_ _17"> </span><span class="ffd fc0">INDEX<span class="_ _17"> </span><span class="fc8">=<span class="_ _8"> </span>0&gt;</span></span></span></div><div class="t m0 xd hf y79 ff5 fs5 fc9 sc0 ls0 ws0">struct<span class="_ _8"> </span><span class="fc7">fastStringToIntStr<span class="ffd fc0">;</span></span></div><div class="t m0 xd hf y7a ff5 fs5 fc9 sc0 ls0 ws0">inline<span class="_ _8"> </span><span class="fc6">unsigned<span class="_ _17"> </span><span class="ffd fc7">fastStringToUnsigned<span class="fc0">(</span></span></span>const<span class="_ _17"> </span><span class="fc6">char<span class="ffd fc8">*<span class="_ _8"> </span><span class="fc0">str,<span class="_ _17"> </span></span></span>int<span class="_ _17"> </span><span class="ffd fc0">length)<span class="_ _8"> </span>{</span></span></div><div class="t m0 xf hf y7b ff5 fs5 fc9 sc0 ls0 ws0">switch<span class="ffd fc0">(length)<span class="_ _8"> </span>{</span></div><div class="t m0 x15 hf y7c ff5 fs5 fc9 sc0 ls0 ws0">case<span class="_ _8"> </span><span class="ffd fc8">10<span class="fc0">:<span class="_ _17"> </span></span></span>return<span class="_ _17"> </span><span class="ffd fc0">fastStringToIntStr<span class="fc8">&lt;10</span>,<span class="_ _8"> </span><span class="fc8">1000000000&gt;::</span>aux(str);</span></div><div class="t m0 x15 hf y7d ff5 fs5 fc9 sc0 ls0 ws0">case<span class="_ _14"> </span><span class="ffd fc8">9<span class="fc0">:<span class="_ _8"> </span></span></span>return<span class="_ _17"> </span><span class="ffd fc0">fastStringToIntStr<span class="fc8">&lt;<span class="_ _17"> </span>9</span>,<span class="_ _8"> </span><span class="fc8">100000000&gt;::</span>aux(str);</span></div><div class="t m0 x15 hf y7e ff5 fs5 fc9 sc0 ls0 ws0">case<span class="_ _14"> </span><span class="ffd fc8">8<span class="fc0">:<span class="_ _8"> </span></span></span>return<span class="_ _17"> </span><span class="ffd fc0">fastStringToIntStr<span class="fc8">&lt;<span class="_ _17"> </span>8</span>,<span class="_ _8"> </span><span class="fc8">10000000&gt;::</span>aux(str);</span></div><div class="t m0 x15 hf y7f ff5 fs5 fc9 sc0 ls0 ws0">case<span class="_ _14"> </span><span class="ffd fc8">7<span class="fc0">:<span class="_ _8"> </span></span></span>return<span class="_ _17"> </span><span class="ffd fc0">fastStringToIntStr<span class="fc8">&lt;<span class="_ _17"> </span>7</span>,<span class="_ _8"> </span><span class="fc8">1000000&gt;::</span>aux(str);</span></div><div class="t m0 x15 hf y80 ff5 fs5 fc9 sc0 ls0 ws0">case<span class="_ _14"> </span><span class="ffd fc8">6<span class="fc0">:<span class="_ _8"> </span></span></span>return<span class="_ _17"> </span><span class="ffd fc0">fastStringToIntStr<span class="fc8">&lt;<span class="_ _17"> </span>6</span>,<span class="_ _8"> </span><span class="fc8">100000&gt;::</span>aux(str);</span></div><div class="t m0 x15 hf y81 ff5 fs5 fc9 sc0 ls0 ws0">case<span class="_ _14"> </span><span class="ffd fc8">5<span class="fc0">:<span class="_ _8"> </span></span></span>return<span class="_ _17"> </span><span class="ffd fc0">fastStringToIntStr<span class="fc8">&lt;<span class="_ _17"> </span>5</span>,<span class="_ _8"> </span><span class="fc8">10000&gt;::</span>aux(str);</span></div><div class="t m0 x15 hf y82 ff5 fs5 fc9 sc0 ls0 ws0">case<span class="_ _14"> </span><span class="ffd fc8">4<span class="fc0">:<span class="_ _8"> </span></span></span>return<span class="_ _17"> </span><span class="ffd fc0">fastStringToIntStr<span class="fc8">&lt;<span class="_ _17"> </span>4</span>,<span class="_ _8"> </span><span class="fc8">1000&gt;::</span>aux(str);</span></div><div class="t m0 x15 hf y83 ff5 fs5 fc9 sc0 ls0 ws0">case<span class="_ _14"> </span><span class="ffd fc8">3<span class="fc0">:<span class="_ _8"> </span></span></span>return<span class="_ _17"> </span><span class="ffd fc0">fastStringToIntStr<span class="fc8">&lt;<span class="_ _17"> </span>3</span>,<span class="_ _8"> </span><span class="fc8">100&gt;::</span>aux(str);</span></div><div class="t m0 x15 hf y84 ff5 fs5 fc9 sc0 ls0 ws0">case<span class="_ _14"> </span><span class="ffd fc8">2<span class="fc0">:<span class="_ _8"> </span></span></span>return<span class="_ _17"> </span><span class="ffd fc0">fastStringToIntStr<span class="fc8">&lt;<span class="_ _17"> </span>2</span>,<span class="_ _8"> </span><span class="fc8">10&gt;::</span>aux(str);</span></div><div class="t m0 x15 hf y85 ff5 fs5 fc9 sc0 ls0 ws0">case<span class="_ _14"> </span><span class="ffd fc8">1<span class="fc0">:<span class="_ _8"> </span></span></span>return<span class="_ _17"> </span><span class="ffd fc0">fastStringToIntStr<span class="fc8">&lt;<span class="_ _17"> </span>1</span>,<span class="_ _8"> </span><span class="fc8">1&gt;::</span>aux(str);</span></div><div class="t m0 x15 hf y86 ff5 fs5 fc9 sc0 ls0 ws0">default<span class="ffd fc8">:<span class="_ _8"> </span></span>return<span class="_ _17"> </span><span class="ffd fc8">0<span class="fc0">;</span></span></div><div class="t m0 xf hf y87 ffd fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 xd hf y88 ffd fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">12/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pff" class="pf w0 h0" data-page-no="f"><div class="pc pcf w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAImUlEQVR42u3ZsU0DQRCG0Vt0I6KTa7AcUQFCxEhugcD1uAl34MA1IBFQBB0QWRdgJjlnDgnsZA7eq2D1b/Jpt60enzsAACjj8+P9zgoAAFQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAuGiZaQUAAOqICC+pAACUI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAC/6Wd01nEcXRgAwHWGYZjRab2kAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUk0AAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAf1PLTCsAAFBHRHhJBQCgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAAbtPP5aDfp9P6dePCYF7eDnsjAHCFlplWAACgjojw3Q8AQDkiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAABwi/64XVqhuK+XnREAgP/j4Wnd2uJ+Ov503TRNBgEAoIQz9u0jABjvgJsAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Lo<span class="_ _3"></span>w-Level<span class="_ _17"> </span>Pa<span class="_ _3"></span>rsing<span class="_ _1f"> </span>2/2</div><div class="t m0 xd hd y89 ff5 fs7 fc9 sc0 ls0 ws0">template<span class="ffc fc8">&lt;</span><span class="fc6">int<span class="_ _9"> </span><span class="ffc fc0">N,<span class="_ _9"> </span></span>unsigned<span class="_ _e"> </span><span class="ffc fc0">MUL,<span class="_ _9"> </span></span>int<span class="_ _9"> </span><span class="ffc fc0">INDEX<span class="fc8">&gt;</span></span></span></div><div class="t m0 xd hd y8a ff5 fs7 fc9 sc0 ls0 ws0">struct<span class="_ _9"> </span><span class="fc7">fastStringToIntStr<span class="_ _9"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x6 hd y8b ff5 fs7 fc9 sc0 ls0 ws0">static<span class="_ _9"> </span>inline<span class="_ _9"> </span><span class="fc6">unsigned<span class="_ _e"> </span><span class="ffc fc7">aux<span class="fc0">(</span></span></span>const<span class="_ _9"> </span><span class="fc6">char<span class="ffc fc8">*<span class="_ _9"> </span><span class="fc0">str)<span class="_ _e"> </span>{</span></span></span></div><div class="t m0 x16 hd y8c ff5 fs7 fc9 sc0 ls0 ws0">return<span class="_ _9"> </span>static_cast<span class="ffc fc8">&lt;</span><span class="fc6">unsigned<span class="ffc fc8">&gt;<span class="fc0">(str[INDEX]<span class="_ _9"> </span></span>-<span class="_ _e"> </span><span class="ffe fca">&apos;<span class="ffc">0</span>&apos;</span><span class="fc0">)<span class="_ _9"> </span></span>*<span class="_ _9"> </span><span class="fc0">MUL<span class="_ _20"> </span></span>+</span></span></div><div class="t m0 x17 hd y8d ffc fs7 fc0 sc0 ls0 ws0">fastStringToIntStr<span class="fc8">&lt;</span>N<span class="_ _9"> </span><span class="fc8">-<span class="_ _9"> </span>1</span>,<span class="_ _e"> </span>MUL<span class="_ _9"> </span><span class="fc8">/<span class="_ _9"> </span>10</span>,<span class="_ _e"> </span>INDEX<span class="_ _9"> </span><span class="fc8">+<span class="_ _9"> </span>1&gt;::</span>aux(str);</div><div class="t m0 x6 hd y8e ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xd hd y8f ffc fs7 fc0 sc0 ls0 ws0">};</div><div class="t m0 xd hd y90 ff5 fs7 fc9 sc0 ls0 ws0">template<span class="ffc fc8">&lt;</span><span class="fc6">unsigned<span class="_ _9"> </span><span class="ffc fc0">MUL,<span class="_ _9"> </span></span>int<span class="_ _e"> </span><span class="ffc fc0">INDEX<span class="fc8">&gt;</span></span></span></div><div class="t m0 xd hd y91 ff5 fs7 fc9 sc0 ls0 ws0">struct<span class="_ _9"> </span><span class="fc7">fastStringToIntStr<span class="ffc fc8">&lt;1<span class="fc0">,<span class="_ _9"> </span>MUL,<span class="_ _e"> </span>INDEX</span>&gt;<span class="_ _9"> </span><span class="fc0">{</span></span></span></div><div class="t m0 x6 hd y92 ff5 fs7 fc9 sc0 ls0 ws0">static<span class="_ _9"> </span>inline<span class="_ _9"> </span><span class="fc6">unsigned<span class="_ _e"> </span><span class="ffc fc7">aux<span class="fc0">(</span></span></span>const<span class="_ _9"> </span><span class="fc6">char<span class="ffc fc8">*<span class="_ _9"> </span><span class="fc0">str)<span class="_ _e"> </span>{</span></span></span></div><div class="t m0 x16 hd y93 ff5 fs7 fc9 sc0 ls0 ws0">return<span class="_ _9"> </span>static_cast<span class="ffc fc8">&lt;</span><span class="fc6">unsigned<span class="ffc fc8">&gt;<span class="fc0">(str[INDEX]<span class="_ _9"> </span></span>-<span class="_ _e"> </span><span class="ffe fca">&apos;<span class="ffc">0</span>&apos;</span><span class="fc0">);</span></span></span></div><div class="t m0 x6 hd y94 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xd hd y95 ffc fs7 fc0 sc0 ls0 ws0">};</div><div class="t m0 xb h10 y96 fff fs7 fcc sc0 ls0 ws0">F<span class="_ _3"></span>aster<span class="_ _d"> </span>parsing:<span class="_ _f"> </span><span class="ffc">lemire.me/blog/tag/simd-swar-parsing</span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">13/84</div><a class="l" href="https://lemire.me/blog/tag/simd-swar-parsing/"><div class="d m1" style="border-style:none;position:absolute;left:142.776000px;bottom:6.747000px;width:171.457000px;height:13.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf10" class="pf w0 h0" data-page-no="10"><div class="pc pc10 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Sp<span class="_ _b"></span>eed<span class="_ _17"> </span>Up<span class="_ _17"> </span>Raw<span class="_ _8"> </span>Data<span class="_ _9"> </span>Loading<span class="_ _21"> </span>1/2</div><div class="t m0 xb hb y97 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Ha<span class="_ _3"></span>rd<span class="_ _f"> </span>disk<span class="_ _c"> </span>is<span class="_ _f"> </span>orders<span class="_ _c"> </span>of<span class="_ _c"> </span>magnitude<span class="_ _c"> </span>slow<span class="_ _3"></span>er<span class="_ _c"> </span>than<span class="_ _c"> </span>RAM</span></div><div class="t m0 xb hb y98 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">P<span class="_ _3"></span>arsing<span class="_ _c"> </span>is<span class="_ _c"> </span>faster<span class="_ _f"> </span>than<span class="_ _c"> </span>data<span class="_ _f"> </span>reading</span></div><div class="t m0 xb hb y99 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">P<span class="_ _3"></span>arsing<span class="_ _c"> </span>can<span class="_ _c"> </span>b<span class="_ _b"></span>e<span class="_ _f"> </span>avoided<span class="_ _c"> </span>by<span class="_ _c"> </span>using<span class="_ _c"> </span><span class="ffa">binary<span class="_ _9"> </span></span>sto<span class="_ _3"></span>rage<span class="_ _f"> </span>and<span class="_ _10"> </span><span class="ff7">mmap</span></span></div><div class="t m0 xb hb y9a ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Decreasing<span class="_ _c"> </span>the<span class="_ _f"> </span>numb<span class="_ _b"></span>er<span class="_ _c"> </span>of<span class="_ _f"> </span>ha<span class="_ _3"></span>rd<span class="_ _f"> </span>disk<span class="_ _c"> </span>accesses<span class="_ _f"> </span>improves<span class="_ _c"> </span>the<span class="_ _c"> </span>p<span class="_ _b"></span>erfo<span class="_ _3"></span>rmance<span class="_ _f"> </span><span class="ff10">→</span></span></div><div class="t m0 x6 hb y9b ff1 fs6 fc0 sc0 ls0 ws0">comp<span class="_ _3"></span>ression</div><div class="t m0 x1 hb y9c ff1 fs6 fc0 sc0 ls0 ws0">LZ4<span class="_ _c"> </span><span class="ff4">is<span class="_ _c"> </span>lossless<span class="_ _f"> </span>compression<span class="_ _c"> </span>algo<span class="_ _3"></span>rithm<span class="_ _c"> </span>providing<span class="_ _c"> </span><span class="ffa">extremely<span class="_ _c"> </span>fast<span class="_ _f"> </span>decomp<span class="_ _3"></span>ression<span class="_ _f"> </span><span class="ff4">up<span class="_ _f"> </span>to</span></span></span></div><div class="t m0 x1 hb y9d ff4 fs6 fc0 sc0 ls0 ws0">35%<span class="_ _c"> </span>of<span class="_ _17"> </span><span class="ff7">memcpy<span class="_ _f"> </span></span>and<span class="_ _c"> </span>go<span class="_ _b"></span>o<span class="_ _b"></span>d<span class="_ _f"> </span>compression<span class="_ _c"> </span>ratio</div><div class="t m0 x1 h11 y9e ff7 fs6 fc0 sc0 ls0 ws0">github.com/lz4/lz4</div><div class="t m0 x1 hb y9f ff4 fs6 fc0 sc0 ls0 ws0">Another<span class="_ _c"> </span>alternative<span class="_ _c"> </span>is<span class="_ _f"> </span><span class="ff1">Facebo<span class="_ _b"></span>ok<span class="_ _8"> </span>zstd</span></div><div class="t m0 x1 h11 ya0 ff7 fs6 fc0 sc0 ls0 ws0">github.com/facebook/zstd</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">14/84</div><a class="l" href="https://github.com/lz4/lz4"><div class="d m1" style="border-style:none;position:absolute;left:41.025000px;bottom:80.044500px;width:105.083000px;height:11.992000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://github.com/facebook/zstd"><div class="d m1" style="border-style:none;position:absolute;left:41.025000px;bottom:17.646000px;width:139.447000px;height:11.993000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf11" class="pf w0 h0" data-page-no="11"><div class="pc pc11 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIrklEQVR42u3ZIU7EUBSG0T7SFzIY1kBQ6ApC0DSkG2MT7KWiCHZQww5QY9pwTXFoTMkd5pwl/OrLveX2/rEBAIA0Pt7fLqwAAEA2IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgB8lIqwAAEAetVaXVAAA0hGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCAHAiWhOktaxr1w92AIA9zNNohMxcUvO6OhyMAACcpxIRVgAAII9aq0sqAADpiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQCAP9SaIK1lXbt+sAMA7GGeRiNkViLCCgAA5FFr9e4HACAdkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEg1AQAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAgLPVmiCtZV27frADAOxhnkYjZFYiwgoAAORRa/XuBwAgHZEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAAPAL7fHlxgr/3ufTqxEAgFNx9/BcyvXldvxqmm3bDAIAQArfZucvGjo49qkAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Sp<span class="_ _b"></span>eed<span class="_ _17"> </span>Up<span class="_ _17"> </span>Raw<span class="_ _8"> </span>Data<span class="_ _9"> </span>Loading<span class="_ _21"> </span>2/2</div><div class="t m0 x1 hb ya1 ff4 fs6 fc0 sc0 ls0 ws0">P<span class="_ _3"></span>erformance<span class="_ _c"> </span>compa<span class="_ _3"></span>rison<span class="_ _f"> </span>of<span class="_ _c"> </span>different<span class="_ _f"> </span>metho<span class="_ _b"></span>ds<span class="_ _c"> </span>for<span class="_ _c"> </span>a<span class="_ _c"> </span>file<span class="_ _c"> </span>of<span class="_ _f"> </span>4.8<span class="_ _c"> </span>GB<span class="_ _f"> </span>of<span class="_ _c"> </span>integer<span class="_ _f"> </span>values</div><div class="t m0 x18 h6 ya2 ff1 fs4 fc0 sc0 ls0 ws0">Load<span class="_ _c"> </span>Metho<span class="_ _b"></span>d<span class="_ _22"> </span>Exec.<span class="_ _e"> </span>Time<span class="_ _23"> </span>Sp<span class="_ _b"></span>eedup</div><div class="t m0 x19 h6 ya3 ff7 fs4 fc0 sc0 ls0 ws0">ifstream<span class="_ _24"> </span><span class="ff4">102<span class="_ _25"> </span>667<span class="_ _d"> </span>ms<span class="_ _26"> </span>1.0x</span></div><div class="t m0 x19 h6 ya4 ff7 fs4 fc0 sc0 ls0 ws0">memory<span class="_ _e"> </span>mapped<span class="_ _6"> </span>+<span class="_ _6"> </span>parsing<span class="_ _e"> </span>(first<span class="_ _6"> </span>run)<span class="_ _27"> </span><span class="ff4">30<span class="_ _25"> </span>235<span class="_ _d"> </span>ms<span class="_ _26"> </span>3.4x</span></div><div class="t m0 x19 h6 ya5 ff7 fs4 fc0 sc0 ls0 ws0">memory<span class="_ _e"> </span>mapped<span class="_ _6"> </span>+<span class="_ _6"> </span>parsing<span class="_ _e"> </span>(second<span class="_ _6"> </span>run)<span class="_ _28"> </span><span class="ff4">22<span class="_ _25"> </span>509<span class="_ _d"> </span>ms<span class="_ _26"> </span>4.5x</span></div><div class="t m0 x19 h6 ya6 ff7 fs4 fc0 sc0 ls0 ws0">memory<span class="_ _e"> </span>mapped<span class="_ _6"> </span>+<span class="_ _6"> </span>lz4<span class="_ _e"> </span>(first<span class="_ _6"> </span>run)<span class="_ _29"> </span><span class="ff4">3<span class="_ _25"> </span>914<span class="_ _d"> </span>ms<span class="_ _2a"> </span>26.2x</span></div><div class="t m0 x19 h6 ya7 ff7 fs4 fc0 sc0 ls0 ws0">memory<span class="_ _e"> </span>mapped<span class="_ _6"> </span>+<span class="_ _6"> </span>lz4<span class="_ _e"> </span>(second<span class="_ _6"> </span>run)<span class="_ _2b"> </span><span class="ff4">1<span class="_ _25"> </span>261<span class="_ _d"> </span>ms<span class="_ _2a"> </span>81.4x</span></div><div class="t m0 x1 h6 ya8 ff4 fs4 fc0 sc0 ls0 ws0">NOTE:<span class="_ _d"> </span>the<span class="_ _c"> </span>size<span class="_ _d"> </span>of<span class="_ _c"> </span>the<span class="_ _d"> </span>Lz4<span class="_ _c"> </span>comp<span class="_ _3"></span>ressed<span class="_ _c"> </span>file<span class="_ _d"> </span>is<span class="_ _c"> </span>1,8<span class="_ _d"> </span>GB</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">15/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf12" class="pf w0 h0" data-page-no="12"><div class="pc pc12 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x8 h2 ya9 ff1 fs0 fc0 sc0 ls0 ws0">Memo<span class="_ _7"></span>ry</div><div class="t m0 x8 h2 yaa ff1 fs0 fc0 sc0 ls0 ws0">Optimizations</div><a class="l" href="#pf12" data-dest-detail='[18,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:158.662500px;bottom:224.427000px;width:241.993000px;height:24.025000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf12" data-dest-detail='[18,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:158.662500px;bottom:172.870500px;width:158.930000px;height:24.025000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf13" class="pf w0 h0" data-page-no="13"><div class="pc pc13 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIXElEQVR42u3YsQ3CMBRFURvFomQGlCoToIgaic2yRMahyBDZIJVL3DgdM3yhc0Z41dXL4+OZAAAgjH37XKwAAEA0IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgJ/cWrMCAABxlFI8qQAAhCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqSYAAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSTQAAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgDwP4a63K3A8VqNAAAEMc3vnG/XXr8p9d4NAgBACCd9QxQExTxfHAAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Heap<span class="_ _17"> </span>Memo<span class="_ _3"></span>ry</div><div class="t m0 xb hb yab ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ffa">Dynamic<span class="_ _c"> </span>heap<span class="_ _f"> </span>allo<span class="_ _b"></span>cation<span class="_ _c"> </span>is<span class="_ _f"> </span>exp<span class="_ _b"></span>ensive<span class="_ _0"></span><span class="ff4">:<span class="_ _9"> </span>implementation<span class="_ _f"> </span>dep<span class="_ _b"></span>endent<span class="_ _c"> </span>and<span class="_ _f"> </span>interact</span></span></div><div class="t m0 x6 hb yac ff4 fs6 fc0 sc0 ls0 ws0">with<span class="_ _c"> </span>the<span class="_ _c"> </span>op<span class="_ _0"></span>erating<span class="_ _c"> </span>system</div><div class="t m0 xb hb yad ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ffa">Many<span class="_ _c"> </span>small<span class="_ _c"> </span>heap<span class="_ _f"> </span>allo<span class="_ _b"></span>cations<span class="_ _c"> </span>are<span class="_ _c"> </span>mo<span class="_ _3"></span>re<span class="_ _f"> </span>exp<span class="_ _b"></span>ensive<span class="_ _c"> </span>than<span class="_ _c"> </span>one<span class="_ _f"> </span>large<span class="_ _c"> </span>memo<span class="_ _3"></span>ry<span class="_ _c"> </span>allo<span class="_ _b"></span>cation</span></div><div class="t m0 x6 h6 yae ff4 fs4 fc0 sc0 ls0 ws0">The<span class="_ _d"> </span>default<span class="_ _c"> </span>page<span class="_ _d"> </span>size<span class="_ _c"> </span>on<span class="_ _d"> </span>Linux<span class="_ _c"> </span>is<span class="_ _d"> </span>4<span class="_ _c"> </span>KB.<span class="_ _d"> </span>Fo<span class="_ _3"></span>r<span class="_ _c"> </span>smaller/multiple<span class="_ _d"> </span>sizes,<span class="_ _c"> </span>C++<span class="_ _d"> </span>uses<span class="_ _c"> </span>a</div><div class="t m0 x6 h6 yaf ff4 fs4 fc0 sc0 ls0 ws0">sub-allo<span class="_ _b"></span>cato<span class="_ _3"></span>r</div><div class="t m0 xb hb yb0 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ffa">Allo<span class="_ _b"></span>cations<span class="_ _c"> </span>within<span class="_ _f"> </span>the<span class="_ _c"> </span>page<span class="_ _f"> </span>size<span class="_ _c"> </span>is<span class="_ _f"> </span>faster<span class="_ _c"> </span>than<span class="_ _f"> </span>la<span class="_ _3"></span>rger<span class="_ _f"> </span>allo<span class="_ _b"></span>cations<span class="_ _9"> </span><span class="ff4">(sub-allo<span class="_ _b"></span>cato<span class="_ _3"></span>r)</span></span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">16/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf14" class="pf w0 h0" data-page-no="14"><div class="pc pc14 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Stack<span class="_ _17"> </span>Memo<span class="_ _3"></span>ry</div><div class="t m0 xb hb yb1 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ffa">Stack<span class="_ _c"> </span>memory<span class="_ _c"> </span>is<span class="_ _c"> </span>faster<span class="_ _c"> </span>than<span class="_ _f"> </span>heap<span class="_ _c"> </span>memory<span class="ff4">.<span class="_ _9"> </span>The<span class="_ _f"> </span>stack<span class="_ _c"> </span>memory<span class="_ _c"> </span>p<span class="_ _3"></span>rovides<span class="_ _f"> </span>high</span></span></div><div class="t m0 x6 hb yb2 ff4 fs6 fc0 sc0 ls0 ws0">lo<span class="_ _b"></span>calit<span class="_ _3"></span>y<span class="_ _3"></span>,<span class="_ _c"> </span>it<span class="_ _c"> </span>is<span class="_ _c"> </span>small<span class="_ _f"> </span>(cache<span class="_ _c"> </span>fit),<span class="_ _f"> </span>and<span class="_ _c"> </span>its<span class="_ _c"> </span>size<span class="_ _f"> </span>is<span class="_ _c"> </span>known<span class="_ _c"> </span>at<span class="_ _c"> </span>compile-time</div><div class="t m0 xb hb yb3 ff8 fs6 fc0 sc0 ls0 ws0">•</div><div class="t m0 xc hb yb4 ff5 fs6 fc0 sc0 ls0 ws0">static<span class="_ _10"> </span><span class="ff4">stack<span class="_ _c"> </span>allo<span class="_ _b"></span>cations<span class="_ _f"> </span>p<span class="_ _3"></span>ro<span class="_ _b"></span>duce<span class="_ _f"> </span>b<span class="_ _b"></span>etter<span class="_ _c"> </span>co<span class="_ _b"></span>de.<span class="_ _e"> </span>It<span class="_ _c"> </span>avoids<span class="_ _f"> </span>filling<span class="_ _c"> </span>the<span class="_ _f"> </span>stack<span class="_ _c"> </span>each</span></div><div class="t m0 x6 hb yb5 ff4 fs6 fc0 sc0 ls0 ws0">time<span class="_ _c"> </span>the<span class="_ _c"> </span>function<span class="_ _f"> </span>is<span class="_ _c"> </span>reached</div><div class="t m0 xb hb yb6 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _14"> </span><span class="ff5">constexpr<span class="_ _10"> </span><span class="ff4">a<span class="_ _3"></span>rrays<span class="_ _c"> </span>with<span class="_ _c"> </span>dynamic<span class="_ _c"> </span>indexing<span class="_ _f"> </span>produces<span class="_ _c"> </span>very<span class="_ _f"> </span>inefficient<span class="_ _c"> </span>co<span class="_ _b"></span>de<span class="_ _f"> </span>with</span></span></div><div class="t m0 x6 hb yb7 ff4 fs6 fc0 sc0 ls0 ws0">GCC.<span class="_ _c"> </span>Use<span class="_ _10"> </span><span class="ff5">static<span class="_ _15"> </span>constexpr<span class="_ _10"> </span></span>instead</div><div class="t m0 xc hd yb8 ff5 fs7 fc6 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc7">f<span class="fc0">(</span></span>int<span class="_ _9"> </span><span class="ffc fc0">x)<span class="_ _e"> </span>{</span></div><div class="t m0 xc hd yb9 ffb fs7 fc5 sc0 ls0 ws0">//<span class="_ _9"> </span>bad<span class="_ _9"> </span>performance<span class="_ _e"> </span>with<span class="_ _9"> </span>GCC</div><div class="t m0 xc hd yba ffb fs7 fc5 sc0 ls0 ws0">//<span class="_ _20"> </span>constexpr<span class="_ _2c"> </span>int<span class="_ _9"> </span>array[]<span class="_ _9"> </span>=<span class="_ _e"> </span>{1,2,3,4,5,6,7,8,9};</div><div class="t m0 x1a hd ybb ff5 fs7 fc9 sc0 ls0 ws0">static<span class="_ _9"> </span>constexpr<span class="_ _9"> </span><span class="fc6">int<span class="_ _e"> </span><span class="ffc fc0">array[]<span class="_ _9"> </span><span class="fc8">=<span class="_ _9"> </span></span>{<span class="fc8">1</span>,<span class="fc8">2</span>,<span class="fc8">3</span>,<span class="fc8">4</span>,<span class="fc8">5</span>,<span class="fc8">6</span>,<span class="fc8">7</span>,<span class="fc8">8</span>,<span class="fc8">9</span>};</span></span></div><div class="t m0 x1a hd ybc ff5 fs7 fc9 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">array[x];</span></div><div class="t m0 xc hd ybd ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">17/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf15" class="pf w0 h0" data-page-no="15"><div class="pc pc15 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Cache<span class="_ _17"> </span>Utilization</div><div class="t m0 x1 hb ybe ff1 fs6 fc0 sc0 ls0 ws0">Maximize<span class="_ _f"> </span>cache<span class="_ _8"> </span>utilization<span class="ff4">:</span></div><div class="t m0 xb hb ybf ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Maximize<span class="_ _c"> </span>spatial<span class="_ _f"> </span>and<span class="_ _c"> </span>temp<span class="_ _b"></span>oral<span class="_ _c"> </span>lo<span class="_ _b"></span>calit<span class="_ _3"></span>y<span class="_ _f"> </span>(see<span class="_ _c"> </span>next<span class="_ _f"> </span>examples)</span></div><div class="t m0 xb hb yc0 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Prefer<span class="_ _c"> </span>small<span class="_ _f"> </span>data<span class="_ _c"> </span>types</span></div><div class="t m0 xb hb yc1 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Prefer<span class="_ _10"> </span><span class="ff7">std::vector&lt;bool&gt;<span class="_ _10"> </span></span>over<span class="_ _c"> </span>arra<span class="_ _3"></span>y<span class="_ _c"> </span>of<span class="_ _10"> </span><span class="ff7">bool</span></span></div><div class="t m0 xb hb yc2 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Prefer<span class="_ _10"> </span><span class="ff7">std::bitset&lt;N&gt;<span class="_ _10"> </span></span>over<span class="_ _10"> </span><span class="ff7">std::vector&lt;bool&gt;<span class="_ _10"> </span></span>if<span class="_ _c"> </span>the<span class="_ _c"> </span>data<span class="_ _f"> </span>size<span class="_ _c"> </span>is<span class="_ _f"> </span>kno<span class="_ _3"></span>wn<span class="_ _f"> </span>in</span></div><div class="t m0 x6 hb yc3 ff4 fs6 fc0 sc0 ls0 ws0">advance<span class="_ _c"> </span>or<span class="_ _c"> </span>bounded</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">18/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf16" class="pf w0 h0" data-page-no="16"><div class="pc pc16 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Spatial<span class="_ _17"> </span>Lo<span class="_ _b"></span>cality<span class="_ _8"> </span>Example<span class="_ _2d"> </span>1/2</div><div class="t m0 x1 hb y77 ff7 fs6 fc0 sc0 ls0 ws0">A,<span class="_ _15"> </span>B,<span class="_ _15"> </span>C<span class="_ _c"> </span><span class="ff4">matrices<span class="_ _c"> </span>of<span class="_ _f"> </span>size<span class="_ _c"> </span><span class="ffa">N<span class="_ _c"> </span><span class="ff10">×<span class="_ _2e"> </span></span>N</span></span></div><div class="t m0 xd h11 yc4 ff7 fs6 fc0 sc0 ls0 ws0">C<span class="_ _15"> </span>=<span class="_ _15"> </span>A<span class="_ _15"> </span>*<span class="_ _15"> </span>B</div><div class="t m0 x1b hf yc5 ff5 fs5 fc9 sc0 ls0 ws0">for<span class="_ _8"> </span><span class="ffd fc0">(</span><span class="fc6">int<span class="_ _17"> </span><span class="ffd fc0">i<span class="_ _17"> </span><span class="fc8">=<span class="_ _8"> </span>0</span>;<span class="_ _17"> </span>i<span class="_ _17"> </span><span class="fc8">&lt;<span class="_ _8"> </span></span>N;<span class="_ _17"> </span>i<span class="fc8">++</span>)<span class="_ _17"> </span>{</span></span></div><div class="t m0 x1c hf yc6 ff5 fs5 fc9 sc0 ls0 ws0">for<span class="_ _8"> </span><span class="ffd fc0">(</span><span class="fc6">int<span class="_ _17"> </span><span class="ffd fc0">j<span class="_ _17"> </span><span class="fc8">=<span class="_ _8"> </span>0</span>;<span class="_ _17"> </span>j<span class="_ _17"> </span><span class="fc8">&lt;<span class="_ _8"> </span></span>N;<span class="_ _17"> </span>j<span class="fc8">++</span>)<span class="_ _17"> </span>{</span></span></div><div class="t m0 x1d hf yc7 ff5 fs5 fc6 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ffd fc0">sum<span class="_ _17"> </span><span class="fc8">=<span class="_ _17"> </span>0</span>;</span></div><div class="t m0 x1d hf yc8 ff5 fs5 fc9 sc0 ls0 ws0">for<span class="_ _8"> </span><span class="ffd fc0">(</span><span class="fc6">int<span class="_ _17"> </span><span class="ffd fc0">k<span class="_ _17"> </span><span class="fc8">=<span class="_ _8"> </span>0</span>;<span class="_ _17"> </span>k<span class="_ _17"> </span><span class="fc8">&lt;<span class="_ _8"> </span></span>N;<span class="_ _17"> </span>k<span class="fc8">++</span>)</span></span></div><div class="t m0 x1e hf yc9 ffd fs5 fc0 sc0 ls0 ws0">sum<span class="_ _8"> </span><span class="fc8">+=<span class="_ _17"> </span></span>A[i][k]<span class="_ _17"> </span><span class="fc8">*<span class="_ _8"> </span></span>B[k][j];<span class="_ _17"> </span><span class="ffb fc5">//<span class="_ _8"> </span>row<span class="_ _17"> </span><span class="ff11">×<span class="_ _8"> </span></span>column</span></div><div class="t m0 x1d hf yca ffd fs5 fc0 sc0 ls0 ws0">C[i][j]<span class="_ _8"> </span><span class="fc8">=<span class="_ _17"> </span></span>sum;</div><div class="t m0 x1c hf ycb ffd fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1b hf ycc ffd fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 xd h11 ycd ff7 fs6 fc0 sc0 ls0 ws0">C<span class="_ _15"> </span>=<span class="_ _15"> </span>A<span class="_ _15"> </span>*<span class="_ _15"> </span>B</div><div class="t m0 x1f h12 yce ff12 fs5 fc0 sc0 ls0 ws0">T</div><div class="t m0 x1b hf ycf ff5 fs5 fc9 sc0 ls0 ws0">for<span class="_ _8"> </span><span class="ffd fc0">(</span><span class="fc6">int<span class="_ _17"> </span><span class="ffd fc0">i<span class="_ _17"> </span><span class="fc8">=<span class="_ _8"> </span>0</span>;<span class="_ _17"> </span>i<span class="_ _17"> </span><span class="fc8">&lt;<span class="_ _8"> </span></span>N;<span class="_ _17"> </span>i<span class="fc8">++</span>)<span class="_ _17"> </span>{</span></span></div><div class="t m0 x1c hf yd0 ff5 fs5 fc9 sc0 ls0 ws0">for<span class="_ _8"> </span><span class="ffd fc0">(</span><span class="fc6">int<span class="_ _17"> </span><span class="ffd fc0">j<span class="_ _17"> </span><span class="fc8">=<span class="_ _8"> </span>0</span>;<span class="_ _17"> </span>j<span class="_ _17"> </span><span class="fc8">&lt;<span class="_ _8"> </span></span>N;<span class="_ _17"> </span>j<span class="fc8">++</span>)<span class="_ _17"> </span>{</span></span></div><div class="t m0 x1d hf yd1 ff5 fs5 fc6 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ffd fc0">sum<span class="_ _17"> </span><span class="fc8">=<span class="_ _17"> </span>0</span>;</span></div><div class="t m0 x1d hf yd2 ff5 fs5 fc9 sc0 ls0 ws0">for<span class="_ _8"> </span><span class="ffd fc0">(</span><span class="fc6">int<span class="_ _17"> </span><span class="ffd fc0">k<span class="_ _17"> </span><span class="fc8">=<span class="_ _8"> </span>0</span>;<span class="_ _17"> </span>k<span class="_ _17"> </span><span class="fc8">&lt;<span class="_ _8"> </span></span>N;<span class="_ _17"> </span>k<span class="fc8">++</span>)</span></span></div><div class="t m0 x1e hf yd3 ffd fs5 fc0 sc0 ls0 ws0">sum<span class="_ _8"> </span><span class="fc8">+=<span class="_ _17"> </span></span>A[i][k]<span class="_ _17"> </span><span class="fc8">*<span class="_ _8"> </span><span class="fc3">B[j][k]</span></span>;<span class="_ _17"> </span><span class="ffb fc5">//<span class="_ _8"> </span>row<span class="_ _17"> </span><span class="ff11">×<span class="_ _8"> </span></span>row</span></div><div class="t m0 x1d hf yd4 ffd fs5 fc0 sc0 ls0 ws0">C[i][j]<span class="_ _8"> </span><span class="fc8">=<span class="_ _17"> </span></span>sum;</div><div class="t m0 x1c hf yd5 ffd fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1b hf yd6 ffd fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">19/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf17" class="pf w0 h0" data-page-no="17"><div class="pc pc17 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Spatial<span class="_ _17"> </span>Lo<span class="_ _b"></span>cality<span class="_ _8"> </span>Example<span class="_ _2d"> </span>2/2</div><div class="t m0 x1 hb yd7 ff1 fs6 fc0 sc0 ls0 ws0">Benchma<span class="_ _3"></span>rk:</div><div class="t m0 x15 h11 yd8 ff5 fs6 fc0 sc0 ls0 ws0">N<span class="_ _2f"> </span><span class="ff7">64<span class="_ _2c"> </span>128<span class="_ _30"> </span>256<span class="_ _30"> </span>512<span class="_ _31"> </span>1024</span></div><div class="t m0 x15 hb yd9 ff7 fs6 fc0 sc0 ls0 ws0">A<span class="_ _15"> </span>*<span class="_ _15"> </span>B<span class="_ _31"> </span><span class="ff13">&lt;<span class="_ _c"> </span><span class="ff4">1<span class="_ _f"> </span>ms<span class="_ _32"> </span>5<span class="_ _c"> </span>ms<span class="_ _27"> </span>29<span class="_ _c"> </span>ms<span class="_ _28"> </span>141<span class="_ _c"> </span>ms<span class="_ _33"> </span>1,030<span class="_ _c"> </span>ms</span></span></div><div class="t m0 x15 h11 yda ff7 fs6 fc0 sc0 ls0 ws0">A<span class="_ _15"> </span>*<span class="_ _15"> </span>B</div><div class="t m0 x20 h12 ydb ff12 fs5 fc0 sc0 ls0 ws0">T</div><div class="t m0 x21 hb yda ff13 fs6 fc0 sc0 ls0 ws0">&lt;<span class="_ _c"> </span><span class="ff4">1<span class="_ _c"> </span>ms<span class="_ _32"> </span>2<span class="_ _f"> </span>ms<span class="_ _32"> </span>6<span class="_ _c"> </span>ms<span class="_ _27"> </span>48<span class="_ _c"> </span>ms<span class="_ _28"> </span>385<span class="_ _c"> </span>ms</span></div><div class="t m0 x15 hb ydc ff7 fs6 fc0 sc0 ls0 ws0">Speedup<span class="_ _34"> </span><span class="ff4">/<span class="_ _35"> </span>2.5x<span class="_ _35"> </span>4.8x<span class="_ _35"> </span>2.9x<span class="_ _35"> </span>2.7x</span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">20/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf18" class="pf w0 h0" data-page-no="18"><div class="pc pc18 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emporal-Locality<span class="_ _8"> </span>Example</div><div class="t m0 x1 hb ydd ff1 fs6 fc0 sc0 ls0 ws0">Sp<span class="_ _b"></span>eeding<span class="_ _8"> </span>up<span class="_ _f"> </span>a<span class="_ _8"> </span>random-access<span class="_ _8"> </span>function</div><div class="t m0 xd hd yde ff5 fs7 fc9 sc0 ls0 ws0">for<span class="_ _9"> </span><span class="ffc fc0">(</span><span class="fc6">int<span class="_ _9"> </span><span class="ffc fc0">i<span class="_ _e"> </span><span class="fc8">=<span class="_ _9"> </span>0</span>;<span class="_ _9"> </span>i<span class="_ _e"> </span><span class="fc8">&lt;<span class="_ _9"> </span></span>N;<span class="_ _9"> </span>i<span class="fc8">++</span>)<span class="_ _36"> </span><span class="ffb fc5">//<span class="_ _9"> </span>V1</span></span></span></div><div class="t m0 x6 hd ydf ffc fs7 fc0 sc0 ls0 ws0">out_array[i]<span class="_ _9"> </span><span class="fc8">=<span class="_ _9"> </span></span>in_array[hash(i)];</div><div class="t m0 x22 hd ye0 ff5 fs7 fc9 sc0 ls0 ws0">for<span class="_ _9"> </span><span class="ffc fc0">(</span><span class="fc6">int<span class="_ _9"> </span><span class="ffc fc0">K<span class="_ _e"> </span><span class="fc8">=<span class="_ _9"> </span>0</span>;<span class="_ _9"> </span>K<span class="_ _e"> </span><span class="fc8">&lt;<span class="_ _9"> </span></span>N;<span class="_ _9"> </span>K<span class="_ _9"> </span><span class="fc8">+=<span class="_ _e"> </span></span>CACHE)<span class="_ _9"> </span>{<span class="_ _9"> </span><span class="ffb fc5">//<span class="_ _e"> </span>V2</span></span></span></div><div class="t m0 x23 hd ye1 ff5 fs7 fc9 sc0 ls0 ws0">for<span class="_ _9"> </span><span class="ffc fc0">(</span><span class="fc6">int<span class="_ _9"> </span><span class="ffc fc0">i<span class="_ _e"> </span><span class="fc8">=<span class="_ _9"> </span>0</span>;<span class="_ _9"> </span>i<span class="_ _e"> </span><span class="fc8">&lt;<span class="_ _9"> </span></span>N;<span class="_ _9"> </span>i<span class="fc8">++</span>)<span class="_ _9"> </span>{</span></span></div><div class="t m0 x24 hd ye2 ff5 fs7 fc9 sc0 ls0 ws0">auto<span class="_ _9"> </span><span class="ffc fc0">x<span class="_ _9"> </span><span class="fc8">=<span class="_ _e"> </span></span>hash(i);</span></div><div class="t m0 x24 hd ye3 ff5 fs7 fc9 sc0 ls0 ws0">if<span class="_ _9"> </span><span class="ffc fc0">(x<span class="_ _9"> </span><span class="fc8">&gt;=<span class="_ _e"> </span></span>K<span class="_ _9"> </span><span class="fc8">&amp;&amp;<span class="_ _9"> </span></span>x<span class="_ _e"> </span><span class="fc8">&lt;<span class="_ _9"> </span></span>K<span class="_ _9"> </span><span class="fc8">+<span class="_ _9"> </span></span>CACHE)</span></div><div class="t m0 x25 hd ye4 ffc fs7 fc0 sc0 ls0 ws0">out_array[i]<span class="_ _9"> </span><span class="fc8">=<span class="_ _9"> </span></span>in_array[x];</div><div class="t m0 x23 hd ye5 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x22 hd ye6 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xd h6 ye7 ff7 fs4 fc0 sc0 ls0 ws0">V1<span class="_ _25"> </span><span class="ff4">:<span class="_ _9"> </span>436<span class="_ _c"> </span>ms,<span class="_ _11"> </span></span>V2<span class="_ _25"> </span><span class="ff4">:<span class="_ _17"> </span>336<span class="_ _c"> </span>ms<span class="_ _d"> </span><span class="ff10">→<span class="_ _c"> </span></span>1.3x<span class="_ _d"> </span>sp<span class="_ _b"></span>eedup<span class="_ _c"> </span>(temp<span class="_ _b"></span>oral<span class="_ _d"> </span>locality<span class="_ _d"> </span>improvement)</span></div><div class="t m0 x1 h6 ye8 ff4 fs4 fc0 sc0 ls0 ws0">..<span class="_ _17"> </span>but<span class="_ _c"> </span>it<span class="_ _d"> </span>needs<span class="_ _c"> </span>a<span class="_ _d"> </span>careful<span class="_ _d"> </span>evaluation<span class="_ _d"> </span>of<span class="_ _10"> </span><span class="ff7">CACHE<span class="_ _11"> </span></span>and<span class="_ _d"> </span>it<span class="_ _c"> </span>can<span class="_ _d"> </span>even<span class="_ _c"> </span>decrease<span class="_ _d"> </span>the<span class="_ _c"> </span>performance<span class="_ _d"> </span>for</div><div class="t m0 x1 h6 ye9 ff4 fs4 fc0 sc0 ls0 ws0">other<span class="_ _d"> </span>sizes</div><div class="t m0 x1 h6 yea ff4 fs4 fc0 sc0 ls0 ws0">p<span class="_ _3"></span>re-sorted<span class="_ _11"> </span><span class="ff7">hash(i)<span class="_ _25"> </span></span>:<span class="_ _9"> </span>135<span class="_ _d"> </span>ms<span class="_ _c"> </span><span class="ff10">→<span class="_ _d"> </span></span>3.2x<span class="_ _c"> </span>sp<span class="_ _b"></span>eedup<span class="_ _d"> </span>(spatial<span class="_ _c"> </span>lo<span class="_ _b"></span>calit<span class="_ _3"></span>y<span class="_ _c"> </span>improvement)</div><div class="t m0 xb hd yeb ffc fs7 fcc sc0 ls0 ws0">lemire.me/blog/2019/04/27</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">21/84</div><a class="l" href="https://lemire.me/blog/2019/04/27/speeding-up-a-random-access-function/"><div class="d m1" style="border-style:none;position:absolute;left:52.083000px;bottom:4.137000px;width:119.676000px;height:13.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf19" class="pf w0 h0" data-page-no="19"><div class="pc pc19 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIXklEQVR42u3YsQ3CMBRFUTuKRZkZolRMgBA1EptliYxDwRBsQJUSN06XGb6sc0Z41dXLy+2RAAAgjO/nPVgBAIBoRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAAKdca7UCAABxlFI8qQAAhCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqSYAAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSTQAAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgDQj3FfZyvQgd9zMwIA9OF6f+U8Xdr+T6m1ZhAAAEI4AB7QFASnz2x7AAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Data<span class="_ _17"> </span>Alignment</div><div class="t m0 x1 hb yec ff1 fs6 fc0 sc0 ls0 ws0">Data<span class="_ _f"> </span>alignment<span class="_ _f"> </span><span class="ff4">allows<span class="_ _c"> </span>avoiding<span class="_ _c"> </span>unnecessa<span class="_ _3"></span>ry<span class="_ _f"> </span>memory<span class="_ _c"> </span>accesses,<span class="_ _c"> </span>and<span class="_ _c"> </span>it<span class="_ _f"> </span>is<span class="_ _c"> </span>also<span class="_ _f"> </span>essential</span></div><div class="t m0 x1 hb yed ff4 fs6 fc0 sc0 ls0 ws0">to<span class="_ _c"> </span>exploit<span class="_ _c"> </span>hardw<span class="_ _3"></span>are<span class="_ _c"> </span>vecto<span class="_ _3"></span>r<span class="_ _c"> </span>instructions<span class="_ _f"> </span>(SIMD)<span class="_ _c"> </span>like<span class="_ _c"> </span><span class="ff7">SSE</span>,<span class="_ _c"> </span><span class="ff7">AVX</span>,<span class="_ _f"> </span>etc.</div><div class="t m0 xb hb yee ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff1">Internal<span class="_ _8"> </span>alignment<span class="ff4">:<span class="_ _9"> </span>reducing<span class="_ _f"> </span>memory<span class="_ _c"> </span>footprint,<span class="_ _c"> </span>optimizing<span class="_ _c"> </span>memory<span class="_ _c"> </span>bandwidth,</span></span></div><div class="t m0 x6 hb yef ff4 fs6 fc0 sc0 ls0 ws0">and<span class="_ _c"> </span>minimizing<span class="_ _c"> </span>cache-line<span class="_ _f"> </span>misses</div><div class="t m0 xb hb yf0 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff1">External<span class="_ _8"> </span>alignment<span class="ff4">:<span class="_ _9"> </span>minimizing<span class="_ _f"> </span>cache-line<span class="_ _c"> </span>misses</span></span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">22/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf1a" class="pf w0 h0" data-page-no="1a"><div class="pc pc1a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Internal<span class="_ _17"> </span>Structure<span class="_ _17"> </span>Alignment</div><div class="t m0 xd hf yf1 ff5 fs5 fc9 sc0 ls0 ws0">struct<span class="_ _8"> </span><span class="fc7">A1<span class="_ _17"> </span><span class="ffd fc0">{</span></span></div><div class="t m0 x10 hf yf2 ff5 fs5 fc6 sc0 ls0 ws0">char<span class="_ _1c"> </span><span class="ffd fc0">x1;<span class="_ _8"> </span><span class="ffb fc5">//<span class="_ _17"> </span>offset<span class="_ _8"> </span>0</span></span></div><div class="t m0 x10 hf yf3 ff5 fs5 fc6 sc0 ls0 ws0">double<span class="_ _8"> </span><span class="ffd fc0">y1;<span class="_ _17"> </span><span class="ffb fc5">//<span class="_ _8"> </span>offset<span class="_ _17"> </span>8!!<span class="_ _8"> </span>(not<span class="_ _17"> </span>1)</span></span></div><div class="t m0 x10 hf yf4 ff5 fs5 fc6 sc0 ls0 ws0">char<span class="_ _1c"> </span><span class="ffd fc0">x2;<span class="_ _8"> </span><span class="ffb fc5">//<span class="_ _17"> </span>offset<span class="_ _8"> </span>16</span></span></div><div class="t m0 x10 hf yf5 ff5 fs5 fc6 sc0 ls0 ws0">double<span class="_ _8"> </span><span class="ffd fc0">y2;<span class="_ _17"> </span><span class="ffb fc5">//<span class="_ _8"> </span>offset<span class="_ _17"> </span>24</span></span></div><div class="t m0 x10 hf yf6 ff5 fs5 fc6 sc0 ls0 ws0">char<span class="_ _1c"> </span><span class="ffd fc0">x3;<span class="_ _8"> </span><span class="ffb fc5">//<span class="_ _17"> </span>offset<span class="_ _8"> </span>32</span></span></div><div class="t m0 x10 hf yf7 ff5 fs5 fc6 sc0 ls0 ws0">double<span class="_ _8"> </span><span class="ffd fc0">y3;<span class="_ _17"> </span><span class="ffb fc5">//<span class="_ _8"> </span>offset<span class="_ _17"> </span>40</span></span></div><div class="t m0 x10 hf yf8 ff5 fs5 fc6 sc0 ls0 ws0">char<span class="_ _1c"> </span><span class="ffd fc0">x4;<span class="_ _8"> </span><span class="ffb fc5">//<span class="_ _17"> </span>offset<span class="_ _8"> </span>48</span></span></div><div class="t m0 x10 hf yf9 ff5 fs5 fc6 sc0 ls0 ws0">double<span class="_ _8"> </span><span class="ffd fc0">y4;<span class="_ _17"> </span><span class="ffb fc5">//<span class="_ _8"> </span>offset<span class="_ _17"> </span>56</span></span></div><div class="t m0 x10 hf yfa ff5 fs5 fc6 sc0 ls0 ws0">char<span class="_ _1c"> </span><span class="ffd fc0">x5;<span class="_ _8"> </span><span class="ffb fc5">//<span class="_ _17"> </span>offset<span class="_ _8"> </span>64<span class="_ _17"> </span>(65<span class="_ _8"> </span>bytes)</span></span></div><div class="t m0 xd hf yfb ffd fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 x26 hf yfc ff5 fs5 fc9 sc0 ls0 ws0">struct<span class="_ _8"> </span><span class="fc7">A2<span class="_ _17"> </span><span class="ffd fc0">{<span class="_ _1c"> </span><span class="ffb fc5">//<span class="_ _8"> </span>internal<span class="_ _17"> </span>alignment</span></span></span></div><div class="t m0 x27 hf yfd ff5 fs5 fc6 sc0 ls0 ws0">char<span class="_ _1c"> </span><span class="ffd fc0">x1;<span class="_ _8"> </span><span class="ffb fc5">//<span class="_ _17"> </span>offset<span class="_ _8"> </span>0</span></span></div><div class="t m0 x27 hf yfe ff5 fs5 fc6 sc0 ls0 ws0">char<span class="_ _1c"> </span><span class="ffd fc0">x2;<span class="_ _8"> </span><span class="ffb fc5">//<span class="_ _17"> </span>offset<span class="_ _8"> </span>1</span></span></div><div class="t m0 x27 hf yff ff5 fs5 fc6 sc0 ls0 ws0">char<span class="_ _1c"> </span><span class="ffd fc0">x3;<span class="_ _8"> </span><span class="ffb fc5">//<span class="_ _17"> </span>offset<span class="_ _8"> </span>2</span></span></div><div class="t m0 x27 hf y100 ff5 fs5 fc6 sc0 ls0 ws0">char<span class="_ _1c"> </span><span class="ffd fc0">x4;<span class="_ _8"> </span><span class="ffb fc5">//<span class="_ _17"> </span>offset<span class="_ _8"> </span>3</span></span></div><div class="t m0 x27 hf y101 ff5 fs5 fc6 sc0 ls0 ws0">char<span class="_ _1c"> </span><span class="ffd fc0">x5;<span class="_ _8"> </span><span class="ffb fc5">//<span class="_ _17"> </span>offset<span class="_ _8"> </span>4</span></span></div><div class="t m0 x27 hf y102 ff5 fs5 fc6 sc0 ls0 ws0">double<span class="_ _8"> </span><span class="ffd fc0">y1;<span class="_ _17"> </span><span class="ffb fc5">//<span class="_ _8"> </span>offset<span class="_ _17"> </span>8</span></span></div><div class="t m0 x27 hf y103 ff5 fs5 fc6 sc0 ls0 ws0">double<span class="_ _8"> </span><span class="ffd fc0">y2;<span class="_ _17"> </span><span class="ffb fc5">//<span class="_ _8"> </span>offset<span class="_ _17"> </span>16</span></span></div><div class="t m0 x27 hf y104 ff5 fs5 fc6 sc0 ls0 ws0">double<span class="_ _8"> </span><span class="ffd fc0">y3;<span class="_ _17"> </span><span class="ffb fc5">//<span class="_ _8"> </span>offset<span class="_ _17"> </span>24</span></span></div><div class="t m0 x27 hf y105 ff5 fs5 fc6 sc0 ls0 ws0">double<span class="_ _8"> </span><span class="ffd fc0">y4;<span class="_ _17"> </span><span class="ffb fc5">//<span class="_ _8"> </span>offset<span class="_ _17"> </span>32<span class="_ _8"> </span>(40<span class="_ _17"> </span>bytes)</span></span></div><div class="t m0 x26 hf y106 ffd fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 hb y107 ff4 fs6 fc0 sc0 ls0 ws0">Considering<span class="_ _c"> </span>an<span class="_ _c"> </span><span class="ffa">arra<span class="_ _3"></span>y<span class="_ _c"> </span>of<span class="_ _f"> </span>structures<span class="_ _9"> </span><span class="ff4">(</span>A<span class="_ _3"></span>oS<span class="_ _37"></span><span class="ff4">),<span class="_ _c"> </span>there<span class="_ _c"> </span>are<span class="_ _c"> </span>tw<span class="_ _3"></span>o<span class="_ _c"> </span>problems:</span></span></div><div class="t m0 xb hb y108 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">W<span class="_ _3"></span>e<span class="_ _f"> </span>are<span class="_ _c"> </span>w<span class="_ _3"></span>asting<span class="_ _c"> </span>40%<span class="_ _f"> </span>of<span class="_ _c"> </span>memory<span class="_ _c"> </span>in<span class="_ _c"> </span>the<span class="_ _c"> </span>first<span class="_ _f"> </span>case<span class="_ _c"> </span>(<span class="_ _d"> </span><span class="ff7">A1<span class="_ _d"> </span></span>)</span></div><div class="t m0 xb hb y109 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">In<span class="_ _c"> </span>common<span class="_ _f"> </span>x64<span class="_ _c"> </span>processors<span class="_ _c"> </span>the<span class="_ _c"> </span>cache<span class="_ _c"> </span>line<span class="_ _f"> </span>is<span class="_ _c"> </span>64<span class="_ _f"> </span>bytes.<span class="_ _9"> </span>F<span class="_ _3"></span>or<span class="_ _c"> </span>the<span class="_ _c"> </span>first<span class="_ _f"> </span>structure<span class="_ _10"> </span><span class="ff7">A1<span class="_ _25"> </span></span>,</span></div><div class="t m0 x6 hb y10a ff4 fs6 fc0 sc0 ls0 ws0">every<span class="_ _c"> </span>access<span class="_ _c"> </span>involves<span class="_ _f"> </span>tw<span class="_ _3"></span>o<span class="_ _c"> </span>cache<span class="_ _c"> </span>line<span class="_ _f"> </span>op<span class="_ _b"></span>erations<span class="_ _c"> </span>(2x<span class="_ _f"> </span>slow<span class="_ _3"></span>er)</div><div class="t m0 xb h10 y10b fff fs7 fcc sc0 ls0 ws0">see<span class="_ _d"> </span>also<span class="_ _25"> </span><span class="ffc">#pragma<span class="_ _e"> </span>pack(1)</span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">23/84</div><a class="l" href="https://devblogs.microsoft.com/oldnewthing/20200103-00/?p=103290"><div class="d m1" style="border-style:none;position:absolute;left:101.038500px;bottom:1.201500px;width:72.602000px;height:13.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf1b" class="pf w0 h0" data-page-no="1b"><div class="pc pc1b w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">External<span class="_ _17"> </span>Structure<span class="_ _17"> </span>Alignment<span class="_ _17"> </span>and<span class="_ _9"> </span>P<span class="_ _3"></span>adding</div><div class="t m0 x1 hb y77 ff4 fs6 fc0 sc0 ls0 ws0">Considering<span class="_ _c"> </span>the<span class="_ _c"> </span>previous<span class="_ _c"> </span>example<span class="_ _c"> </span>for<span class="_ _c"> </span>the<span class="_ _c"> </span>structure<span class="_ _10"> </span><span class="ff7">A2<span class="_ _d"> </span></span>,<span class="_ _c"> </span>random<span class="_ _c"> </span>loads<span class="_ _f"> </span>from<span class="_ _c"> </span>an<span class="_ _f"> </span>a<span class="_ _3"></span>rray<span class="_ _c"> </span>of</div><div class="t m0 x1 hb y10c ff4 fs6 fc0 sc0 ls0 ws0">structures<span class="_ _11"> </span><span class="ff7">A2<span class="_ _10"> </span></span>leads<span class="_ _d"> </span>to<span class="_ _c"> </span>one<span class="_ _c"> </span>or<span class="_ _d"> </span>tw<span class="_ _3"></span>o<span class="_ _d"> </span>cache<span class="_ _c"> </span>line<span class="_ _c"> </span>op<span class="_ _b"></span>erations<span class="_ _c"> </span>dep<span class="_ _b"></span>ending<span class="_ _c"> </span>on<span class="_ _c"> </span>the<span class="_ _d"> </span>alignment<span class="_ _c"> </span>at</div><div class="t m0 x1 hb y10d ff4 fs6 fc0 sc0 ls0 ws0">a<span class="_ _c"> </span>sp<span class="_ _b"></span>ecific<span class="_ _f"> </span>index,<span class="_ _c"> </span>e.g.</div><div class="t m0 x10 hb y10e ff7 fs6 fc0 sc0 ls0 ws0">index<span class="_ _15"> </span>0<span class="_ _c"> </span><span class="ff10">→<span class="_ _c"> </span><span class="ff4">one<span class="_ _f"> </span>cache<span class="_ _c"> </span>line<span class="_ _f"> </span>load</span></span></div><div class="t m0 x10 hb y10f ff7 fs6 fc0 sc0 ls0 ws0">index<span class="_ _15"> </span>1<span class="_ _c"> </span><span class="ff10">→<span class="_ _c"> </span><span class="ff4">tw<span class="_ _3"></span>o<span class="_ _c"> </span>cache<span class="_ _f"> </span>line<span class="_ _c"> </span>loads</span></span></div><div class="t m0 x1 hb y110 ff4 fs6 fc0 sc0 ls0 ws0">It<span class="_ _c"> </span>is<span class="_ _c"> </span>p<span class="_ _0"></span>ossible<span class="_ _c"> </span>to<span class="_ _c"> </span>fix<span class="_ _c"> </span>the<span class="_ _f"> </span>structure<span class="_ _c"> </span>alignment<span class="_ _f"> </span>in<span class="_ _c"> </span>tw<span class="_ _3"></span>o<span class="_ _c"> </span>wa<span class="_ _3"></span>ys:</div><div class="t m0 xb hb y111 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">The<span class="_ _c"> </span><span class="ff1">memory<span class="_ _f"> </span>padding<span class="_ _f"> </span></span>refers<span class="_ _c"> </span>to<span class="_ _f"> </span>intro<span class="_ _b"></span>duce<span class="_ _c"> </span>extra<span class="_ _f"> </span>b<span class="_ _3"></span>ytes<span class="_ _f"> </span>at<span class="_ _c"> </span>the<span class="_ _f"> </span>end<span class="_ _c"> </span>of<span class="_ _f"> </span>the<span class="_ _c"> </span>data</span></div><div class="t m0 x6 hb y112 ff4 fs6 fc0 sc0 ls0 ws0">structure<span class="_ _c"> </span>to<span class="_ _c"> </span>enforce<span class="_ _c"> </span>the<span class="_ _c"> </span>memory<span class="_ _c"> </span>alignment</div><div class="t m0 x6 h6 y113 ff4 fs4 fc0 sc0 ls0 ws0">e.g.<span class="_ _17"> </span>add<span class="_ _c"> </span>a<span class="_ _11"> </span><span class="ff7">char<span class="_ _11"> </span></span>a<span class="_ _3"></span>rray<span class="_ _d"> </span>of<span class="_ _c"> </span>size<span class="_ _d"> </span>24<span class="_ _c"> </span>to<span class="_ _d"> </span>the<span class="_ _c"> </span>structure<span class="_ _11"> </span><span class="ff7">A2</span></div><div class="t m0 xb hb y114 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff1">Align<span class="_ _8"> </span>k<span class="_ _3"></span>eywo<span class="_ _3"></span>rd<span class="_ _f"> </span>or<span class="_ _f"> </span>attribute<span class="_ _c"> </span><span class="ff4">allows<span class="_ _c"> </span>sp<span class="_ _b"></span>ecifying<span class="_ _c"> </span>the<span class="_ _f"> </span>alignment<span class="_ _c"> </span>requirement<span class="_ _f"> </span>of<span class="_ _c"> </span>a</span></span></div><div class="t m0 x6 hb y115 ff4 fs6 fc0 sc0 ls0 ws0">t<span class="_ _3"></span>yp<span class="_ _b"></span>e<span class="_ _f"> </span>or<span class="_ _c"> </span>an<span class="_ _c"> </span>object<span class="_ _c"> </span>(next<span class="_ _f"> </span>slide)</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">24/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf1c" class="pf w0 h0" data-page-no="1c"><div class="pc pc1c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">External<span class="_ _17"> </span>Structure<span class="_ _17"> </span>Alignment<span class="_ _17"> </span>in<span class="_ _9"> </span>C++<span class="_ _38"> </span>1/2</div><div class="t m0 x1 hb y116 ff4 fs6 fc0 sc0 ls0 ws0">C++<span class="_ _c"> </span>allows<span class="_ _c"> </span>specifying<span class="_ _f"> </span>the<span class="_ _c"> </span>alignment<span class="_ _f"> </span>requirement<span class="_ _c"> </span>in<span class="_ _f"> </span>different<span class="_ _c"> </span>wa<span class="_ _3"></span>ys:</div><div class="t m0 xb hb y117 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4 fcd">C++11<span class="_ _10"> </span></span><span class="ff7">alignas(N)<span class="_ _10"> </span><span class="ff4">only<span class="_ _c"> </span>for<span class="_ _c"> </span>va<span class="_ _3"></span>riable<span class="_ _c"> </span>/<span class="_ _f"> </span>struct<span class="_ _c"> </span>declaration</span></span></div><div class="t m0 xb hb y118 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4 fcd">C++17<span class="_ _c"> </span><span class="fc0">aligned<span class="_ _10"> </span><span class="ff7">new<span class="_ _10"> </span></span>(e.g.<span class="_ _4"> </span><span class="ff7">new<span class="_ _15"> </span>int[2,<span class="_ _15"> </span>N]<span class="_ _d"> </span></span>)</span></span></div><div class="t m0 xb hb y119 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Compiler<span class="_ _c"> </span>Intrinsic<span class="_ _f"> </span>only<span class="_ _c"> </span>for<span class="_ _c"> </span>va<span class="_ _3"></span>riables<span class="_ _f"> </span>/<span class="_ _c"> </span>struct<span class="_ _c"> </span>declaration</span></div><div class="t m0 x28 h6 y11a ff8 fs4 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">GCC/Clang:<span class="_ _39"> </span><span class="ff7">attribute<span class="_ _3a"> </span>((aligned(N)))</span></span></div><div class="t m0 x28 h6 y11b ff8 fs4 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">MSVC:<span class="_ _3b"> </span><span class="ff7">declspec(align(N))</span></span></div><div class="t m0 xb hb y11c ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Compiler<span class="_ _c"> </span>Intrinsic<span class="_ _f"> </span>fo<span class="_ _3"></span>r<span class="_ _f"> </span>dynamic<span class="_ _c"> </span>p<span class="_ _b"></span>ointer</span></div><div class="t m0 x28 h6 y11d ff8 fs4 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">GCC/Clang:<span class="_ _39"> </span><span class="ff7">builtin<span class="_ _f"> </span>assume<span class="_ _c"> </span>aligned(x)</span></span></div><div class="t m0 x28 h6 y11e ff8 fs4 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Intel:<span class="_ _39"> </span><span class="ff7">assume<span class="_ _f"> </span>aligned(x)</span></span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">25/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf1d" class="pf w0 h0" data-page-no="1d"><div class="pc pc1d w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">External<span class="_ _17"> </span>Structure<span class="_ _17"> </span>Alignment<span class="_ _17"> </span>in<span class="_ _9"> </span>C++<span class="_ _38"> </span>2/2</div><div class="t m0 xd hd y11f ff5 fs7 fc9 sc0 ls0 ws0">struct<span class="_ _9"> </span><span class="fc7">alignas<span class="ffc fc0">(<span class="fc8">16</span>)<span class="_ _9"> </span>A1<span class="_ _e"> </span>{<span class="_ _9"> </span><span class="ffb fc5">//<span class="_ _9"> </span>C++11</span></span></span></div><div class="t m0 x6 hd y120 ff5 fs7 fc6 sc0 ls0 ws0">int<span class="_ _9"> </span><span class="ffc fc0">x,<span class="_ _9"> </span>y;</span></div><div class="t m0 xd hd y121 ffc fs7 fc0 sc0 ls0 ws0">};</div><div class="t m0 xd hd y122 ff5 fs7 fc9 sc0 ls0 ws0">struct<span class="_ _9"> </span><span class="fc7">__attribute__<span class="ffc fc0">((aligned(<span class="fc8">16</span>)))<span class="_ _9"> </span>A2<span class="_ _e"> </span>{<span class="_ _9"> </span><span class="ffb fc5">//<span class="_ _9"> </span>compiler-specific<span class="_ _e"> </span>attribute</span></span></span></div><div class="t m0 x6 hd y123 ff5 fs7 fc6 sc0 ls0 ws0">int<span class="_ _9"> </span><span class="ffc fc0">x,<span class="_ _9"> </span>y;</span></div><div class="t m0 xd hd y124 ffc fs7 fc0 sc0 ls0 ws0">};</div><div class="t m0 xd hd y125 ff5 fs7 fc9 sc0 ls0 ws0">auto<span class="_ _9"> </span><span class="ffc fc0">ptr1<span class="_ _9"> </span><span class="fc8">=<span class="_ _e"> </span></span></span>new<span class="_ _9"> </span><span class="fc6">int<span class="ffc fc0">[<span class="fc8">100</span>,<span class="_ _9"> </span><span class="fc8">16</span>];<span class="_ _e"> </span><span class="ffb fc5">//<span class="_ _9"> </span>16B<span class="_ _9"> </span>alignment,<span class="_ _9"> </span>C++17</span></span></span></div><div class="t m0 xd hd y126 ff5 fs7 fc9 sc0 ls0 ws0">auto<span class="_ _9"> </span><span class="ffc fc0">ptr2<span class="_ _9"> </span><span class="fc8">=<span class="_ _e"> </span></span></span>new<span class="_ _9"> </span><span class="fc6">int<span class="ffc fc0">[<span class="fc8">100</span>];<span class="_ _3c"> </span><span class="ffb fc5">//<span class="_ _9"> </span>4B<span class="_ _9"> </span>alignment<span class="_ _e"> </span>guarantee</span></span></span></div><div class="t m0 xd hd y127 ff5 fs7 fc9 sc0 ls0 ws0">auto<span class="_ _9"> </span><span class="ffc fc0">ptr3<span class="_ _9"> </span><span class="fc8">=<span class="_ _e"> </span></span>__builtin_assume_aligned(ptr2,<span class="_ _9"> </span><span class="fc8">16</span>);<span class="_ _9"> </span><span class="ffb fc5">//<span class="_ _e"> </span>compiler-specific<span class="_ _9"> </span>attribute</span></span></div><div class="t m0 xd hd y128 ff5 fs7 fc9 sc0 ls0 ws0">auto<span class="_ _9"> </span><span class="ffc fc0">ptr4<span class="_ _9"> </span><span class="fc8">=<span class="_ _e"> </span></span></span>new<span class="_ _9"> </span><span class="ffc fc0">A1[<span class="fc8">10</span>];<span class="_ _3d"> </span><span class="ffb fc5">//<span class="_ _9"> </span>no<span class="_ _9"> </span>aligment<span class="_ _e"> </span>guarantee</span></span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">26/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf1e" class="pf w0 h0" data-page-no="1e"><div class="pc pc1e w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIxElEQVR42u3dLU4FMRSA0ZZMg2pYA0GxAQhBoEgIAoFgS2yCVSBYAYKwBnaAeqngUTM4BD8JQcy7zTtHVnVuzZeOaD44Pk0AABDGy9PjjikAABCNSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA4FPuvZsCAABxlFLcpAIAEI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABCmQbaa2vNgbGYWqshAMCmuEkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQCAYKbRP+Do8ur74vPD/W/r23bAb+v12fWNUQAAY8m991H22lpzYCym1moIALARpRS/+wEACEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAMAXIz2LCgDANvAsKgAAEYlUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQCAlNI00F5baw4MAOB/aq0D7dZNKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAItUIAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAG5R776YAAEAcpRQ3qQAAhCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAA/mVa3+6YAC3g9vzMEAPiLw5OLnPd259V7SvM8GwgAACF8AEHDMf7oI1P0AAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Memo<span class="_ _3"></span>ry<span class="_ _17"> </span>Prefetch</div><div class="t m0 x29 hb y129 ff7 fs6 fc0 sc0 ls0 ws0">builtin<span class="_ _8"> </span>prefetch<span class="_ _10"> </span><span class="ff4">is<span class="_ _c"> </span>used<span class="_ _f"> </span>to<span class="_ _c"> </span><span class="ffa">minimize<span class="_ _f"> </span>cache-miss<span class="_ _c"> </span>latency<span class="_ _e"> </span></span>b<span class="_ _3"></span>y<span class="_ _c"> </span>moving<span class="_ _f"> </span>data<span class="_ _c"> </span>into<span class="_ _f"> </span>a</span></div><div class="t m0 x1 hb y12a ff4 fs6 fc0 sc0 ls0 ws0">cache<span class="_ _c"> </span>b<span class="_ _b"></span>efore<span class="_ _c"> </span>it<span class="_ _c"> </span>is<span class="_ _c"> </span>accessed.<span class="_ _e"> </span>It<span class="_ _c"> </span>can<span class="_ _f"> </span>b<span class="_ _b"></span>e<span class="_ _c"> </span>used<span class="_ _f"> </span>not<span class="_ _c"> </span>only<span class="_ _f"> </span>fo<span class="_ _3"></span>r<span class="_ _f"> </span>improving<span class="_ _c"> </span><span class="ffa">spatial<span class="_ _c"> </span>lo<span class="_ _b"></span>calit<span class="_ _3"></span>y<span class="ff4">,<span class="_ _f"> </span>but</span></span></div><div class="t m0 x1 hb y12b ff4 fs6 fc0 sc0 ls0 ws0">also<span class="_ _c"> </span><span class="ffa">temp<span class="_ _b"></span>oral<span class="_ _c"> </span>lo<span class="_ _b"></span>calit<span class="_ _3"></span>y</span></div><div class="t m0 xd hd y12c ff5 fs7 fc9 sc0 ls0 ws0">for<span class="_ _9"> </span><span class="ffc fc0">(</span><span class="fc6">int<span class="_ _9"> </span><span class="ffc fc0">i<span class="_ _e"> </span><span class="fc8">=<span class="_ _9"> </span>0</span>;<span class="_ _9"> </span>i<span class="_ _e"> </span><span class="fc8">&lt;<span class="_ _9"> </span></span>size;<span class="_ _9"> </span>i<span class="fc8">++</span>)<span class="_ _9"> </span>{</span></span></div><div class="t m0 x6 hd y12d ff5 fs7 fc9 sc0 ls0 ws0">auto<span class="_ _9"> </span><span class="ffc fc0">data<span class="_ _9"> </span><span class="fc8">=<span class="_ _e"> </span></span>array[i];</span></div><div class="t m0 x6 hd y12e ffc fs7 fc0 sc0 ls0 ws0">__builtin_prefetch(array<span class="_ _9"> </span><span class="fc8">+<span class="_ _9"> </span></span>i<span class="_ _e"> </span><span class="fc8">+<span class="_ _9"> </span>1</span>,<span class="_ _9"> </span><span class="fc8">0</span>,<span class="_ _e"> </span><span class="fc8">1</span>);<span class="_ _9"> </span><span class="ffb fc5">//<span class="_ _9"> </span>2nd<span class="_ _9"> </span>argument,<span class="_ _e"> </span><span class="ff14">&apos;</span>0<span class="ff14">&apos;<span class="_ _9"> </span></span>means<span class="_ _9"> </span>read-only</span></div><div class="t m0 x27 hd y12f ffb fs7 fc5 sc0 ls0 ws0">//<span class="_ _9"> </span>3th<span class="_ _9"> </span>argument,<span class="_ _e"> </span><span class="ff14">&apos;</span>1<span class="ff14">&apos;<span class="_ _9"> </span></span>means</div><div class="t m0 x27 hd y130 ffb fs7 fc5 sc0 ls0 ws0">//<span class="_ _9"> </span>temporal<span class="_ _9"> </span>locality=1,<span class="_ _e"> </span>default=3</div><div class="t m0 x6 hd y131 ffb fs7 fc5 sc0 ls0 ws0">//<span class="_ _9"> </span>do<span class="_ _9"> </span>some<span class="_ _e"> </span>computation<span class="_ _9"> </span>on<span class="_ _9"> </span><span class="ff14">&apos;</span>data<span class="ff14">&apos;</span>,<span class="_ _e"> </span>e.g.<span class="_ _9"> </span>CRC</div><div class="t m0 xd hd y132 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">27/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf1f" class="pf w0 h0" data-page-no="1f"><div class="pc pc1f w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIfklEQVR42u3ZsQkCMQCG0UQuWDqDWDmBiLVwK1g4j0u4gYUzCBYO4QZWV3mmiYVgr405fG+C8Kf5SOJssQoAAFCN6+U8sgIAALURqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAvMWcsxUAAKhHSslLKgAA1RGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVBMAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpJgAAQKQCAIBIBQBApAIAgEgFAECkAgCASAUA4N80Qznove/bzdaFwbCcjgcjAPCFmHO2AgAA9Ugp+e4HAKA6IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAOADTbebWgF+7rbeGwEAXubLNsbJuHSPEEopBgEAoApPAR0dAmMNPRkAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Multi-Threading<span class="_ _17"> </span>and<span class="_ _17"> </span>Caches</div><div class="t m0 x1 hb y133 ff4 fs6 fc0 sc0 ls0 ws0">The<span class="_ _c"> </span><span class="ff1">CPU/threads<span class="_ _8"> </span>affinit<span class="_ _3"></span>y<span class="_ _f"> </span><span class="ff4">controls<span class="_ _c"> </span>how<span class="_ _c"> </span>a<span class="_ _c"> </span>process<span class="_ _f"> </span>is<span class="_ _c"> </span>mapp<span class="_ _b"></span>ed<span class="_ _f"> </span>and<span class="_ _c"> </span>executed<span class="_ _f"> </span>over</span></span></div><div class="t m0 x1 hb y134 ff4 fs6 fc0 sc0 ls0 ws0">multiple<span class="_ _c"> </span>cores<span class="_ _c"> </span>(including<span class="_ _c"> </span>so<span class="_ _b"></span>ckets).<span class="_ _9"> </span>It<span class="_ _c"> </span>affects<span class="_ _f"> </span>the<span class="_ _c"> </span>process<span class="_ _f"> </span>p<span class="_ _b"></span>erfo<span class="_ _3"></span>rmance<span class="_ _f"> </span>due<span class="_ _c"> </span>to</div><div class="t m0 x1 hb y135 ff4 fs6 fc0 sc0 ls0 ws0">co<span class="_ _3"></span>re-to-core<span class="_ _c"> </span>communication<span class="_ _c"> </span>and<span class="_ _c"> </span>cache<span class="_ _f"> </span>line<span class="_ _c"> </span>invalidation<span class="_ _f"> </span>overhead</div><div class="t m0 x1 hb y136 ff4 fs6 fc0 sc0 ls0 ws0">Maximizing<span class="_ _c"> </span>threads<span class="_ _c"> </span><span class="ffa">“clustering”<span class="_ _9"> </span></span>on<span class="_ _f"> </span>a<span class="_ _c"> </span>single<span class="_ _f"> </span>co<span class="_ _3"></span>re<span class="_ _f"> </span>can<span class="_ _c"> </span>p<span class="_ _b"></span>otentially<span class="_ _f"> </span>lead<span class="_ _c"> </span>to<span class="_ _f"> </span>higher<span class="_ _c"> </span>cache</div><div class="t m0 x1 hb y137 ff4 fs6 fc0 sc0 ls0 ws0">hits<span class="_ _c"> </span>rate<span class="_ _c"> </span>and<span class="_ _f"> </span>faster<span class="_ _c"> </span>communication.<span class="_ _e"> </span>On<span class="_ _c"> </span>the<span class="_ _f"> </span>other<span class="_ _c"> </span>hand,<span class="_ _f"> </span>if<span class="_ _c"> </span>the<span class="_ _f"> </span>threads<span class="_ _c"> </span>wo<span class="_ _3"></span>rk</div><div class="t m0 x1 hb y138 ff4 fs6 fc0 sc0 ls0 ws0">indep<span class="_ _b"></span>endently/almost<span class="_ _c"> </span>indep<span class="_ _b"></span>endently<span class="_ _7"></span>,<span class="_ _f"> </span>namely<span class="_ _c"> </span>they<span class="_ _f"> </span>show<span class="_ _c"> </span>high<span class="_ _c"> </span>lo<span class="_ _b"></span>cality<span class="_ _c"> </span>on<span class="_ _c"> </span>their<span class="_ _c"> </span>wo<span class="_ _3"></span>rking</div><div class="t m0 x1 hb y139 ff4 fs6 fc0 sc0 ls0 ws0">set,<span class="_ _c"> </span>mapping<span class="_ _c"> </span>them<span class="_ _f"> </span>to<span class="_ _c"> </span>different<span class="_ _f"> </span>cores<span class="_ _c"> </span>can<span class="_ _c"> </span>imp<span class="_ _3"></span>rove<span class="_ _f"> </span>the<span class="_ _c"> </span>p<span class="_ _b"></span>erformance</div><div class="t m0 xb hd y13a ffc fs7 fcc sc0 ls0 ws0">C++11<span class="_ _9"> </span>threads,<span class="_ _9"> </span>affinity<span class="_ _e"> </span>and<span class="_ _9"> </span>hyper-threading</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">28/84</div><a class="l" href="https://eli.thegreenplace.net/2016/c11-threads-affinity-and-hyperthreading/"><div class="d m1" style="border-style:none;position:absolute;left:52.083000px;bottom:11.973000px;width:204.409000px;height:13.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf20" class="pf w0 h0" data-page-no="20"><div class="pc pc20 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x8 h2 y13b ff1 fs0 fc0 sc0 ls0 ws0">Arithmetic</div><a class="l" href="#pf20" data-dest-detail='[32,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:158.662500px;bottom:205.878000px;width:122.278000px;height:19.206000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf21" class="pf w0 h0" data-page-no="21"><div class="pc pc21 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAInElEQVR42u3ZsU3DUBSGUT/kKyorM6BUTIAQNVJWoMg8WYINUjADUgqGYAOqyAXhNk4XUVFEiriGcyZ4+p+LT89teffQAQBAGe9vuysrAABQjUgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAOCkZaYVAACoIyK8pAIAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApJoAAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAf0RvAuDSxnEscpJhGFwHPmmYBS+pAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAOB3tcy0AgAAdUSEl1QAAMoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAADf9HM56OfhsHpauzCYl9eXrREAOEPLTCsAAFBHRPjdDwBAOSIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAADwk36/ubEC1Pfx+GwEAP6J2/tVa4vraf/VddM0GQQAgBKOG5QmAJXd6loAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Ha<span class="_ _3"></span>rdw<span class="_ _3"></span>are<span class="_ _8"> </span>Notes</div><div class="t m0 xb hb y13c ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Instruction<span class="_ _c"> </span>throughput<span class="_ _f"> </span>greatly<span class="_ _c"> </span>dep<span class="_ _b"></span>ends<span class="_ _f"> </span>on<span class="_ _c"> </span>processor<span class="_ _c"> </span>mo<span class="_ _b"></span>del<span class="_ _c"> </span>and<span class="_ _f"> </span>cha<span class="_ _3"></span>racteristics</span></div><div class="t m0 xb hb y13d ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Mo<span class="_ _b"></span>dern<span class="_ _c"> </span>processors<span class="_ _c"> </span>p<span class="_ _3"></span>rovide<span class="_ _f"> </span>sepa<span class="_ _3"></span>rated<span class="_ _f"> </span>units<span class="_ _c"> </span>for<span class="_ _c"> </span>floating-p<span class="_ _b"></span>oint<span class="_ _c"> </span>computation<span class="_ _f"> </span>(<span class="ff7">FPU</span>)</span></div><div class="t m0 xb hb y13e ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ffa">A<span class="_ _3"></span>ddition<span class="ff4">,<span class="_ _f"> </span></span>subtraction<span class="ff4">,<span class="_ _c"> </span>and<span class="_ _f"> </span></span>bit<span class="_ _3"></span>wise<span class="_ _f"> </span>op<span class="_ _b"></span>erations<span class="_ _9"> </span><span class="ff4">a<span class="_ _3"></span>re<span class="_ _f"> </span>computed<span class="_ _c"> </span>by<span class="_ _c"> </span>the<span class="_ _c"> </span><span class="ff7">ALU<span class="_ _c"> </span></span>and<span class="_ _f"> </span>they</span></span></div><div class="t m0 x6 hb y13f ff4 fs6 fc0 sc0 ls0 ws0">have<span class="_ _c"> </span>very<span class="_ _c"> </span>similar<span class="_ _c"> </span>throughput</div><div class="t m0 xb hb y140 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">In<span class="_ _c"> </span>mo<span class="_ _b"></span>dern<span class="_ _f"> </span>p<span class="_ _3"></span>ro<span class="_ _b"></span>cessors,<span class="_ _c"> </span><span class="ffa">multiplication<span class="_ _f"> </span></span>and<span class="_ _c"> </span><span class="ffa">addition<span class="_ _8"> </span></span>a<span class="_ _3"></span>re<span class="_ _f"> </span>computed<span class="_ _c"> </span>by<span class="_ _c"> </span>the<span class="_ _c"> </span>same</span></div><div class="t m0 x6 hb y141 ff4 fs6 fc0 sc0 ls0 ws0">ha<span class="_ _3"></span>rdwa<span class="_ _3"></span>re<span class="_ _c"> </span>comp<span class="_ _b"></span>onent<span class="_ _c"> </span>for<span class="_ _c"> </span>decreasing<span class="_ _c"> </span>circuit<span class="_ _c"> </span>area<span class="_ _c"> </span><span class="ff10">→<span class="_ _c"> </span></span>multiplication<span class="_ _c"> </span>and<span class="_ _c"> </span>addition<span class="_ _c"> </span>can</div><div class="t m0 x6 hb y142 ff4 fs6 fc0 sc0 ls0 ws0">b<span class="_ _b"></span>e<span class="_ _c"> </span>fused<span class="_ _f"> </span>in<span class="_ _c"> </span>a<span class="_ _f"> </span>single<span class="_ _c"> </span>op<span class="_ _b"></span>eration<span class="_ _10"> </span><span class="ff7">fma<span class="_ _10"> </span></span>(floating-p<span class="_ _b"></span>oint)<span class="_ _c"> </span>and<span class="_ _10"> </span><span class="ff7">mad<span class="_ _10"> </span></span>(integer)</div><div class="t m0 xb hd y143 ffc fs7 fcc sc0 ls0 ws0">uops.info:<span class="_ _20"> </span>Latency,<span class="_ _17"> </span>Throughput,<span class="_ _e"> </span>and<span class="_ _9"> </span>Port<span class="_ _9"> </span>Usage<span class="_ _e"> </span>Information</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">29/84</div><a class="l" href="https://uops.info/table.html"><div class="d m1" style="border-style:none;position:absolute;left:52.083000px;bottom:5.404500px;width:279.726000px;height:13.444000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf22" class="pf w0 h0" data-page-no="22"><div class="pc pc22 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIXklEQVR42u3YsQ3CMBRFUTuKRZkZolRMgBA1EptliYxDwRBsQJUSN06XGb6sc0Z41dXLy+2RAAAgjO/nPVgBAIBoRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAAKdca7UCAABxlFI8qQAAhCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqSYAAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSTQAAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgDQj3FfZytAB37PzQgA9OF6f+U8Xdr+T6m1ZhAAAEI4AE8aFAQitKvhAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Data<span class="_ _17"> </span>T<span class="_ _7"></span>yp<span class="_ _b"></span>es</div><div class="t m0 xb hb yb1 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff1">32-bit<span class="_ _8"> </span>integral<span class="_ _f"> </span>vs.<span class="_ _6"> </span>floating-p<span class="_ _b"></span>oint<span class="ff4">:<span class="_ _e"> </span>in<span class="_ _c"> </span>general,<span class="_ _f"> </span>integral<span class="_ _c"> </span>types<span class="_ _f"> </span>a<span class="_ _3"></span>re<span class="_ _f"> </span>faster,<span class="_ _c"> </span>but<span class="_ _f"> </span>it</span></span></div><div class="t m0 x6 hb yb2 ff4 fs6 fc0 sc0 ls0 ws0">dep<span class="_ _b"></span>ends<span class="_ _c"> </span>on<span class="_ _f"> </span>the<span class="_ _c"> </span>processor<span class="_ _c"> </span>cha<span class="_ _3"></span>racteristics</div><div class="t m0 xb hb y144 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff1">32-bit<span class="_ _8"> </span>t<span class="_ _3"></span>yp<span class="_ _b"></span>es<span class="_ _8"> </span>are<span class="_ _f"> </span>faster<span class="_ _8"> </span>than<span class="_ _f"> </span>64-bit<span class="_ _8"> </span>types</span></div><div class="t m0 x28 h6 y145 ff8 fs4 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">64-bit<span class="_ _d"> </span>integral<span class="_ _d"> </span>types<span class="_ _c"> </span>a<span class="_ _3"></span>re<span class="_ _d"> </span>slightly<span class="_ _c"> </span>slo<span class="_ _3"></span>wer<span class="_ _d"> </span>than<span class="_ _d"> </span>32-bit<span class="_ _d"> </span>integral<span class="_ _d"> </span>types.<span class="_ _9"> </span>Mo<span class="_ _b"></span>dern<span class="_ _d"> </span>processors</span></div><div class="t m0 x1a h6 y146 ff4 fs4 fc0 sc0 ls0 ws0">widely<span class="_ _d"> </span>supp<span class="_ _b"></span>ort<span class="_ _d"> </span>native<span class="_ _c"> </span>64-bit<span class="_ _d"> </span>instructions<span class="_ _c"> </span>fo<span class="_ _3"></span>r<span class="_ _c"> </span>most<span class="_ _d"> </span>op<span class="_ _b"></span>erations,<span class="_ _c"> </span>otherwise<span class="_ _d"> </span>they<span class="_ _c"> </span>require</div><div class="t m0 x1a h6 y147 ff4 fs4 fc0 sc0 ls0 ws0">multiple<span class="_ _d"> </span>op<span class="_ _b"></span>erations</div><div class="t m0 x28 h6 y148 ff8 fs4 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Single<span class="_ _d"> </span>precision<span class="_ _d"> </span>floating-p<span class="_ _b"></span>oints<span class="_ _c"> </span>a<span class="_ _3"></span>re<span class="_ _c"> </span>up<span class="_ _d"> </span>to<span class="_ _c"> </span>three<span class="_ _d"> </span>times<span class="_ _c"> </span>faster<span class="_ _d"> </span>than<span class="_ _c"> </span>double<span class="_ _d"> </span>precision</span></div><div class="t m0 x1a h6 y149 ff4 fs4 fc0 sc0 ls0 ws0">floating-p<span class="_ _b"></span>oints</div><div class="t m0 xb hb y14a ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff1">Small<span class="_ _8"> </span>integral<span class="_ _f"> </span>types<span class="_ _8"> </span>are<span class="_ _f"> </span>slo<span class="_ _3"></span>wer<span class="_ _f"> </span>than<span class="_ _8"> </span>32-bit<span class="_ _8"> </span>integer<span class="ff4">,<span class="_ _c"> </span>but<span class="_ _c"> </span>they<span class="_ _f"> </span>require<span class="_ _c"> </span>less</span></span></div><div class="t m0 x6 hb y14b ff4 fs6 fc0 sc0 ls0 ws0">memo<span class="_ _3"></span>ry<span class="_ _f"> </span><span class="ff10">→<span class="_ _c"> </span></span>cache/memory<span class="_ _c"> </span>efficiency</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">30/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf23" class="pf w0 h0" data-page-no="23"><div class="pc pc23 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Op<span class="_ _b"></span>erations<span class="_ _3e"> </span>1/2</div><div class="t m0 xb hb y14c ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">In<span class="_ _c"> </span>mo<span class="_ _b"></span>dern<span class="_ _f"> </span>ar<span class="_ _3"></span>chitectures,<span class="_ _f"> </span>arithmetic<span class="_ _c"> </span>increment/decrement<span class="_ _11"> </span><span class="ff7">++<span class="_ _d"> </span></span>/<span class="_ _d"> </span><span class="ff7">--<span class="_ _10"> </span></span>has<span class="_ _c"> </span>the<span class="_ _c"> </span>same</span></div><div class="t m0 x6 hb y14d ff4 fs6 fc0 sc0 ls0 ws0">p<span class="_ _b"></span>erfo<span class="_ _3"></span>rmance<span class="_ _f"> </span>of<span class="_ _10"> </span><span class="ff7">add<span class="_ _d"> </span></span>/<span class="_ _25"> </span><span class="ff7">sub</span></div><div class="t m0 xb hb y14e ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff1">Prefer<span class="_ _8"> </span>p<span class="_ _3"></span>refix<span class="_ _8"> </span>op<span class="_ _b"></span>erator<span class="_ _c"> </span><span class="ff4">(<span class="_ _d"> </span><span class="ff7">++var<span class="_ _25"> </span></span>)<span class="_ _c"> </span>instead<span class="_ _f"> </span>of<span class="_ _c"> </span>the<span class="_ _f"> </span>p<span class="_ _b"></span>ostfix<span class="_ _f"> </span>op<span class="_ _b"></span>erato<span class="_ _3"></span>r<span class="_ _f"> </span>(<span class="_ _d"> </span><span class="ff7">var++<span class="_ _25"> </span></span>)<span class="_ _f"> </span><span class="ff1">*</span></span></span></div><div class="t m0 xb hb y14f ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Use<span class="_ _c"> </span>the<span class="_ _f"> </span>a<span class="_ _3"></span>rithmetic<span class="_ _f"> </span><span class="ff1">comp<span class="_ _b"></span>ound<span class="_ _8"> </span>op<span class="_ _b"></span>erators<span class="_ _c"> </span></span>(<span class="_ _25"> </span><span class="ff7">a<span class="_ _15"> </span>+=<span class="_ _15"> </span>b<span class="_ _d"> </span></span>)<span class="_ _c"> </span>instead<span class="_ _c"> </span>of<span class="_ _f"> </span>op<span class="_ _b"></span>erators</span></div><div class="t m0 x6 hb y150 ff4 fs6 fc0 sc0 ls0 ws0">combined<span class="_ _c"> </span>with<span class="_ _c"> </span>assignment<span class="_ _f"> </span>(<span class="_ _d"> </span><span class="ff7">a<span class="_ _15"> </span>=<span class="_ _15"> </span>a<span class="_ _6"> </span>+<span class="_ _15"> </span>b<span class="_ _d"> </span></span>)<span class="_ _c"> </span><span class="ff1">*</span></div><div class="t m0 xb h10 y151 ff1 fs7 fcc sc0 ls0 ws0">*<span class="_ _d"> </span><span class="fff">the<span class="_ _25"> </span>compiler<span class="_ _d"> </span>automatically<span class="_ _d"> </span>applies<span class="_ _d"> </span>such<span class="_ _d"> </span>optimization<span class="_ _d"> </span>whenever<span class="_ _d"> </span>possible.<span class="_ _8"> </span>This<span class="_ _d"> </span>is<span class="_ _d"> </span>not<span class="_ _d"> </span>ensured<span class="_ _d"> </span>fo<span class="_ _3"></span>r</span></div><div class="t m0 x1 h10 y152 fff fs7 fcc sc0 ls0 ws0">object<span class="_ _d"> </span>t<span class="_ _3"></span>yp<span class="_ _b"></span>es</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">31/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf24" class="pf w0 h0" data-page-no="24"><div class="pc pc24 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Op<span class="_ _b"></span>erations<span class="_ _3e"> </span>2/2</div><div class="t m0 xb hb y14c ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff1">Keep<span class="_ _8"> </span>nea<span class="_ _3"></span>r<span class="_ _8"> </span>constant<span class="_ _8"> </span>values/va<span class="_ _3"></span>riables<span class="_ _f"> </span><span class="ff10">→<span class="_ _c"> </span><span class="ff4">the<span class="_ _f"> </span>compiler<span class="_ _c"> </span>can<span class="_ _f"> </span>merge<span class="_ _c"> </span>their<span class="_ _f"> </span>values</span></span></span></div><div class="t m0 xb hb y153 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Some<span class="_ _c"> </span><span class="ff5">unsigned<span class="_ _f"> </span></span>op<span class="_ _b"></span>erations<span class="_ _c"> </span>are<span class="_ _c"> </span>faster<span class="_ _c"> </span>than<span class="_ _c"> </span><span class="ff5">signed<span class="_ _f"> </span></span>op<span class="_ _b"></span>erations<span class="_ _c"> </span>(deal<span class="_ _f"> </span>with<span class="_ _c"> </span>negative</span></div><div class="t m0 x6 hb y14e ff4 fs6 fc0 sc0 ls0 ws0">numb<span class="_ _b"></span>er),<span class="_ _c"> </span>e.g.<span class="_ _4"> </span><span class="ff7">x<span class="_ _15"> </span>/<span class="_ _15"> </span>2</span></div><div class="t m0 xb hb y14f ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Prefer<span class="_ _f"> </span><span class="ff1">logic<span class="_ _8"> </span>op<span class="_ _b"></span>erations<span class="_ _10"> </span><span class="ff7">||<span class="_ _10"> </span></span></span>to<span class="_ _c"> </span><span class="ff1">bitwise<span class="_ _f"> </span>op<span class="_ _b"></span>erations<span class="_ _10"> </span><span class="ff7">|<span class="_ _10"> </span></span></span>to<span class="_ _c"> </span>take<span class="_ _c"> </span>advantage<span class="_ _c"> </span>of</span></div><div class="t m0 x6 hb y150 ff4 fs6 fc0 sc0 ls0 ws0">sho<span class="_ _3"></span>rt-circuiting</div><div class="t m0 xb hd y154 ffc fs7 fcc sc0 ls0 ws0">Is<span class="_ _9"> </span>if(A<span class="_ _9"> </span>|<span class="_ _e"> </span>B)<span class="_ _9"> </span>always<span class="_ _9"> </span>faster<span class="_ _e"> </span>than<span class="_ _9"> </span>if(A<span class="_ _9"> </span>||<span class="_ _9"> </span>B)?</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">32/84</div><a class="l" href="https://stackoverflow.com/questions/71039947/is-ifa-b-always-faster-than-ifa-b"><div class="d m1" style="border-style:none;position:absolute;left:52.083000px;bottom:7.123500px;width:204.409000px;height:13.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf25" class="pf w0 h0" data-page-no="25"><div class="pc pc25 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAId0lEQVR42u3YsQkCMRiG4UQuWB3OIFZOIGItuJlLOI6FQ7iB1XGVaWJnq1h4/8HzTBC+NC9/3uwOCQAAwrjfrgsrAAAQjUgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAOAt11qtAABAHKUUl1QAAMIRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAACm083oreM4+jAAgN/0fT+j17qkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUk0AAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAMBUcq3VCgAAxFFKcUkFACAckQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgDA17rhvLYC8NHjeDECAP+x3Z9yXi3b8EyptWYQAABCeAHUhhoC8ZlMkQAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Integer<span class="_ _17"> </span>Multiplication</div><div class="t m0 x1 hb y77 ff4 fs6 fc0 sc0 ls0 ws0">Integer<span class="_ _c"> </span>multiplication<span class="_ _c"> </span>requires<span class="_ _f"> </span>double<span class="_ _c"> </span>the<span class="_ _f"> </span>numb<span class="_ _b"></span>er<span class="_ _c"> </span>of<span class="_ _f"> </span>bits<span class="_ _c"> </span>of<span class="_ _f"> </span>the<span class="_ _c"> </span>op<span class="_ _0"></span>erands</div><div class="t m0 xd h10 y155 ffb fs7 fc5 sc0 ls0 ws0">//<span class="_ _9"> </span><span class="ff15">32-bit<span class="_ _9"> </span>platforms<span class="_ _e"> </span>or<span class="_ _9"> </span>knowledge<span class="_ _9"> </span>that<span class="_ _e"> </span>x,<span class="_ _9"> </span>y<span class="_ _9"> </span>are<span class="_ _9"> </span>less<span class="_ _e"> </span>than<span class="_ _9"> </span><span class="fff">2</span></span></div><div class="t m0 x2a h13 y156 ff6 fs8 fc5 sc0 ls0 ws0">32</div><div class="t m0 xd hd y157 ff5 fs7 fc6 sc0 ls0 ws0">int<span class="_ _9"> </span><span class="ffc fc7">f1<span class="fc0">(</span></span>int<span class="_ _9"> </span><span class="ffc fc0">x,<span class="_ _e"> </span></span>int<span class="_ _9"> </span><span class="ffc fc0">y)<span class="_ _9"> </span>{</span></div><div class="t m0 x6 hd y158 ff5 fs7 fc9 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">x<span class="_ _9"> </span><span class="fc8">*<span class="_ _e"> </span></span>y;<span class="_ _9"> </span><span class="ffb fc5">//<span class="_ _9"> </span>efficient<span class="_ _e"> </span>but<span class="_ _9"> </span>can<span class="_ _9"> </span>overflow</span></span></div><div class="t m0 xd hd y159 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xd hd y15a ff5 fs7 fc6 sc0 ls0 ws0">int64_t<span class="_ _9"> </span><span class="ffc fc7">f2<span class="fc0">(</span></span>int64_t<span class="_ _9"> </span><span class="ffc fc0">x,<span class="_ _e"> </span></span>int64_t<span class="_ _9"> </span><span class="ffc fc0">y)<span class="_ _9"> </span>{</span></div><div class="t m0 x6 hd y15b ff5 fs7 fc9 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">x<span class="_ _9"> </span><span class="fc8">*<span class="_ _e"> </span></span>y;<span class="_ _9"> </span><span class="ffb fc5">//<span class="_ _9"> </span>always<span class="_ _e"> </span>correct<span class="_ _9"> </span>but<span class="_ _9"> </span>slow</span></span></div><div class="t m0 xd hd y15c ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xd hd y15d ff5 fs7 fc6 sc0 ls0 ws0">int64_t<span class="_ _9"> </span><span class="ffc fc7">f3<span class="fc0">(</span></span>int<span class="_ _9"> </span><span class="ffc fc0">x,<span class="_ _e"> </span></span>int<span class="_ _9"> </span><span class="ffc fc0">y)<span class="_ _9"> </span>{</span></div><div class="t m0 x6 hd y15e ff5 fs7 fc9 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">x<span class="_ _9"> </span><span class="fc8">*<span class="_ _e"> </span></span></span>static_cast<span class="ffc fc8">&lt;</span><span class="fc6">int64_t<span class="ffc fc8">&gt;<span class="fc0">(y);<span class="_ _9"> </span><span class="ffb fc5">//<span class="_ _9"> </span>correct<span class="_ _e"> </span>and<span class="_ _9"> </span>efficient!!</span></span></span></span></div><div class="t m0 xd hd y15f ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">33/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf26" class="pf w0 h0" data-page-no="26"><div class="pc pc26 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">P<span class="_ _3"></span>o<span class="_ _3"></span>wer-of-T<span class="_ _5"></span>wo<span class="_ _8"> </span>Multiplication/Division/Mo<span class="_ _b"></span>dulo</div><div class="t m0 xb hb y160 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Prefer<span class="_ _c"> </span>shift<span class="_ _f"> </span>fo<span class="_ _3"></span>r<span class="_ _f"> </span><span class="ff1">p<span class="_ _0"></span>o<span class="_ _3"></span>w<span class="_ _3"></span>er-of-t<span class="_ _3"></span>wo<span class="_ _f"> </span>multiplications<span class="_ _c"> </span><span class="ff4">(<span class="_ _d"> </span><span class="ff7">a<span class="_ _15"> </span><span class="ff10">≪<span class="_ _15"> </span></span>b<span class="_ _d"> </span></span>)<span class="_ _c"> </span>and<span class="_ _c"> </span></span>divisions</span></span></div><div class="t m0 x6 hb y98 ff4 fs6 fc0 sc0 ls0 ws0">(<span class="_ _25"> </span><span class="ff7">a<span class="_ _15"> </span><span class="ff10">≫<span class="_ _15"> </span></span>b<span class="_ _d"> </span></span>)<span class="_ _c"> </span>only<span class="_ _f"> </span>fo<span class="_ _3"></span>r<span class="_ _f"> </span>run-time<span class="_ _c"> </span>values<span class="_ _f"> </span><span class="ff1">*</span></div><div class="t m0 xb hb y161 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Prefer<span class="_ _c"> </span>bitwise<span class="_ _c"> </span><span class="ff16">and<span class="_ _c"> </span></span>(<span class="_ _d"> </span><span class="ff7">a<span class="_ _15"> </span>%<span class="_ _6"> </span>b<span class="_ _15"> </span><span class="ff10">→<span class="_ _15"> </span></span>a<span class="_ _15"> </span>&amp;<span class="_ _15"> </span>(b<span class="_ _15"> </span>-<span class="_ _15"> </span>1)<span class="_ _d"> </span></span>)<span class="_ _c"> </span>for<span class="_ _c"> </span><span class="ff1">p<span class="_ _b"></span>ow<span class="_ _3"></span>er-of-t<span class="_ _3"></span>wo<span class="_ _f"> </span>mo<span class="_ _b"></span>dulo</span></span></div><div class="t m0 x6 hb y9a ff4 fs6 fc0 sc0 ls0 ws0">op<span class="_ _b"></span>erations<span class="_ _c"> </span>only<span class="_ _f"> </span>fo<span class="_ _3"></span>r<span class="_ _f"> </span>run-time<span class="_ _c"> </span>values<span class="_ _f"> </span><span class="ff1">*</span></div><div class="t m0 xb hb y162 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff1">Constant<span class="_ _8"> </span>multiplication<span class="_ _f"> </span>and<span class="_ _8"> </span>division<span class="_ _f"> </span><span class="ff4">can<span class="_ _c"> </span>b<span class="_ _b"></span>e<span class="_ _f"> </span>heavily<span class="_ _c"> </span>optimized<span class="_ _f"> </span>b<span class="_ _3"></span>y<span class="_ _f"> </span>the<span class="_ _c"> </span>compiler,</span></span></div><div class="t m0 x6 hb y163 ff4 fs6 fc0 sc0 ls0 ws0">even<span class="_ _c"> </span>for<span class="_ _c"> </span>non-trivial<span class="_ _c"> </span>values</div><div class="t m0 xb h10 y164 ff1 fs7 fcc sc0 ls0 ws0">*<span class="_ _d"> </span><span class="fff">the<span class="_ _25"> </span>compiler<span class="_ _d"> </span>automatically<span class="_ _d"> </span>applies<span class="_ _d"> </span>such<span class="_ _d"> </span>optimizations<span class="_ _d"> </span>if<span class="_ _11"> </span><span class="ffc">b<span class="_ _15"> </span></span>is<span class="_ _d"> </span>known<span class="_ _25"> </span>at<span class="_ _d"> </span>compile-time.<span class="_ _8"> </span>Bitwise</span></div><div class="t m0 x1 h10 y165 fff fs7 fcc sc0 ls0 ws0">op<span class="_ _b"></span>erations<span class="_ _d"> </span>mak<span class="_ _3"></span>e<span class="_ _d"> </span>the<span class="_ _d"> </span>co<span class="_ _b"></span>de<span class="_ _d"> </span>ha<span class="_ _3"></span>rder<span class="_ _d"> </span>to<span class="_ _d"> </span>read</div><div class="t m0 x1 hd y166 ffc fs7 fcc sc0 ls0 ws0">Ideal<span class="_ _9"> </span>divisors:<span class="_ _20"> </span>when<span class="_ _9"> </span>a<span class="_ _9"> </span>division<span class="_ _e"> </span>compiles<span class="_ _9"> </span>down<span class="_ _9"> </span>to<span class="_ _9"> </span>just<span class="_ _e"> </span>a<span class="_ _9"> </span>multiplication</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">34/84</div><a class="l" href="https://lemire.me/blog/2021/04/28/ideal-divisors-when-a-division-compiles-down-to-just-a-multiplication/?amp&amp;__twitter_impression=true"><div class="d m1" style="border-style:none;position:absolute;left:41.025000px;bottom:6.360000px;width:336.214000px;height:11.154000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf27" class="pf w0 h0" data-page-no="27"><div class="pc pc27 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI00lEQVR42u3aMUoDQRiG4YzOj6VnECuL1CJWgQi5goXn8RLewMIjBImFN0jjDaxSGYcNa2cXEQvz7/I8J8h807zspJxfXk8AACCNt9eXIysAAJCNSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA4FtprVkBAIA8IsKXVAAA0hGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBg2OooT9V1u+ls7nYBgMzWq6UR9imtNSsAAJBHRHjuBwAgHZEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCADAgdZSn6rrddDZ3uwBAZuvV0gj7jPNLaq3HrhYAYLhKa80KAADkERH+kwoAQDoiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkWoCAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQDgkOooT9V1u+ls7nYBgMzWq6UR9imtNSsAAJBHRHjuBwAgHZEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAA6rDuWHfmy3i9s7FwbD8vz0aAQA/qC01qwAAEAeEeG5HwCAdEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQDgJ3Vzf2YF4B+83zwYAYDfuLhalHJ60m8+J5O+7w0CAEAKXzalOAcKxfSyAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Conversion</div><div class="t m0 x2b h10 y167 ff1 fs7 fc0 sc0 ls0 ws0">F<span class="_ _3"></span>rom<span class="_ _3f"> </span>T<span class="_ _7"></span>o<span class="_ _40"> </span>Cost</div><div class="t m0 x2c h10 y168 ffc fs7 fc0 sc0 ls0 ws0">Signed<span class="_ _41"> </span>Unsigned<span class="_ _42"> </span><span class="fff">no<span class="_ _d"> </span>cost,<span class="_ _25"> </span>bit<span class="_ _d"> </span>representation<span class="_ _25"> </span>is<span class="_ _d"> </span>the<span class="_ _d"> </span>same</span></div><div class="t m0 x2c h10 y169 ffc fs7 fc0 sc0 ls0 ws0">Unsigned<span class="_ _43"> </span>Larger<span class="_ _9"> </span>Unsigned<span class="_ _44"> </span><span class="fff">no<span class="_ _d"> </span>cost,<span class="_ _25"> </span>register<span class="_ _d"> </span>extended</span></div><div class="t m0 x2c h10 y16a ffc fs7 fc0 sc0 ls0 ws0">Signed<span class="_ _41"> </span>Larger<span class="_ _9"> </span>Signed<span class="_ _45"> </span><span class="fff">1<span class="_ _d"> </span>clock-cycle,<span class="_ _d"> </span>register<span class="_ _d"> </span>+<span class="_ _d"> </span>sign<span class="_ _d"> </span>extended</span></div><div class="t m0 x2c hd y16b ffc fs7 fc0 sc0 ls0 ws0">Integer<span class="_ _42"> </span>Floating-point</div><div class="t m0 x2d h10 y16c fff fs7 fc0 sc0 ls0 ws0">4-16<span class="_ _d"> </span>clock-cycles</div><div class="t m0 x2d h10 y16d fff fs7 fc0 sc0 ls0 ws0">Signed<span class="_ _d"> </span><span class="ff17">→<span class="_ _25"> </span></span>Floating-p<span class="_ _b"></span>oint<span class="_ _d"> </span>is<span class="_ _d"> </span>faster<span class="_ _d"> </span>than</div><div class="t m0 x2d h10 y16e fff fs7 fc0 sc0 ls0 ws0">Unsigned<span class="_ _d"> </span><span class="ff17">→<span class="_ _25"> </span></span>Floating-p<span class="_ _b"></span>oint<span class="_ _d"> </span>(except<span class="_ _d"> </span><span class="ffc">AVX512</span></div><div class="t m0 x2d h10 y16f fff fs7 fc0 sc0 ls0 ws0">instruction<span class="_ _d"> </span>set<span class="_ _25"> </span>is<span class="_ _d"> </span>enabled)</div><div class="t m0 x2c h10 y170 ffc fs7 fc0 sc0 ls0 ws0">Floating-point<span class="_ _23"> </span>Integer<span class="_ _41"> </span><span class="fff">fast<span class="_ _d"> </span>if<span class="_ _f"> </span></span>SSE2<span class="fff">,<span class="_ _d"> </span>slo<span class="_ _3"></span>w<span class="_ _d"> </span>otherwise<span class="_ _d"> </span>(50-100<span class="_ _d"> </span>clo<span class="_"> </span>ck-cycles)</span></div><div class="t m0 xb h10 y171 ffc fs7 fcc sc0 ls0 ws0">Optimizing<span class="_ _9"> </span>software<span class="_ _9"> </span>in<span class="_ _e"> </span>C++<span class="fff">,<span class="_ _25"> </span><span class="ff18">Agner<span class="_ _d"> </span>Fog</span></span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">35/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf28" class="pf w0 h0" data-page-no="28"><div class="pc pc28 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Floating-P<span class="_ _3"></span>oint<span class="_ _17"> </span>Division</div><div class="t m0 x1 hb y172 ff1 fs6 fc0 sc0 ls0 ws0">Multiplication<span class="_ _f"> </span>is<span class="_ _8"> </span>much<span class="_ _8"> </span>faster<span class="_ _8"> </span>than<span class="_ _8"> </span>division*</div><div class="t m0 x1 hd y173 ffc fs7 fc0 sc0 ls0 ws0">not<span class="_ _9"> </span>optimized:</div><div class="t m0 xd hd y174 ffb fs7 fc5 sc0 ls0 ws0">//<span class="_ _9"> </span>&quot;value&quot;<span class="_ _9"> </span>is<span class="_ _e"> </span>floating-point<span class="_ _9"> </span>(dynamic)</div><div class="t m0 xd hd y175 ff5 fs7 fc9 sc0 ls0 ws0">for<span class="_ _9"> </span><span class="ffc fc0">(</span><span class="fc6">int<span class="_ _9"> </span><span class="ffc fc0">i<span class="_ _e"> </span><span class="fc8">=<span class="_ _9"> </span>0</span>;<span class="_ _9"> </span>i<span class="_ _e"> </span><span class="fc8">&lt;<span class="_ _9"> </span></span>N;<span class="_ _9"> </span>i<span class="fc8">++</span>)</span></span></div><div class="t m0 x6 hd y176 ffc fs7 fc0 sc0 ls0 ws0">A[i]<span class="_ _9"> </span><span class="fc8">=<span class="_ _9"> </span></span>B[i]<span class="_ _e"> </span><span class="fc8">/<span class="_ _9"> </span></span>value;</div><div class="t m0 x1 hd y177 ffc fs7 fc0 sc0 ls0 ws0">optimized:</div><div class="t m0 xd hd y178 ffc fs7 fc0 sc0 ls0 ws0">div<span class="_ _9"> </span><span class="fc8">=<span class="_ _9"> </span>1.0<span class="_ _e"> </span>/<span class="_ _9"> </span></span>value;<span class="_ _46"> </span><span class="ffb fc5">//<span class="_ _9"> </span>div<span class="_ _9"> </span>is<span class="_ _e"> </span>floating-point</span></div><div class="t m0 xd hd y179 ff5 fs7 fc9 sc0 ls0 ws0">for<span class="_ _9"> </span><span class="ffc fc0">(</span><span class="fc6">int<span class="_ _9"> </span><span class="ffc fc0">i<span class="_ _e"> </span><span class="fc8">=<span class="_ _9"> </span>0</span>;<span class="_ _9"> </span>i<span class="_ _e"> </span><span class="fc8">&lt;<span class="_ _9"> </span></span>N;<span class="_ _9"> </span>i<span class="fc8">++</span>)</span></span></div><div class="t m0 x6 hd y17a ffc fs7 fc0 sc0 ls0 ws0">A[i]<span class="_ _9"> </span><span class="fc8">=<span class="_ _9"> </span></span>B[i]<span class="_ _e"> </span><span class="fc8">*<span class="_ _9"> </span></span>div;</div><div class="t m0 xb h10 y17b ff1 fs7 fcc sc0 ls0 ws0">*<span class="_ _d"> </span><span class="fff">Multiplying<span class="_ _25"> </span>by<span class="_ _d"> </span>the<span class="_ _25"> </span>inverse<span class="_ _d"> </span>is<span class="_ _d"> </span>not<span class="_ _d"> </span>the<span class="_ _d"> </span>same<span class="_ _d"> </span>as<span class="_ _d"> </span>the<span class="_ _25"> </span>division</span></div><div class="t m0 x2e h10 y17c fff fs7 fcc sc0 ls0 ws0">see<span class="_ _d"> </span><span class="ffc">lemire.me/blog/2019/03/12</span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">36/84</div><a class="l" href="https://lemire.me/blog/2019/03/12/multiplying-by-the-inverse-is-not-the-same-as-the-division/"><div class="d m1" style="border-style:none;position:absolute;left:85.635000px;bottom:0.604500px;width:119.676000px;height:12.000000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf29" class="pf w0 h0" data-page-no="29"><div class="pc pc29 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Floating-P<span class="_ _3"></span>oint<span class="_ _17"> </span>FMA</div><div class="t m0 x1 hb y172 ff4 fs6 fc0 sc0 ls0 ws0">Mo<span class="_ _b"></span>dern<span class="_ _c"> </span>processors<span class="_ _c"> </span>allo<span class="_ _3"></span>w<span class="_ _f"> </span>p<span class="_ _b"></span>erfo<span class="_ _3"></span>rming<span class="_ _10"> </span><span class="ff7">a<span class="_ _15"> </span>*<span class="_ _15"> </span>b<span class="_ _15"> </span>+<span class="_ _15"> </span>c<span class="_ _10"> </span></span>in<span class="_ _c"> </span>a<span class="_ _f"> </span>single<span class="_ _c"> </span>op<span class="_ _b"></span>eration,<span class="_ _f"> </span>called<span class="_ _c"> </span><span class="ff1">fused</span></div><div class="t m0 x1 hb y17d ff1 fs6 fc0 sc0 ls0 ws0">multiply-add<span class="_ _c"> </span><span class="ff4">(<span class="_ _d"> </span><span class="ff7">std::fma<span class="_ _10"> </span></span>in<span class="_ _c"> </span><span class="fcd">C++11</span>).<span class="_ _e"> </span>This<span class="_ _c"> </span>implies<span class="_ _c"> </span>b<span class="_ _b"></span>etter<span class="_ _f"> </span>p<span class="_ _b"></span>erformance<span class="_ _c"> </span>and<span class="_ _c"> </span>accuracy</span></div><div class="t m0 x1 hb y17e ff4 fs6 fc0 sc0 ls0 ws0">CPU<span class="_ _c"> </span>processors<span class="_ _c"> </span>perform<span class="_ _c"> </span>computations<span class="_ _c"> </span>with<span class="_ _f"> </span>a<span class="_ _c"> </span>larger<span class="_ _c"> </span>register<span class="_ _c"> </span>size<span class="_ _c"> </span>than<span class="_ _f"> </span>the<span class="_ _c"> </span>original<span class="_ _c"> </span>data</div><div class="t m0 x1 hb y17f ff4 fs6 fc0 sc0 ls0 ws0">t<span class="_ _3"></span>yp<span class="_ _b"></span>e<span class="_ _f"> </span>(e.g.<span class="_ _e"> </span>48-bit<span class="_ _c"> </span>fo<span class="_ _3"></span>r<span class="_ _f"> </span>32-bit<span class="_ _c"> </span>floating-p<span class="_ _b"></span>oint)<span class="_ _f"> </span>for<span class="_ _c"> </span>performing<span class="_ _c"> </span>this<span class="_ _c"> </span>op<span class="_ _b"></span>eration</div><div class="t m0 x1 hb y180 ff4 fs6 fc0 sc0 ls0 ws0">Compiler<span class="_ _c"> </span>b<span class="_ _b"></span>ehavior:</div><div class="t m0 x2f h6 y181 ff8 fs4 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">GCC<span class="_ _d"> </span>9<span class="_ _c"> </span>and<span class="_ _d"> </span>ICC<span class="_ _c"> </span>19<span class="_ _d"> </span>produce<span class="_ _c"> </span>a<span class="_ _d"> </span>single<span class="_ _c"> </span>instruction<span class="_ _d"> </span>for<span class="_ _11"> </span><span class="ff7">std::fma<span class="_ _11"> </span></span>and<span class="_ _d"> </span>for<span class="_ _11"> </span><span class="ff7">a<span class="_ _e"> </span>*<span class="_ _6"> </span>b<span class="_ _e"> </span>+<span class="_ _6"> </span>c<span class="_ _11"> </span></span>with</span></div><div class="t m0 xc hc y182 ff7 fs4 fc0 sc0 ls0 ws0">-O3<span class="_ _e"> </span>-march=native</div><div class="t m0 x2f h6 y183 ff8 fs4 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Clang<span class="_ _d"> </span>9<span class="_ _c"> </span>and<span class="_ _d"> </span>MSVC<span class="_ _d"> </span>19.*<span class="_ _c"> </span>p<span class="_ _3"></span>ro<span class="_ _b"></span>duce<span class="_ _c"> </span>a<span class="_ _d"> </span>single<span class="_ _c"> </span>instruction<span class="_ _d"> </span>for<span class="_ _11"> </span><span class="ff7">std::fma<span class="_ _11"> </span></span>but<span class="_ _d"> </span>not<span class="_ _c"> </span>fo<span class="_ _3"></span>r</span></div><div class="t m0 xc hc y184 ff7 fs4 fc0 sc0 ls0 ws0">a<span class="_ _e"> </span>*<span class="_ _6"> </span>b<span class="_ _6"> </span>+<span class="_ _e"> </span>c</div><div class="t m0 xb hd y185 ffc fs7 fcc sc0 ls0 ws0">FMA:<span class="_ _9"> </span>solve<span class="_ _9"> </span>quadratic<span class="_ _e"> </span>equation</div><div class="t m0 x30 hd y186 ffc fs7 fcc sc0 ls0 ws0">FMA:<span class="_ _9"> </span>extended<span class="_ _9"> </span>precision<span class="_ _e"> </span>addition<span class="_ _9"> </span>and<span class="_ _9"> </span>multiplication<span class="_ _e"> </span>by<span class="_ _9"> </span>constant</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">37/84</div><a class="l" href="https://marc-b-reynolds.github.io/math/2020/01/10/Quadratic.html"><div class="d m1" style="border-style:none;position:absolute;left:52.083000px;bottom:24.009000px;width:138.506000px;height:11.657000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://marc-b-reynolds.github.io/math/2020/01/09/ConstAddMul.html"><div class="d m1" style="border-style:none;position:absolute;left:51.486000px;bottom:2.422500px;width:298.555000px;height:11.154000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf2a" class="pf w0 h0" data-page-no="2a"><div class="pc pc2a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIXklEQVR42u3YsQ3CMBRFUTuKRZkZolRMgBA1EptliYxDwRBsQJUSN06XGb6sc0Z41dXLy+2RAAAgjO/nPVgBAIBoRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAAKdca7UCAABxlFI8qQAAhCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqSYAAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSTQAAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgDQj3FfZysAHfg9NyMA9OF6f+U8Xdr+T6m1ZhAAAEI4AH9kFAT8S+N3AAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Compiler<span class="_ _17"> </span>Intrinsic<span class="_ _17"> </span>Functions<span class="_ _47"> </span>1/5</div><div class="t m0 x1 hb y187 ff1 fs6 fc0 sc0 ls0 ws0">Compiler<span class="_ _f"> </span>intrinsics<span class="_ _f"> </span><span class="ff4">are<span class="_ _c"> </span>highly<span class="_ _c"> </span>optimized<span class="_ _c"> </span>functions<span class="_ _f"> </span>directly<span class="_ _c"> </span>provided<span class="_ _c"> </span>b<span class="_ _3"></span>y<span class="_ _f"> </span>the<span class="_ _c"> </span>compiler</span></div><div class="t m0 x1 hb y188 ff4 fs6 fc0 sc0 ls0 ws0">instead<span class="_ _c"> </span>of<span class="_ _c"> </span>external<span class="_ _f"> </span>libra<span class="_ _3"></span>ries</div><div class="t m0 x1 hb y189 ffa fs6 fc0 sc0 ls0 ws0">A<span class="_ _3"></span>dvantages:</div><div class="t m0 xb hb y18a ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Directly<span class="_ _c"> </span>mapp<span class="_ _b"></span>ed<span class="_ _f"> </span>to<span class="_ _c"> </span>hardw<span class="_ _3"></span>a<span class="_ _3"></span>re<span class="_ _f"> </span>functionalities<span class="_ _c"> </span>if<span class="_ _f"> </span>available</span></div><div class="t m0 xb hb y18b ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Inline<span class="_ _c"> </span>expansion</span></div><div class="t m0 xb hb y18c ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Do<span class="_ _c"> </span>not<span class="_ _c"> </span>inhibit<span class="_ _c"> </span>high-level<span class="_ _f"> </span>optimizations<span class="_ _c"> </span>and<span class="_ _c"> </span>they<span class="_ _c"> </span>are<span class="_ _c"> </span>portable<span class="_ _c"> </span>contra<span class="_ _3"></span>ry<span class="_ _c"> </span>to<span class="_ _c"> </span><span class="ff7">asm<span class="_ _f"> </span></span>co<span class="_ _b"></span>de</span></div><div class="t m0 x1 hb y18d ffa fs6 fc0 sc0 ls0 ws0">Dra<span class="_ _3"></span>wbacks:</div><div class="t m0 xb hb y18e ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">P<span class="_ _3"></span>ortabilit<span class="_ _3"></span>y<span class="_ _c"> </span>is<span class="_ _f"> </span>limited<span class="_ _c"> </span>to<span class="_ _f"> </span>a<span class="_ _c"> </span>sp<span class="_ _b"></span>ecific<span class="_ _f"> </span>compiler</span></div><div class="t m0 xb hb y18f ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Some<span class="_ _c"> </span>intrinsics<span class="_ _f"> </span>do<span class="_ _c"> </span>not<span class="_ _f"> </span>w<span class="_ _3"></span>ork<span class="_ _c"> </span>on<span class="_ _c"> </span>all<span class="_ _c"> </span>platforms</span></div><div class="t m0 xb hb y190 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">The<span class="_ _c"> </span>same<span class="_ _f"> </span>instricics<span class="_ _c"> </span>can<span class="_ _f"> </span>b<span class="_ _b"></span>e<span class="_ _c"> </span>mapp<span class="_ _b"></span>ed<span class="_ _f"> </span>to<span class="_ _c"> </span>a<span class="_ _f"> </span>non-optimal<span class="_ _c"> </span>instruction<span class="_ _f"> </span>sequence</span></div><div class="t m0 x6 hb y191 ff4 fs6 fc0 sc0 ls0 ws0">dep<span class="_ _b"></span>ending<span class="_ _c"> </span>on<span class="_ _f"> </span>the<span class="_ _c"> </span>compiler</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">38/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf2b" class="pf w0 h0" data-page-no="2b"><div class="pc pc2b w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Compiler<span class="_ _17"> </span>Intrinsic<span class="_ _17"> </span>Functions<span class="_ _47"> </span>2/5</div><div class="t m0 x1 hb y77 ff4 fs6 fc0 sc0 ls0 ws0">Most<span class="_ _c"> </span>compilers<span class="_ _c"> </span>provide<span class="_ _c"> </span>intrinsics<span class="_ _c"> </span><span class="ff1">bit-manipulation<span class="_ _8"> </span>functions<span class="_ _f"> </span></span>for<span class="_ _c"> </span><span class="ff7">SSE4.2<span class="_ _c"> </span></span>or<span class="_ _c"> </span><span class="ff7">ABM</span></div><div class="t m0 x1 hb y10c ff4 fs6 fc0 sc0 ls0 ws0">(A<span class="_ _3"></span>dvanced<span class="_ _f"> </span>Bit<span class="_ _c"> </span>Manipulation)<span class="_ _f"> </span>instruction<span class="_ _c"> </span>sets<span class="_ _f"> </span>fo<span class="_ _3"></span>r<span class="_ _f"> </span>Intel<span class="_ _c"> </span>and<span class="_ _f"> </span>AMD<span class="_ _c"> </span>processors</div><div class="t m0 x1 hb y192 ff4 fs6 fc0 sc0 ls0 ws0">GCC<span class="_ _c"> </span>examples:</div><div class="t m0 x31 h6 y193 ff5 fs4 fc0 sc0 ls0 ws0">builtin<span class="_ _f"> </span>popcount(x)<span class="_ _14"> </span><span class="ff4">count<span class="_ _d"> </span>the<span class="_ _c"> </span>numb<span class="_ _b"></span>er<span class="_ _d"> </span>of<span class="_ _c"> </span>one<span class="_ _d"> </span>bits</span></div><div class="t m0 xf h6 y194 ff5 fs4 fc0 sc0 ls0 ws0">builtin<span class="_ _f"> </span>clz(x)<span class="_ _14"> </span><span class="ff4">(<span class="ff7">count<span class="_ _e"> </span>leading<span class="_ _6"> </span>zeros</span>)<span class="_ _d"> </span>counts<span class="_ _c"> </span>the<span class="_ _d"> </span>numb<span class="_ _b"></span>er<span class="_ _c"> </span>of<span class="_ _d"> </span>zero<span class="_ _c"> </span>bits<span class="_ _d"> </span>following<span class="_ _d"> </span>the</span></div><div class="t m0 x32 h6 y195 ff4 fs4 fc0 sc0 ls0 ws0">most<span class="_ _d"> </span>significant<span class="_ _c"> </span>one<span class="_ _d"> </span>bit</div><div class="t m0 xf h6 y196 ff5 fs4 fc0 sc0 ls0 ws0">builtin<span class="_ _f"> </span>ctz(x)<span class="_ _14"> </span><span class="ff4">(<span class="ff7">count<span class="_ _e"> </span>trailing<span class="_ _6"> </span>zeros</span>)<span class="_ _d"> </span>counts<span class="_ _c"> </span>the<span class="_ _d"> </span>numb<span class="_ _b"></span>er<span class="_ _c"> </span>of<span class="_ _d"> </span>zero<span class="_ _c"> </span>bits<span class="_ _d"> </span>preceding</span></div><div class="t m0 x32 h6 y197 ff4 fs4 fc0 sc0 ls0 ws0">the<span class="_ _d"> </span>least<span class="_ _c"> </span>significant<span class="_ _d"> </span>one<span class="_ _c"> </span>bit</div><div class="t m0 xf h6 y198 ff5 fs4 fc0 sc0 ls0 ws0">builtin<span class="_ _f"> </span>ffs(x)<span class="_ _14"> </span><span class="ff4">(<span class="ff7">find<span class="_ _e"> </span>first<span class="_ _6"> </span>set</span>)<span class="_ _d"> </span>index<span class="_ _c"> </span>of<span class="_ _d"> </span>the<span class="_ _c"> </span>least<span class="_ _d"> </span>significant<span class="_ _c"> </span>one<span class="_ _d"> </span>bit</span></div><div class="t m0 x30 hd y199 ffc fs7 fcc sc0 ls0 ws0">gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">39/84</div><a class="l" href="https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html"><div class="d m1" style="border-style:none;position:absolute;left:52.083000px;bottom:1.311000px;width:218.531000px;height:13.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf2c" class="pf w0 h0" data-page-no="2c"><div class="pc pc2c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Compiler<span class="_ _17"> </span>Intrinsic<span class="_ _17"> </span>Functions<span class="_ _47"> </span>3/5</div><div class="t m0 xb hb y19a ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Compute<span class="_ _c"> </span><span class="ff7">integer<span class="_ _15"> </span>log2</span></span></div><div class="t m0 xc hd y19b ff5 fs7 fc9 sc0 ls0 ws0">inline<span class="_ _9"> </span><span class="fc6">unsigned<span class="_ _9"> </span><span class="ffc fc7">log2<span class="fc0">(</span></span>unsigned<span class="_ _e"> </span><span class="ffc fc0">x)<span class="_ _9"> </span>{</span></span></div><div class="t m0 x1a hd y19c ff5 fs7 fc9 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc8">31<span class="_ _9"> </span>-<span class="_ _e"> </span><span class="fc0">__builtin_clz(x);</span></span></div><div class="t m0 xc hd y19d ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xb hb y19e ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Check<span class="_ _c"> </span>if<span class="_ _f"> </span>a<span class="_ _c"> </span>numb<span class="_ _b"></span>er<span class="_ _f"> </span>is<span class="_ _c"> </span>a<span class="_ _f"> </span><span class="ff7">power<span class="_ _15"> </span>of<span class="_ _15"> </span>2</span></span></div><div class="t m0 xc hd y19f ff5 fs7 fc9 sc0 ls0 ws0">inline<span class="_ _9"> </span><span class="fc6">bool<span class="_ _9"> </span><span class="ffc fc7">is_power2<span class="fc0">(</span></span>unsigned<span class="_ _e"> </span><span class="ffc fc0">x)<span class="_ _9"> </span>{</span></span></div><div class="t m0 x1a hd y1a0 ff5 fs7 fc9 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">__builtin_popcount(x)<span class="_ _9"> </span><span class="fc8">==<span class="_ _e"> </span>1</span>;</span></div><div class="t m0 xc hd y1a1 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xb hb y1a2 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Bit<span class="_ _c"> </span>search<span class="_ _c"> </span>and<span class="_ _c"> </span>clear</span></div><div class="t m0 xc hd y1a3 ff5 fs7 fc9 sc0 ls0 ws0">inline<span class="_ _9"> </span><span class="fc6">int<span class="_ _9"> </span><span class="ffc fc7">bit_search_clear<span class="fc0">(</span></span>unsigned<span class="_ _e"> </span><span class="ffc fc0">x)<span class="_ _9"> </span>{</span></span></div><div class="t m0 x1a hd y1a4 ff5 fs7 fc6 sc0 ls0 ws0">int<span class="_ _9"> </span><span class="ffc fc0">pos<span class="_ _9"> </span><span class="fc8">=<span class="_ _e"> </span></span>__builtin_ffs(x);<span class="_ _9"> </span><span class="ffb fc5">//<span class="_ _9"> </span>range<span class="_ _e"> </span>[0,<span class="_ _9"> </span>31]</span></span></div><div class="t m0 x1a hd y1a5 ffc fs7 fc0 sc0 ls0 ws0">x<span class="_ _36"> </span><span class="fc8">&amp;=<span class="_ _9"> </span></span><span class="ff17"></span>(<span class="fc8">1u<span class="_ _9"> </span>&lt;&lt;<span class="_ _9"> </span></span>pos);</div><div class="t m0 x1a hd y1a6 ff5 fs7 fc9 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc fc0">pos;</span></div><div class="t m0 xc hd y1a7 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">40/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf2d" class="pf w0 h0" data-page-no="2d"><div class="pc pc2d w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Compiler<span class="_ _17"> </span>Intrinsic<span class="_ _17"> </span>Functions<span class="_ _47"> </span>4/5</div><div class="t m0 x1 hb y187 ff1 fs6 fc0 sc0 ls0 ws0">Example<span class="_ _f"> </span>of<span class="_ _8"> </span>intrinsic<span class="_ _8"> </span>p<span class="_ _b"></span>ortabilit<span class="_ _3"></span>y<span class="_ _f"> </span>issue:</div><div class="t m0 x29 hb y1a8 ff5 fs6 fc0 sc0 ls0 ws0">builtin<span class="_ _8"> </span>popcount()<span class="_ _10"> </span><span class="ff4">GCC<span class="_ _c"> </span>produces<span class="_ _39"> </span><span class="ff7">popcountdi2<span class="_ _10"> </span></span>instruction<span class="_ _c"> </span>while<span class="_ _f"> </span>Intel</span></div><div class="t m0 x1 hb y189 ff4 fs6 fc0 sc0 ls0 ws0">Compiler<span class="_ _c"> </span>(ICC)<span class="_ _c"> </span>produces<span class="_ _f"> </span>13<span class="_ _c"> </span>instructions</div><div class="t m0 x30 hb y1a9 ff5 fs6 fc0 sc0 ls0 ws0">mm<span class="_ _8"> </span>popcnt<span class="_ _8"> </span>u32<span class="_ _10"> </span><span class="ff4">GCC<span class="_ _c"> </span>and<span class="_ _f"> </span>ICC<span class="_ _c"> </span>produce<span class="_ _10"> </span><span class="ff7">popcnt<span class="_ _10"> </span></span>instruction,<span class="_ _f"> </span>but<span class="_ _c"> </span>it<span class="_ _f"> </span>is<span class="_ _c"> </span>available<span class="_ _f"> </span>only</span></div><div class="t m0 x1 hb y1aa ff4 fs6 fc0 sc0 ls0 ws0">fo<span class="_ _3"></span>r<span class="_ _f"> </span>p<span class="_ _3"></span>ro<span class="_ _b"></span>cessor<span class="_ _c"> </span>with<span class="_ _c"> </span>supp<span class="_ _b"></span>ort<span class="_ _c"> </span>fo<span class="_ _3"></span>r<span class="_ _f"> </span><span class="ff7">SSE4.2<span class="_ _f"> </span></span>instruction<span class="_ _c"> </span>set</div><div class="t m0 x1 hb y1ab ff1 fs6 fc0 sc0 ls0 ws0">Mo<span class="_ _3"></span>re<span class="_ _8"> </span>advanced<span class="_ _8"> </span>usage</div><div class="t m0 xb hb y1ac ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Compute<span class="_ _c"> </span>CRC:<span class="_ _48"> </span><span class="ff7">mm<span class="_ _8"> </span>crc32<span class="_ _8"> </span>u32</span></span></div><div class="t m0 xb hb y1ad ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">AES<span class="_ _c"> </span>cryptography:<span class="_ _44"> </span><span class="ff7">mm256<span class="_ _8"> </span>aesenclast<span class="_ _8"> </span>epi128</span></span></div><div class="t m0 xb hb y1ae ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Hash<span class="_ _c"> </span>function:<span class="_ _44"> </span><span class="ff7">mm<span class="_ _8"> </span>sha256msg1<span class="_ _8"> </span>epu32</span></span></div><div class="t m0 x30 hd y1af ffc fs7 fcc sc0 ls0 ws0">software.intel.com/sites/landingpage/IntrinsicsGuide/</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">41/84</div><a class="l" href="https://software.intel.com/sites/landingpage/IntrinsicsGuide/"><div class="d m1" style="border-style:none;position:absolute;left:52.083000px;bottom:1.498500px;width:251.482000px;height:13.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf2e" class="pf w0 h0" data-page-no="2e"><div class="pc pc2e w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Compiler<span class="_ _17"> </span>Intrinsic<span class="_ _17"> </span>Functions<span class="_ _47"> </span>5/5</div><div class="t m0 x1 hb y1b0 ffa fs6 fc0 sc0 ls0 ws0">Using<span class="_ _c"> </span>intrinsic<span class="_ _c"> </span>instructions<span class="_ _f"> </span>is<span class="_ _c"> </span>extremely<span class="_ _f"> </span>dangerous<span class="_ _c"> </span>if<span class="_ _f"> </span>the<span class="_ _c"> </span>target<span class="_ _c"> </span>p<span class="_ _3"></span>ro<span class="_ _b"></span>cessor<span class="_ _c"> </span>do<span class="_ _b"></span>es<span class="_ _c"> </span>not</div><div class="t m0 x1 hb y1b1 ffa fs6 fc0 sc0 ls0 ws0">natively<span class="_ _c"> </span>supp<span class="_ _b"></span>ort<span class="_ _c"> </span>such<span class="_ _c"> </span>instructions</div><div class="t m0 x1 hb y1b2 ff4 fs6 fc0 sc0 ls0 ws0">Example:</div><div class="t m0 xd hb y1b3 ffa fs6 fc0 sc0 ls0 ws0">“If<span class="_ _8"> </span>you<span class="_ _8"> </span>run<span class="_ _8"> </span>co<span class="_ _b"></span>de<span class="_ _17"> </span>that<span class="_ _8"> </span>uses<span class="_ _17"> </span>the<span class="_ _17"> </span>intrinsic<span class="_ _8"> </span>on<span class="_ _17"> </span>ha<span class="_ _3"></span>rdwa<span class="_ _3"></span>re<span class="_ _8"> </span>that<span class="_ _17"> </span>do<span class="_ _b"></span>esnt<span class="_ _17"> </span>supp<span class="_ _b"></span>ort<span class="_ _f"> </span>the<span class="_ _3a"> </span><span class="ffb">lzcnt</span></div><div class="t m0 xd hb y1b4 ffa fs6 fc0 sc0 ls0 ws0">instruction,<span class="_ _c"> </span>the<span class="_ _c"> </span>results<span class="_ _f"> </span>are<span class="_ _c"> </span>unp<span class="_ _3"></span>redictable”<span class="_ _c"> </span>-<span class="_ _f"> </span>MSVC</div><div class="t m0 x1 hb y1b5 ff4 fs6 fc0 sc0 ls0 ws0">on<span class="_ _c"> </span>the<span class="_ _c"> </span>contrary<span class="_ _7"></span>,<span class="_ _c"> </span>GNU<span class="_ _c"> </span>and<span class="_ _f"> </span>clang<span class="_ _39"> </span><span class="ff7">builtin<span class="_ _8"> </span>*<span class="_ _10"> </span></span>instructions<span class="_ _c"> </span>are<span class="_ _c"> </span>alw<span class="_ _3"></span>ays<span class="_ _c"> </span>w<span class="_ _3"></span>ell-defined.</div><div class="t m0 x1 hb y1b6 ff4 fs6 fc0 sc0 ls0 ws0">The<span class="_ _c"> </span>instruction<span class="_ _c"> </span>is<span class="_ _f"> </span>translated<span class="_ _c"> </span>to<span class="_ _f"> </span>a<span class="_ _c"> </span>non-optimal<span class="_ _f"> </span>op<span class="_ _b"></span>eration<span class="_ _c"> </span>sequence<span class="_ _f"> </span>in<span class="_ _c"> </span>the<span class="_ _f"> </span>wo<span class="_ _3"></span>rst<span class="_ _c"> </span>case</div><div class="t m0 x1 hb y1b7 ff4 fs6 fc0 sc0 ls0 ws0">The<span class="_ _c"> </span>instruction<span class="_ _c"> </span>set<span class="_ _f"> </span>supp<span class="_ _b"></span>ort<span class="_ _c"> </span>should<span class="_ _c"> </span>b<span class="_ _b"></span>e<span class="_ _c"> </span>checked<span class="_ _c"> </span>at<span class="_ _c"> </span><span class="ffa">run-time<span class="_ _17"> </span></span>(e.g.<span class="_ _e"> </span>with<span class="_ _39"> </span><span class="ff7">cpuid</span></div><div class="t m0 x1 hb y1b8 ff4 fs6 fc0 sc0 ls0 ws0">function<span class="_ _c"> </span>on<span class="_ _c"> </span>MSVC),<span class="_ _c"> </span>or,<span class="_ _c"> </span>when<span class="_ _c"> </span>available,<span class="_ _c"> </span>by<span class="_ _c"> </span>using<span class="_ _c"> </span>compiler-time<span class="_ _c"> </span>macro<span class="_ _f"> </span>(e.g.<span class="_ _49"> </span><span class="ff7">AVX<span class="_ _4a"> </span></span>)</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">42/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf2f" class="pf w0 h0" data-page-no="2f"><div class="pc pc2f w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">A<span class="_ _3"></span>utomatic<span class="_ _17"> </span>Compiler<span class="_ _17"> </span>Function<span class="_ _8"> </span>T<span class="_ _7"></span>ransfo<span class="_ _3"></span>rmation</div><div class="t m0 xd hb y187 ff7 fs6 fc0 sc0 ls0 ws0">std::abs<span class="_ _10"> </span><span class="ff4">can<span class="_ _c"> </span>b<span class="_ _b"></span>e<span class="_ _c"> </span>recognized<span class="_ _f"> </span>by<span class="_ _c"> </span>the<span class="_ _c"> </span>compiler<span class="_ _c"> </span>and<span class="_ _f"> </span>transfo<span class="_ _3"></span>rmed<span class="_ _f"> </span>to<span class="_ _c"> </span>a<span class="_ _f"> </span>hardw<span class="_ _3"></span>a<span class="_ _3"></span>re</span></div><div class="t m0 x1 hb y188 ff4 fs6 fc0 sc0 ls0 ws0">instruction</div><div class="t m0 x1 hb y189 ff4 fs6 fc0 sc0 ls0 ws0">In<span class="_ _c"> </span>a<span class="_ _c"> </span>similar<span class="_ _c"> </span>w<span class="_ _3"></span>ay<span class="_ _7"></span>,<span class="_ _c"> </span><span class="fcd">C++20<span class="_ _c"> </span></span>p<span class="_ _3"></span>rovides<span class="_ _f"> </span>a<span class="_ _c"> </span>p<span class="_ _b"></span>ortable<span class="_ _c"> </span>and<span class="_ _c"> </span>efficient<span class="_ _c"> </span>wa<span class="_ _3"></span>y<span class="_ _c"> </span>to<span class="_ _c"> </span>express<span class="_ _c"> </span>bit<span class="_ _c"> </span>op<span class="_ _b"></span>erations</div><div class="t m0 xd h11 y1b9 ff19 fs6 fc0 sc0 ls0 ws0">&lt;<span class="ff7">bit</span>&gt;</div><div class="t m0 x33 hb y18b ff7 fs6 fc0 sc0 ls0 ws0">rotate<span class="_ _15"> </span>left<span class="_ _6"> </span><span class="ff4">:<span class="_ _4"> </span></span>std::rotl</div><div class="t m0 x34 hb y18c ff7 fs6 fc0 sc0 ls0 ws0">rotate<span class="_ _15"> </span>right<span class="_ _6"> </span><span class="ff4">:<span class="_ _4"> </span></span>std::rotr</div><div class="t m0 x35 hb y111 ff7 fs6 fc0 sc0 ls0 ws0">count<span class="_ _15"> </span>leading<span class="_ _15"> </span>zero<span class="_ _6"> </span><span class="ff4">:<span class="_ _4"> </span></span>std::countl<span class="_ _8"> </span>zero</div><div class="t m0 x9 hb y112 ff7 fs6 fc0 sc0 ls0 ws0">count<span class="_ _15"> </span>leading<span class="_ _15"> </span>one<span class="_ _6"> </span><span class="ff4">:<span class="_ _4"> </span></span>std::countl<span class="_ _8"> </span>one</div><div class="t m0 x2e hb y113 ff7 fs6 fc0 sc0 ls0 ws0">count<span class="_ _15"> </span>trailing<span class="_ _15"> </span>zero<span class="_ _6"> </span><span class="ff4">:<span class="_ _4"> </span></span>std::countr<span class="_ _8"> </span>zero</div><div class="t m0 x35 hb y1ba ff7 fs6 fc0 sc0 ls0 ws0">count<span class="_ _15"> </span>trailing<span class="_ _15"> </span>one<span class="_ _6"> </span><span class="ff4">:<span class="_ _4"> </span></span>std::countr<span class="_ _8"> </span>one</div><div class="t m0 x12 hb y1bb ff7 fs6 fc0 sc0 ls0 ws0">population<span class="_ _15"> </span>count<span class="_ _6"> </span><span class="ff4">:<span class="_ _4"> </span></span>std::popcount</div><div class="t m0 x30 hd y1bc ffc fs7 fcc sc0 ls0 ws0">Why<span class="_ _9"> </span>is<span class="_ _9"> </span>the<span class="_ _e"> </span>standard<span class="_ _9"> </span>&quot;abs&quot;<span class="_ _9"> </span>function<span class="_ _e"> </span>faster<span class="_ _9"> </span>than<span class="_ _9"> </span>mine?</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">43/84</div><a class="l" href="https://stackoverflow.com/questions/66023408/why-is-the-standard-abs-function-faster-than-mine"><div class="d m1" style="border-style:none;position:absolute;left:52.083000px;bottom:1.006500px;width:246.775000px;height:13.444000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf30" class="pf w0 h0" data-page-no="30"><div class="pc pc30 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIdklEQVR42u3YsQlCMRSG0UResHo4g1g5gYi14GYu4TgWDuEGVo9UpomdA4jFfXrOBOFP83HzZndIAAAQxv12XVgBAIBoRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAAG+5tWYFAADiKKW4pAIAEI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAA/2mY0VtrrT4MAOAz4zjO6LUuqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQTAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAvyy31qwAAEAcpRSXVAAAwhGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAABfNEzntRUAIngcL0YASClt96ecV8s+PVPqvRsEAIAQXoRSGgK2jxIOAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">V<span class="_ _3"></span>alue<span class="_ _17"> </span>in<span class="_ _17"> </span>a<span class="_ _9"> </span>Range</div><div class="t m0 x1 hb y77 ff1 fs6 fc0 sc0 ls0 ws0">Checking<span class="_ _f"> </span>if<span class="_ _8"> </span>a<span class="_ _8"> </span>non-negative<span class="_ _8"> </span>value<span class="_ _8"> </span><span class="ff1a">x<span class="_ _e"> </span></span>is<span class="_ _f"> </span>within<span class="_ _8"> </span>a<span class="_ _8"> </span>range<span class="_ _f"> </span><span class="ff1a">[A,<span class="_ _8"> </span>B]<span class="_ _e"> </span></span>can<span class="_ _8"> </span>b<span class="_ _b"></span>e<span class="_ _8"> </span>optimized<span class="_ _8"> </span>if</div><div class="t m0 x1 hb y10c ff1a fs6 fc0 sc0 ls0 ws0">B<span class="_ _17"> </span><span class="ff19">&gt;<span class="_ _8"> </span></span>A<span class="_ _f"> </span><span class="ff4">(useful<span class="_ _c"> </span>when<span class="_ _f"> </span>the<span class="_ _c"> </span>condition<span class="_ _f"> </span>is<span class="_ _c"> </span>rep<span class="_ _b"></span>eated<span class="_ _f"> </span>multiple<span class="_ _c"> </span>times)</span></div><div class="t m0 xd hc y1bd ff5 fs4 fc9 sc0 ls0 ws0">if<span class="_ _e"> </span><span class="ff7 fc0">(x<span class="_ _6"> </span><span class="fc8">&gt;=<span class="_ _6"> </span></span>A<span class="_ _e"> </span><span class="fc8">&amp;&amp;<span class="_ _6"> </span></span>x<span class="_ _e"> </span><span class="fc8">&lt;=<span class="_ _6"> </span></span>B)</span></div><div class="t m0 xd hc y1be ffb fs4 fc5 sc0 ls0 ws0">//<span class="_ _e"> </span><span class="ff15">STEP<span class="_ _6"> </span>1</span>:<span class="_ _6"> </span>subtract<span class="_ _e"> </span><span class="ff15">A</span></div><div class="t m0 xd hc y1bf ff5 fs4 fc9 sc0 ls0 ws0">if<span class="_ _e"> </span><span class="ff7 fc0">(x<span class="_ _6"> </span><span class="fc8">-<span class="_ _6"> </span></span>A<span class="_ _e"> </span><span class="fc8">&gt;=<span class="_ _6"> </span></span>A<span class="_ _e"> </span><span class="fc8">-<span class="_ _6"> </span></span>A<span class="_ _e"> </span><span class="fc8">&amp;&amp;<span class="_ _6"> </span></span>x<span class="_ _e"> </span><span class="fc8">-<span class="_ _6"> </span></span>A<span class="_ _e"> </span><span class="fc8">&lt;=<span class="_ _6"> </span></span>B<span class="_ _e"> </span><span class="fc8">-<span class="_ _6"> </span></span>A)</span></div><div class="t m0 xd hc y1c0 ffb fs4 fc5 sc0 ls0 ws0">//<span class="_ _e"> </span>--&gt;</div><div class="t m0 xd hc y1c1 ff5 fs4 fc9 sc0 ls0 ws0">if<span class="_ _e"> </span><span class="ff7 fc0">(x<span class="_ _6"> </span><span class="fc8">-<span class="_ _6"> </span></span>A<span class="_ _e"> </span><span class="fc8">&gt;=<span class="_ _6"> </span>0<span class="_ _e"> </span>&amp;&amp;<span class="_ _6"> </span></span>x<span class="_ _e"> </span><span class="fc8">-<span class="_ _6"> </span></span>A<span class="_ _e"> </span><span class="fc8">&lt;=<span class="_ _6"> </span></span>B<span class="_ _e"> </span><span class="fc8">-<span class="_ _6"> </span></span>A)<span class="_ _e"> </span><span class="ffb fc5">//<span class="_ _6"> </span>B<span class="_ _6"> </span>-<span class="_ _e"> </span>A<span class="_ _6"> </span>is<span class="_ _e"> </span>precomputed</span></span></div><div class="t m0 xd hc y1c2 ffb fs4 fc5 sc0 ls0 ws0">//<span class="_ _e"> </span><span class="ff15">STEP<span class="_ _6"> </span>2</span></div><div class="t m0 xd hc y1c3 ffb fs4 fc5 sc0 ls0 ws0">//<span class="_ _4b"> </span>-<span class="_ _e"> </span>convert<span class="_ _6"> </span>&quot;x<span class="_ _6"> </span>-<span class="_ _e"> </span>A<span class="_ _6"> </span>&gt;=<span class="_ _e"> </span>0&quot;<span class="_ _6"> </span>--&gt;<span class="_ _e"> </span>(unsigned)<span class="_ _6"> </span>(x<span class="_ _e"> </span>-<span class="_ _6"> </span>A)</div><div class="t m0 xd hc y1c4 ffb fs4 fc5 sc0 ls0 ws0">//<span class="_ _4b"> </span>-<span class="_ _e"> </span>&quot;B<span class="_ _6"> </span>-<span class="_ _6"> </span>A&quot;<span class="_ _e"> </span>is<span class="_ _6"> </span>always<span class="_ _e"> </span>positive</div><div class="t m0 xd hc y1c5 ff5 fs4 fc9 sc0 ls0 ws0">if<span class="_ _e"> </span><span class="ff7 fc0">((</span><span class="fc6">unsigned<span class="ff7 fc0">)<span class="_ _6"> </span>(x<span class="_ _6"> </span><span class="fc8">-<span class="_ _e"> </span></span>A)<span class="_ _6"> </span><span class="fc8">&lt;=<span class="_ _e"> </span></span>(</span>unsigned<span class="ff7 fc0">)<span class="_ _6"> </span>(B<span class="_ _e"> </span><span class="fc8">-<span class="_ _6"> </span></span>A))</span></span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">44/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf31" class="pf w0 h0" data-page-no="31"><div class="pc pc31 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">V<span class="_ _3"></span>alue<span class="_ _17"> </span>in<span class="_ _17"> </span>a<span class="_ _9"> </span>Range<span class="_ _17"> </span>Examples</div><div class="t m0 x1 hb y1c6 ff4 fs6 fc0 sc0 ls0 ws0">Check<span class="_ _c"> </span>if<span class="_ _c"> </span>a<span class="_ _f"> </span>value<span class="_ _c"> </span>is<span class="_ _f"> </span>an<span class="_ _c"> </span>upp<span class="_ _0"></span>ercase<span class="_ _c"> </span>letter:</div><div class="t m0 xd hd y1c7 ff5 fs7 fc6 sc0 ls0 ws0">uint8_t<span class="_ _9"> </span><span class="ffc fc0">x<span class="_ _9"> </span><span class="fc8">=<span class="_ _e"> </span></span>...</span></div><div class="t m0 xd hd y1c8 ff5 fs7 fc9 sc0 ls0 ws0">if<span class="_ _9"> </span><span class="ffc fc0">(x<span class="_ _9"> </span><span class="fc8">&gt;=<span class="_ _e"> </span><span class="ffe fca">&apos;<span class="ffc">A</span>&apos;<span class="_ _9"> </span></span>&amp;&amp;<span class="_ _9"> </span></span>x<span class="_ _e"> </span><span class="fc8">&lt;=<span class="_ _9"> </span><span class="ffe fca">&apos;<span class="ffc">Z</span>&apos;</span></span>)</span></div><div class="t m0 x6 hd y1c9 ffc fs7 fc0 sc0 ls0 ws0">...</div><div class="t m0 x36 h14 y1ca ff10 fs6 fc0 sc0 ls0 ws0">→</div><div class="t m0 x37 hd y1c7 ff5 fs7 fc6 sc0 ls0 ws0">uint8_t<span class="_ _9"> </span><span class="ffc fc0">x<span class="_ _9"> </span><span class="fc8">=<span class="_ _e"> </span></span>...</span></div><div class="t m0 x37 hd y1c8 ff5 fs7 fc9 sc0 ls0 ws0">if<span class="_ _9"> </span><span class="ffc fc0">(x<span class="_ _9"> </span><span class="fc8">-<span class="_ _e"> </span><span class="ffe fca">&apos;<span class="ffc">A</span>&apos;<span class="_ _9"> </span></span>&lt;=<span class="_ _9"> </span><span class="ffe fca">&apos;<span class="ffc">Z</span>&apos;</span></span>)</span></div><div class="t m0 x38 hd y1c9 ffc fs7 fc0 sc0 ls0 ws0">...</div><div class="t m0 x1 hb y1cb ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _c"> </span>more<span class="_ _c"> </span>general<span class="_ _c"> </span>case:</div><div class="t m0 xd hd y1cc ff5 fs7 fc6 sc0 ls0 ws0">int<span class="_ _9"> </span><span class="ffc fc0">x<span class="_ _9"> </span><span class="fc8">=<span class="_ _e"> </span></span>...</span></div><div class="t m0 xd hd y1cd ff5 fs7 fc9 sc0 ls0 ws0">if<span class="_ _9"> </span><span class="ffc fc0">(x<span class="_ _9"> </span><span class="fc8">&gt;=<span class="_ _e"> </span>-10<span class="_ _9"> </span>&amp;&amp;<span class="_ _9"> </span></span>x<span class="_ _e"> </span><span class="fc8">&lt;=<span class="_ _9"> </span>30</span>)</span></div><div class="t m0 x6 hd y1ce ffc fs7 fc0 sc0 ls0 ws0">...</div><div class="t m0 x36 h14 y1cf ff10 fs6 fc0 sc0 ls0 ws0">→</div><div class="t m0 x37 hd y1cc ff5 fs7 fc6 sc0 ls0 ws0">int<span class="_ _9"> </span><span class="ffc fc0">x<span class="_ _9"> </span><span class="fc8">=<span class="_ _e"> </span></span>...</span></div><div class="t m0 x37 hd y1cd ff5 fs7 fc9 sc0 ls0 ws0">if<span class="_ _9"> </span><span class="ffc fc0">((</span><span class="fc6">unsigned<span class="ffc fc0">)<span class="_ _9"> </span>(x<span class="_ _e"> </span><span class="fc8">+<span class="_ _9"> </span>10</span>)<span class="_ _9"> </span><span class="fc8">&lt;=<span class="_ _e"> </span>40</span>)</span></span></div><div class="t m0 x38 hd y1ce ffc fs7 fc0 sc0 ls0 ws0">...</div><div class="t m0 x30 h10 y1d0 fff fs7 fcc sc0 ls0 ws0">The<span class="_ _d"> </span>compiler<span class="_ _25"> </span>applies<span class="_ _d"> </span>this<span class="_ _d"> </span>optimization<span class="_ _d"> </span>only<span class="_ _d"> </span>in<span class="_ _d"> </span>some<span class="_ _d"> </span>cases</div><div class="t m0 xb h10 y1d1 fff fs7 fcc sc0 ls0 ws0">(tested<span class="_ _d"> </span>with<span class="_ _25"> </span>GCC/Clang<span class="_ _d"> </span>9<span class="_ _d"> </span><span class="ffc">-O3</span>)</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">45/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf32" class="pf w0 h0" data-page-no="32"><div class="pc pc32 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIsUlEQVR42u3ZsU0DQRCG0Vt0I6ITNSAiV4AQIiBAcgsE1EMTdEBACQhBQAckdODIugAzyZFRgDEwZ71Xwerf5NNuOzk97wAAoIz315cDKwAAUI1IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQDgW8tMKwAAUEdEeEkFAKAckQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAgP/Sm4DKFheXRvhVb8+PRgCgoJaZVgAAoI6I8N0PAEA5IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQDgD/UzOus4ji4MAGA7wzDM6LReUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkmAABApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQDgp1pmWgEAgDoiwksqAADliFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBgp/q5HPRjs1le37gwmJenh3sjALCFlplWAACgjojw3Q8AQDkiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAANipfn17bAWA/bC6ujMCsAcWZ8vWjg6n9WfXTdNkEAAASvgCAyso/pNnyVEAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Lo<span class="_ _b"></span>okup<span class="_ _17"> </span>T<span class="_ _7"></span>able</div><div class="t m0 x1 hb y77 ff1 fs6 fc0 sc0 ls0 ws0">Lo<span class="_ _b"></span>okup<span class="_ _8"> </span>table<span class="_ _f"> </span>(LUT)<span class="_ _f"> </span><span class="ff4">is<span class="_ _c"> </span>a<span class="_ _f"> </span><span class="ffa">memoization<span class="_ _f"> </span></span>technique<span class="_ _f"> </span>which<span class="_ _c"> </span>allows<span class="_ _c"> </span>replacing<span class="_ _c"> </span><span class="ffa">runtime</span></span></div><div class="t m0 x1 hb y10c ff4 fs6 fc0 sc0 ls0 ws0">computation<span class="_ _c"> </span>with<span class="_ _c"> </span>precomputed<span class="_ _c"> </span>values</div><div class="t m0 x1 h6 y1d2 ff4 fs4 fc0 sc0 ls0 ws0">Example:<span class="_ _17"> </span>a<span class="_ _c"> </span>function<span class="_ _d"> </span>that<span class="_ _c"> </span>computes<span class="_ _d"> </span>the<span class="_ _c"> </span>loga<span class="_ _3"></span>rithm<span class="_ _c"> </span>base<span class="_ _d"> </span>10<span class="_ _c"> </span>of<span class="_ _d"> </span>a<span class="_ _c"> </span>number<span class="_ _c"> </span>in<span class="_ _d"> </span>the<span class="_ _c"> </span>range<span class="_ _d"> </span>[1-100]</div><div class="t m0 xd hf y1d3 ff5 fs5 fc9 sc0 ls0 ws0">template<span class="ffd fc8">&lt;</span><span class="fc6">int<span class="_ _8"> </span><span class="ffd fc0">SIZE,<span class="_ _17"> </span></span></span>typename<span class="_ _17"> </span><span class="fc7">Lambda<span class="ffd fc8">&gt;</span></span></div><div class="t m0 xd hf y1d4 ff5 fs5 fc9 sc0 ls0 ws0">constexpr<span class="_ _8"> </span><span class="ffd fc0">std<span class="fc8">::</span>array<span class="fc8">&lt;</span></span><span class="fc6">float<span class="ffd fc0">,<span class="_ _17"> </span>SIZE<span class="fc8">&gt;<span class="_ _17"> </span></span>build(Lambda<span class="_ _8"> </span>lambda)<span class="_ _17"> </span>{</span></span></div><div class="t m0 xf hf y1d5 ffd fs5 fc0 sc0 ls0 ws0">std<span class="fc8">::</span>array<span class="fc8">&lt;<span class="ff5 fc6">float</span></span>,<span class="_ _8"> </span>SIZE<span class="fc8">&gt;<span class="_ _17"> </span></span>array{};</div><div class="t m0 xf hf y1d6 ff5 fs5 fc9 sc0 ls0 ws0">for<span class="_ _8"> </span><span class="ffd fc0">(</span><span class="fc6">int<span class="_ _17"> </span><span class="ffd fc0">i<span class="_ _17"> </span><span class="fc8">=<span class="_ _8"> </span>0</span>;<span class="_ _17"> </span>i<span class="_ _17"> </span><span class="fc8">&lt;<span class="_ _8"> </span></span>SIZE;<span class="_ _17"> </span>i<span class="fc8">++</span>)</span></span></div><div class="t m0 x15 hf y1d7 ffd fs5 fc0 sc0 ls0 ws0">array[i]<span class="_ _8"> </span><span class="fc8">=<span class="_ _17"> </span></span>lambda(i);</div><div class="t m0 xf hf y1d8 ff5 fs5 fc9 sc0 ls0 ws0">return<span class="_ _8"> </span><span class="ffd fc0">array;</span></div><div class="t m0 xd hf y1d9 ffd fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 xd hf y1da ff5 fs5 fc6 sc0 ls0 ws0">float<span class="_ _8"> </span><span class="ffd fc0">log10(</span>int<span class="_ _17"> </span><span class="ffd fc0">value)<span class="_ _17"> </span>{</span></div><div class="t m0 xf hf y1db ff5 fs5 fc9 sc0 ls0 ws0">constexpr<span class="_ _8"> </span>auto<span class="_ _17"> </span><span class="ffd fc0">lamba<span class="_ _17"> </span><span class="fc8">=<span class="_ _8"> </span></span>[](</span><span class="fc6">int<span class="_ _17"> </span><span class="ffd fc0">i)<span class="_ _17"> </span>{<span class="_ _8"> </span></span></span>return<span class="_ _17"> </span><span class="ffd fc0">std<span class="fc8">::</span>log10f((</span><span class="fc6">float<span class="ffd fc0">)<span class="_ _17"> </span>i);<span class="_ _8"> </span>};</span></span></div><div class="t m0 xf hf y1dc ff5 fs5 fc9 sc0 ls0 ws0">static<span class="_ _8"> </span>constexpr<span class="_ _17"> </span>auto<span class="_ _17"> </span><span class="ffd fc0">table<span class="_ _8"> </span><span class="fc8">=<span class="_ _17"> </span></span>build<span class="fc8">&lt;100&gt;</span>(lambda);</span></div><div class="t m0 xf hf y1dd ff5 fs5 fc9 sc0 ls0 ws0">return<span class="_ _8"> </span><span class="ffd fc0">table[value];</span></div><div class="t m0 xd hf y1de ffd fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 x30 hd y1df ffc fs7 fcc sc0 ls0 ws0">Make<span class="_ _9"> </span>your<span class="_ _9"> </span>lookup<span class="_ _e"> </span>table<span class="_ _9"> </span>do<span class="_ _9"> </span>more</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">46/84</div><a class="l" href="https://commaok.xyz/post/lookup_tables/"><div class="d m1" style="border-style:none;position:absolute;left:52.083000px;bottom:2.113500px;width:143.213000px;height:13.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf33" class="pf w0 h0" data-page-no="33"><div class="pc pc33 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Lo<span class="_ _3"></span>w-Level<span class="_ _17"> </span>Optimizations</div><div class="t m0 x1 hb y1e0 ff1 fs6 fc0 sc0 ls0 ws0">Collection<span class="_ _f"> </span>of<span class="_ _8"> </span>low-level<span class="_ _f"> </span>implementations/optimization<span class="_ _8"> </span>of<span class="_ _8"> </span>common<span class="_ _f"> </span>op<span class="_ _0"></span>erations:</div><div class="t m0 xb hb y1e1 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff1">Bit<span class="_ _8"> </span>T<span class="_ _7"></span>widdling<span class="_ _f"> </span>Hacks</span></div><div class="t m0 x6 h11 y1e2 ff7 fs6 fc0 sc0 ls0 ws0">graphics.stanford.edu/<span class="ff10"></span>seander/bithacks.html</div><div class="t m0 xb hb y1e3 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff1">The<span class="_ _8"> </span>Aggregate<span class="_ _f"> </span>Magic<span class="_ _8"> </span>Algorithms</span></div><div class="t m0 x6 h11 y1e4 ff7 fs6 fc0 sc0 ls0 ws0">aggregate.org/MAGIC</div><div class="t m0 xb hb y1e5 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff1">Hack<span class="_ _3"></span>ers<span class="_ _8"> </span>Delight<span class="_ _8"> </span>Bo<span class="_ _b"></span>ok</span></div><div class="t m0 x6 h11 y1e6 ff7 fs6 fc0 sc0 ls0 ws0">www.hackersdelight.org</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">47/84</div><a class="l" href="https://graphics.stanford.edu/~seander/bithacks.html"><div class="d m1" style="border-style:none;position:absolute;left:73.752000px;bottom:212.494500px;width:256.750000px;height:11.993000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="http://aggregate.org/MAGIC/"><div class="d m1" style="border-style:none;position:absolute;left:73.752000px;bottom:147.817500px;width:110.811000px;height:11.992000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="http://www.hackersdelight.org/"><div class="d m1" style="border-style:none;position:absolute;left:73.752000px;bottom:83.140500px;width:127.993000px;height:10.952000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf34" class="pf w0 h0" data-page-no="34"><div class="pc pc34 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Lo<span class="_ _3"></span>w-Level<span class="_ _17"> </span>Information</div><div class="t m0 x1 hb y1e7 ff1 fs6 fc0 sc0 ls0 ws0">The<span class="_ _f"> </span>same<span class="_ _8"> </span>instruction/op<span class="_ _b"></span>eration<span class="_ _8"> </span>may<span class="_ _f"> </span>take<span class="_ _c"> </span>different<span class="_ _8"> </span>clo<span class="_ _0"></span>ck-cycles<span class="_ _c"> </span>on<span class="_ _8"> </span>different</div><div class="t m0 x1 hb y1e8 ff1 fs6 fc0 sc0 ls0 ws0">a<span class="_ _3"></span>rchitectures/CPU<span class="_ _8"> </span>type</div><div class="t m0 xb hb y1e9 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff1">Agner<span class="_ _8"> </span>F<span class="_ _3"></span>og<span class="_ _8"> </span>-<span class="_ _8"> </span>Instruction<span class="_ _8"> </span>tables<span class="_ _c"> </span><span class="ff4">(latencies,<span class="_ _c"> </span>throughputs)</span></span></div><div class="t m0 x6 h11 y1ea ff7 fs6 fc0 sc0 ls0 ws0">www.agner.org/optimize/instruction<span class="_ _8"> </span>tables.pdf</div><div class="t m0 xb hb y1eb ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff1">Latency<span class="_ _7"></span>,<span class="_ _f"> </span>Throughput,<span class="_ _8"> </span>and<span class="_ _8"> </span>Po<span class="_ _3"></span>rt<span class="_ _f"> </span>Usage<span class="_ _8"> </span>Information</span></div><div class="t m0 x6 h11 y1ec ff7 fs6 fc0 sc0 ls0 ws0">uops.info/table.html</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">48/84</div><a class="l" href="http://www.agner.org/optimize/instruction_tables.pdf"><div class="d m1" style="border-style:none;position:absolute;left:73.752000px;bottom:168.469500px;width:258.116000px;height:11.993000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="http://uops.info/table.html"><div class="d m1" style="border-style:none;position:absolute;left:73.752000px;bottom:103.792500px;width:116.538000px;height:11.993000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf35" class="pf w0 h0" data-page-no="35"><div class="pc pc35 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x8 h2 y13b ff1 fs0 fc0 sc0 ls0 ws0">Control<span class="_ _1"> </span>Flo<span class="_ _7"></span>w</div><a class="l" href="#pf35" data-dest-detail='[53,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:158.662500px;bottom:205.878000px;width:148.064000px;height:19.206000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf36" class="pf w0 h0" data-page-no="36"><div class="pc pc36 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIX0lEQVR42u3YsQ3CMBRFURvFSskMUSomQIgaic2yRMZJkSGyAVVK3JiOOhX6QueM8Kqrl8frPQEAQBjbupysAABANCIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAICvXGu1AgAAcZRSPKkAAIQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkmAABApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUk0AAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIA8D+6fRqsAMARr8dsBOAHLrdnzue+7e+UWmsGAQAghA/9uxQESADsKwAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Branches<span class="_ _17"> </span>a<span class="_ _3"></span>re<span class="_ _17"> </span>exp<span class="_ _0"></span>ensive<span class="_ _4c"> </span>1/2</div><div class="t m0 x39 h8 y1ed ff1 fs2 fc3 sc0 ls0 ws0">Computation<span class="_ _6"> </span>is<span class="_ _e"> </span>faster<span class="_ _6"> </span>than<span class="_ _e"> </span>decision</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">49/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf37" class="pf w0 h0" data-page-no="37"><div class="pc pc37 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Branches<span class="_ _17"> </span>a<span class="_ _3"></span>re<span class="_ _17"> </span>exp<span class="_ _0"></span>ensive<span class="_ _4c"> </span>2/2</div><div class="t m0 x1 hb y1ee ff1 fs6 fc0 sc0 ls0 ws0">Pip<span class="_ _b"></span>elines<span class="_ _c"> </span><span class="ff4">are<span class="_ _c"> </span>an<span class="_ _c"> </span>essential<span class="_ _f"> </span>element<span class="_ _c"> </span>in<span class="_ _f"> </span>mo<span class="_ _b"></span>dern<span class="_ _c"> </span>processors.<span class="_ _9"> </span>Some<span class="_ _c"> </span>processors<span class="_ _c"> </span>have<span class="_ _c"> </span>up<span class="_ _f"> </span>to</span></div><div class="t m0 x1 hb y1ef ff4 fs6 fc0 sc0 ls0 ws0">20<span class="_ _c"> </span>pip<span class="_ _b"></span>eline<span class="_ _f"> </span>stages<span class="_ _c"> </span>(14/16<span class="_ _f"> </span>t<span class="_ _3"></span>ypically)</div><div class="t m0 x1 hb y1f0 ff4 fs6 fc0 sc0 ls0 ws0">The<span class="_ _c"> </span>downside<span class="_ _c"> </span>to<span class="_ _c"> </span>long<span class="_ _c"> </span>pip<span class="_ _b"></span>elines<span class="_ _f"> </span>includes<span class="_ _c"> </span>the<span class="_ _f"> </span>danger<span class="_ _c"> </span>of<span class="_ _9"> </span><span class="ff1">pip<span class="_ _b"></span>eline<span class="_ _8"> </span>stalls<span class="_ _c"> </span></span>that<span class="_ _f"> </span>w<span class="_ _3"></span>aste<span class="_ _f"> </span>CPU</div><div class="t m0 x1 hb y1f1 ff4 fs6 fc0 sc0 ls0 ws0">time,<span class="_ _c"> </span>and<span class="_ _c"> </span>the<span class="_ _f"> </span>time<span class="_ _c"> </span>it<span class="_ _f"> </span>takes<span class="_ _c"> </span>to<span class="_ _c"> </span>reload<span class="_ _c"> </span>the<span class="_ _f"> </span>pip<span class="_ _b"></span>eline<span class="_ _c"> </span>on<span class="_ _f"> </span><span class="ff1">conditional<span class="_ _8"> </span>b<span class="_ _3"></span>ranch<span class="_ _f"> </span><span class="ff4">op<span class="_ _b"></span>erations</span></span></div><div class="t m0 x1 hb y1f2 ff4 fs6 fc0 sc0 ls0 ws0">(<span class="_ _25"> </span><span class="ff7">if<span class="_ _d"> </span></span>,<span class="_ _10"> </span><span class="ff7">while<span class="_ _d"> </span></span>,<span class="_ _10"> </span><span class="ff7">for<span class="_ _25"> </span></span>)</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">50/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf38" class="pf w0 h0" data-page-no="38"><div class="pc pc38 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIzUlEQVR42u3ZsUlDURTH4Vx5F6uLM4iVE4hYC1nBwnlcwg0snEGwcAg3sAq3UE/z7AQLUQyGc/O+b4Ek/0fCj5NycnaxAgCANJ6fHg+sAABANiIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAIBPJSKsAABAHrVWl1QAANIRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAWLrJBMn13hf1eVtrHjrsxw+LrzOwDZdUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQDgixIRVgAAII9aq0sqAADpiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAHxnMgEADKr3/t8v0VozTk7jPppfckkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQCAhSkRYQUAAPKotbqkAgCQjkgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAPttMgGwpd77bl6otWZtgIVwSQUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAAGMrEWEFAADyqLW6pAIAkI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApJoAAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAMYwjfJGX9/e1lfXHhiM5eH+zggA/EGJCCsAAJBHrdXf/QAApCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgDA2KbNzbEVANiNl8tbIwA/Oj1fl3J0OG/eV6t5ng0CAEAKH4wyNPxgF5TdAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Control<span class="_ _17"> </span>Flo<span class="_ _3"></span>w<span class="_ _4d"> </span>1/2</div><div class="t m0 x3a hb yb1 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Prefer<span class="_ _10"> </span><span class="ff5">switch<span class="_ _10"> </span></span>statements<span class="_ _c"> </span>instead<span class="_ _c"> </span>of<span class="_ _f"> </span>multiple<span class="_ _10"> </span><span class="ff5">if</span></span></div><div class="t m0 x3b h6 y1f3 ff4 fs4 fc0 sc0 ls0 ws0">-<span class="_ _6"> </span>If<span class="_ _d"> </span>the<span class="_ _c"> </span>compiler<span class="_ _d"> </span>do<span class="_ _b"></span>es<span class="_ _c"> </span>not<span class="_ _d"> </span>use<span class="_ _c"> </span>a<span class="_ _d"> </span>jump-table,<span class="_ _c"> </span>the<span class="_ _d"> </span>cases<span class="_ _c"> </span>are<span class="_ _d"> </span>evaluated<span class="_ _d"> </span>in<span class="_ _c"> </span>o<span class="_ _3"></span>rder<span class="_ _c"> </span>of</div><div class="t m0 x3c h6 y1f4 ff4 fs4 fc0 sc0 ls0 ws0">app<span class="_ _b"></span>ea<span class="_ _3"></span>rance<span class="_ _c"> </span><span class="ff10">→<span class="_ _d"> </span></span>the<span class="_ _c"> </span>most<span class="_ _d"> </span>frequent<span class="_ _c"> </span>cases<span class="_ _d"> </span>should<span class="_ _c"> </span>b<span class="_ _b"></span>e<span class="_ _d"> </span>placed<span class="_ _c"> </span>b<span class="_ _b"></span>efo<span class="_ _3"></span>re</div><div class="t m0 x3b h6 y1f5 ff4 fs4 fc0 sc0 ls0 ws0">-<span class="_ _6"> </span>Some<span class="_ _d"> </span>compilers<span class="_ _c"> </span>(e.g.<span class="_ _17"> </span><span class="ff7">clang</span>)<span class="_ _c"> </span>a<span class="_ _3"></span>re<span class="_ _c"> </span>able<span class="_ _d"> </span>to<span class="_ _c"> </span>translate<span class="_ _d"> </span>a<span class="_ _c"> </span>sequence<span class="_ _d"> </span>of<span class="_ _11"> </span><span class="ff7">if<span class="_ _11"> </span></span>into<span class="_ _c"> </span>a<span class="_ _11"> </span><span class="ff7">switch</span></div><div class="t m0 x3a hb y1f6 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Prefer<span class="_ _f"> </span><span class="ff1">squa<span class="_ _3"></span>re<span class="_ _8"> </span>brack<span class="_ _3"></span>ets<span class="_ _c"> </span><span class="ff4">syntax<span class="_ _10"> </span><span class="ff7">[]<span class="_ _10"> </span></span>over<span class="_ _c"> </span>p<span class="_ _b"></span>ointer<span class="_ _f"> </span>a<span class="_ _3"></span>rithmetic<span class="_ _f"> </span>op<span class="_ _b"></span>erations<span class="_ _c"> </span>for<span class="_ _c"> </span>arra<span class="_ _3"></span>y</span></span></span></div><div class="t m0 x3d hb y1f7 ff4 fs6 fc0 sc0 ls0 ws0">access<span class="_ _c"> </span>to<span class="_ _c"> </span>facilitate<span class="_ _f"> </span>compiler<span class="_ _c"> </span>lo<span class="_ _0"></span>op<span class="_ _c"> </span>optimizations<span class="_ _c"> </span>(p<span class="_ _b"></span>olyhedral<span class="_ _c"> </span>lo<span class="_ _b"></span>op<span class="_ _f"> </span>transformations)</div><div class="t m0 x3a hb y1f8 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Prefer<span class="_ _f"> </span><span class="ff1">signed<span class="_ _8"> </span>integer<span class="_ _c"> </span></span>for<span class="_ _c"> </span><span class="ff1">lo<span class="_ _0"></span>op<span class="_ _c"> </span>indexing<span class="_ _b"></span></span>.<span class="_ _9"> </span>The<span class="_ _f"> </span>compiler<span class="_ _c"> </span>optimizes<span class="_ _f"> </span>more<span class="_ _c"> </span>aggressively</span></div><div class="t m0 x3d hb y1f9 ff4 fs6 fc0 sc0 ls0 ws0">such<span class="_ _c"> </span>lo<span class="_ _b"></span>ops<span class="_ _f"> </span>since<span class="_ _c"> </span>integer<span class="_ _f"> </span>overflo<span class="_ _3"></span>w<span class="_ _f"> </span>is<span class="_ _c"> </span>not<span class="_ _f"> </span>defined</div><div class="t m0 x3a hb y1fa ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Prefer<span class="_ _c"> </span>range-based<span class="_ _f"> </span>lo<span class="_ _b"></span>op<span class="_ _c"> </span>for<span class="_ _c"> </span>iterating<span class="_ _c"> </span>over<span class="_ _c"> </span>a<span class="_ _f"> </span>container<span class="_ _f"> </span><span class="ff1b">1</span></span></div><div class="t m0 x30 hd y1fb ffc fs7 fcc sc0 ls0 ws0">The<span class="_ _9"> </span>Little<span class="_ _9"> </span>Things:<span class="_ _20"> </span>Everyday<span class="_ _9"> </span>efficiencies</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">51/84</div><a class="l" href="https://codingnest.com/the-little-things-everyday-efficiencies/amp/?__twitter_impression=true"><div class="d m1" style="border-style:none;position:absolute;left:52.083000px;bottom:1.086000px;width:194.994000px;height:13.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf39" class="pf w0 h0" data-page-no="39"><div class="pc pc39 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Control<span class="_ _17"> </span>Flo<span class="_ _3"></span>w<span class="_ _4d"> </span>2/2</div><div class="t m0 xb hb yb1 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">In<span class="_ _c"> </span>general,<span class="_ _10"> </span><span class="ff7">if<span class="_ _10"> </span></span>statements<span class="_ _c"> </span>affect<span class="_ _f"> </span>p<span class="_ _b"></span>erformance<span class="_ _c"> </span>when<span class="_ _c"> </span>the<span class="_ _c"> </span>branch<span class="_ _c"> </span>is<span class="_ _c"> </span>taken</span></div><div class="t m0 xb hb y1fc ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Some<span class="_ _c"> </span>compilers<span class="_ _f"> </span>(e.g.<span class="_ _e"> </span><span class="ff7">clang</span>)<span class="_ _c"> </span>use<span class="_ _c"> </span>assertion<span class="_ _c"> </span>for<span class="_ _c"> </span>optimization<span class="_ _c"> </span>purp<span class="_ _b"></span>oses:<span class="_ _e"> </span>most<span class="_ _c"> </span>likely</span></div><div class="t m0 x6 hb yb4 ff4 fs6 fc0 sc0 ls0 ws0">co<span class="_ _b"></span>de<span class="_ _c"> </span>path,<span class="_ _f"> </span>not<span class="_ _c"> </span>p<span class="_ _b"></span>ossible<span class="_ _f"> </span>values,<span class="_ _c"> </span>etc.<span class="_ _e"> </span><span class="ff1b">2</span></div><div class="t m0 xb hb y1fd ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Not<span class="_ _c"> </span>all<span class="_ _f"> </span>control<span class="_ _c"> </span>flow<span class="_ _c"> </span>instructions<span class="_ _c"> </span>(or<span class="_ _c"> </span>b<span class="_ _3"></span>ranches)<span class="_ _c"> </span>are<span class="_ _c"> </span>translated<span class="_ _c"> </span>into<span class="_ _10"> </span><span class="ff7">jump</span></span></div><div class="t m0 x6 hb y1fe ff4 fs6 fc0 sc0 ls0 ws0">instructions.<span class="_ _e"> </span>If<span class="_ _c"> </span>the<span class="_ _c"> </span>co<span class="_ _b"></span>de<span class="_ _c"> </span>in<span class="_ _f"> </span>the<span class="_ _c"> </span>branch<span class="_ _c"> </span>is<span class="_ _c"> </span>small,<span class="_ _f"> </span>the<span class="_ _c"> </span>compiler<span class="_ _f"> </span>could<span class="_ _c"> </span>optimize<span class="_ _f"> </span>it<span class="_ _c"> </span>in<span class="_ _c"> </span>a</div><div class="t m0 x6 hb y1ff ff4 fs6 fc0 sc0 ls0 ws0">conditional<span class="_ _c"> </span>instruction,<span class="_ _c"> </span>e.g.<span class="_ _a"> </span><span class="ff7">ccmovl</span></div><div class="t m0 x6 hb y200 ff4 fs6 fc0 sc0 ls0 ws0">Small<span class="_ _c"> </span>co<span class="_ _b"></span>de<span class="_ _f"> </span>section<span class="_ _c"> </span>can<span class="_ _f"> </span>b<span class="_ _b"></span>e<span class="_ _c"> </span>optimized<span class="_ _f"> </span>in<span class="_ _c"> </span>different<span class="_ _f"> </span>w<span class="_ _3"></span>ays<span class="_ _c"> </span><span class="ff1b">3<span class="_ _c"> </span></span>(see<span class="_ _f"> </span>next<span class="_ _c"> </span>slides)</div><div class="t m0 x3e h10 y201 ff1b fs7 fcc sc0 ls0 ws0">1<span class="_ _6"> </span><span class="ffc">Branch<span class="_ _9"> </span>predictor:<span class="_ _20"> </span>How<span class="_ _9"> </span>many<span class="_ _9"> </span>ifs<span class="_ _e"> </span>are<span class="_ _9"> </span>too<span class="_ _9"> </span>many?</span></div><div class="t m0 x3e h10 y202 ff1b fs7 fcc sc0 ls0 ws0">2<span class="_ _6"> </span><span class="ffc">Andrei<span class="_ _9"> </span>Alexandrescu</span></div><div class="t m0 x3e h10 y203 ff1b fs7 fcc sc0 ls0 ws0">3<span class="_ _6"> </span><span class="ffc">Is<span class="_ _9"> </span>this<span class="_ _e"> </span>a<span class="_ _17"> </span>branch?</span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">52/84</div><a class="l" href="https://blog.cloudflare.com/branch-predictor/"><div class="d m1" style="border-style:none;position:absolute;left:73.752000px;bottom:44.868000px;width:223.238000px;height:10.211000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://twitter.com/incomputable/status/1247234209753808897?s=20"><div class="d m1" style="border-style:none;position:absolute;left:73.752000px;bottom:28.951500px;width:91.432000px;height:8.220000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://bartwronski.com/2021/01/18/is-this-a-branch/"><div class="d m1" style="border-style:none;position:absolute;left:73.752000px;bottom:10.048500px;width:82.018000px;height:8.219000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf3a" class="pf w0 h0" data-page-no="3a"><div class="pc pc3a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIr0lEQVR42u3ZMUoDQRiG4f1lBqtFMCcQK08gYi3kZl7C41h4CG8gGwhbOc2ks4oYnIAz+DzlbrN81cu/cXv/OAEAQDfe314vrAAAQG9EKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAX6KUYgUAAPqRc3ZJBQCgOyIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRagIAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAMKRkgtOt62oEAGBQ8zwP9LUuqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAICRJRO0uN5svnu1Wxb7AACI1D9S65GHEYYBAPg1v/sBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAGAwyQStImwAAHBeLqkAAHTHJbVZrUceOq8CADRwSQUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAgMEkE7SKsAEAgEjtyG5ZjAAAcHZ+9wMAIFIBAECkAgAgUgEAoFWUUqwAAEA/cs4uqQAAdEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAA8KO0f76xAgBD+Hh6MQL8B3cP24iry7r/nKZaq0EAAOjCAT5XI9oT8XK+AAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Minimize<span class="_ _17"> </span>Branch<span class="_ _17"> </span>Overhead</div><div class="t m0 xb hb yb1 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff1">Branch<span class="_ _8"> </span>p<span class="_ _3"></span>rediction<span class="ff4">:<span class="_ _e"> </span>technique<span class="_ _c"> </span>to<span class="_ _c"> </span>guess<span class="_ _f"> </span>which<span class="_ _c"> </span>wa<span class="_ _3"></span>y<span class="_ _c"> </span>a<span class="_ _f"> </span>branch<span class="_ _c"> </span>tak<span class="_ _3"></span>es.<span class="_ _e"> </span>It<span class="_ _c"> </span>requires</span></span></div><div class="t m0 x6 hb yb2 ff4 fs6 fc0 sc0 ls0 ws0">ha<span class="_ _3"></span>rdwa<span class="_ _3"></span>re<span class="_ _c"> </span>supp<span class="_ _b"></span>ort<span class="_ _c"> </span>and<span class="_ _c"> </span>it<span class="_ _f"> </span>is<span class="_ _c"> </span>generically<span class="_ _c"> </span>based<span class="_ _f"> </span>on<span class="_ _c"> </span>dynamic<span class="_ _f"> </span>history<span class="_ _c"> </span>of<span class="_ _c"> </span>co<span class="_ _b"></span>de<span class="_ _c"> </span>executing</div><div class="t m0 xb hb y204 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff1">Branch<span class="_ _8"> </span>p<span class="_ _3"></span>redication<span class="ff4">:<span class="_ _e"> </span>a<span class="_ _c"> </span>conditional<span class="_ _c"> </span>branch<span class="_ _c"> </span>is<span class="_ _c"> </span>substituted<span class="_ _f"> </span>b<span class="_ _3"></span>y<span class="_ _f"> </span>a<span class="_ _c"> </span>sequence<span class="_ _f"> </span>of</span></span></div><div class="t m0 x6 hb y205 ff4 fs6 fc0 sc0 ls0 ws0">instructions<span class="_ _c"> </span>from<span class="_ _c"> </span>b<span class="_ _0"></span>oth<span class="_ _c"> </span>paths<span class="_ _c"> </span>of<span class="_ _c"> </span>the<span class="_ _f"> </span>b<span class="_ _3"></span>ranch.<span class="_ _e"> </span>Only<span class="_ _c"> </span>the<span class="_ _f"> </span>instructions<span class="_ _c"> </span>asso<span class="_ _b"></span>ciated<span class="_ _f"> </span>to<span class="_ _c"> </span>a</div><div class="t m0 x6 hb y206 ffa fs6 fc0 sc0 ls0 ws0">p<span class="_ _3"></span>redicate<span class="_ _17"> </span><span class="ff4">(b<span class="_ _b"></span>o<span class="_ _b"></span>olean<span class="_ _c"> </span>value),<span class="_ _f"> </span>that<span class="_ _c"> </span>represents<span class="_ _c"> </span>the<span class="_ _c"> </span>direction<span class="_ _f"> </span>of<span class="_ _c"> </span>the<span class="_ _f"> </span>b<span class="_ _3"></span>ranch,<span class="_ _f"> </span>a<span class="_ _3"></span>re<span class="_ _f"> </span>actually</span></div><div class="t m0 x6 hb y207 ff4 fs6 fc0 sc0 ls0 ws0">executed</div><div class="t m0 xc hf y208 ff5 fs5 fc6 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ffd fc0">x<span class="_ _17"> </span><span class="fc8">=<span class="_ _17"> </span></span>(condition)<span class="_ _8"> </span><span class="fc8">?<span class="_ _17"> </span></span>A[i]<span class="_ _17"> </span><span class="fc8">:<span class="_ _8"> </span></span>B[i];</span></div><div class="t m0 xc hf y209 ffd fs5 fc0 sc0 ls0 ws0">P<span class="_ _8"> </span><span class="fc8">=<span class="_ _17"> </span></span>(condition)<span class="_ _17"> </span><span class="ffb fc5">//<span class="_ _8"> </span>P:<span class="_ _17"> </span>predicate</span></div><div class="t m0 xc hf y20a ffd fs5 fc0 sc0 ls0 ws0">@P<span class="_ _14"> </span>x<span class="_ _8"> </span><span class="fc8">=<span class="_ _17"> </span></span>A[i];</div><div class="t m0 xc hf y20b ffd fs5 fc0 sc0 ls0 ws0">@<span class="fc8">!</span>P<span class="_ _8"> </span>x<span class="_ _17"> </span><span class="fc8">=<span class="_ _17"> </span></span>B[i];</div><div class="t m0 xb hb y20c ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff1">Sp<span class="_ _b"></span>eculative<span class="_ _8"> </span>execution<span class="ff4">:<span class="_ _e"> </span>execute<span class="_ _c"> </span>b<span class="_ _b"></span>oth<span class="_ _c"> </span>sides<span class="_ _f"> </span>of<span class="_ _c"> </span>the<span class="_ _f"> </span>conditional<span class="_ _c"> </span>branch<span class="_ _c"> </span>to<span class="_ _c"> </span>b<span class="_ _b"></span>etter</span></span></div><div class="t m0 x6 hb y20d ff4 fs6 fc0 sc0 ls0 ws0">utilize<span class="_ _c"> </span>the<span class="_ _c"> </span>computer<span class="_ _f"> </span>resources<span class="_ _c"> </span>and<span class="_ _f"> </span>commit<span class="_ _c"> </span>the<span class="_ _f"> </span>results<span class="_ _c"> </span>asso<span class="_ _b"></span>ciated<span class="_ _f"> </span>to<span class="_ _c"> </span>the<span class="_ _f"> </span>branch</div><div class="t m0 x6 hb y20e ff4 fs6 fc0 sc0 ls0 ws0">tak<span class="_ _3"></span>en</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">53/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf3b" class="pf w0 h0" data-page-no="3b"><div class="pc pc3b w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Lo<span class="_ _b"></span>op<span class="_ _17"> </span>Hoisting</div><div class="t m0 x1 hb y77 ff1 fs6 fc0 sc0 ls0 ws0">Lo<span class="_ _b"></span>op<span class="_ _8"> </span>Hoisting<span class="ff4">,<span class="_ _c"> </span>also<span class="_ _f"> </span>called<span class="_ _c"> </span><span class="ffa">lo<span class="_ _b"></span>op-invariant<span class="_ _c"> </span>co<span class="_ _b"></span>de<span class="_ _c"> </span>motion</span>,<span class="_ _c"> </span>consists<span class="_ _f"> </span>of<span class="_ _c"> </span>moving<span class="_ _f"> </span>statements</span></div><div class="t m0 x1 hb y10c ff4 fs6 fc0 sc0 ls0 ws0">o<span class="_ _3"></span>r<span class="_ _f"> </span>exp<span class="_ _3"></span>ressions<span class="_ _f"> </span>outside<span class="_ _c"> </span>the<span class="_ _f"> </span>b<span class="_ _b"></span>o<span class="_ _b"></span>dy<span class="_ _c"> </span>of<span class="_ _f"> </span>a<span class="_ _c"> </span>lo<span class="_ _0"></span>op<span class="_ _c"> </span><span class="ffa">without<span class="_ _c"> </span>affecting<span class="_ _c"> </span>the<span class="_ _f"> </span>semantics<span class="_ _17"> </span></span>of<span class="_ _f"> </span>the</div><div class="t m0 x1 hb y10d ff4 fs6 fc0 sc0 ls0 ws0">p<span class="_ _3"></span>rogram</div><div class="t m0 x1 hd y20f ffc fs7 fc0 sc0 ls0 ws0">Base<span class="_ _9"> </span>case:</div><div class="t m0 xd hd y210 ff5 fs7 fc9 sc0 ls0 ws0">for<span class="_ _9"> </span><span class="ffc fc0">(</span><span class="fc6">int<span class="_ _9"> </span><span class="ffc fc0">i<span class="_ _e"> </span><span class="fc8">=<span class="_ _9"> </span>0</span>;<span class="_ _9"> </span>i<span class="_ _e"> </span><span class="fc8">&lt;<span class="_ _9"> </span>100</span>;<span class="_ _9"> </span>i<span class="fc8">++</span>)</span></span></div><div class="t m0 x6 hd y211 ffc fs7 fc0 sc0 ls0 ws0">a[i]<span class="_ _9"> </span><span class="fc8">=<span class="_ _9"> </span></span>x<span class="_ _e"> </span><span class="fc8">+<span class="_ _9"> </span></span>y;</div><div class="t m0 x3f hd y212 ffc fs7 fc0 sc0 ls0 ws0">Better:</div><div class="t m0 x40 hd y213 ffc fs7 fc0 sc0 ls0 ws0">v<span class="_ _9"> </span><span class="fc8">=<span class="_ _9"> </span></span>x<span class="_ _e"> </span><span class="fc8">+<span class="_ _9"> </span></span>y;</div><div class="t m0 x40 hd y214 ff5 fs7 fc9 sc0 ls0 ws0">for<span class="_ _9"> </span><span class="ffc fc0">(</span><span class="fc6">int<span class="_ _9"> </span><span class="ffc fc0">i<span class="_ _e"> </span><span class="fc8">=<span class="_ _9"> </span>0</span>;<span class="_ _9"> </span>i<span class="_ _e"> </span><span class="fc8">&lt;<span class="_ _9"> </span>100</span>;<span class="_ _9"> </span>i<span class="fc8">++</span>)</span></span></div><div class="t m0 x41 hd y215 ffc fs7 fc0 sc0 ls0 ws0">a[i]<span class="_ _9"> </span><span class="fc8">=<span class="_ _9"> </span></span>v;</div><div class="t m0 x1 hb y216 ff4 fs6 fc0 sc0 ls0 ws0">Lo<span class="_ _b"></span>op<span class="_ _c"> </span>hoisting<span class="_ _f"> </span>is<span class="_ _c"> </span>also<span class="_ _f"> </span>imp<span class="_ _b"></span>o<span class="_ _3"></span>rtant<span class="_ _f"> </span>in<span class="_ _c"> </span>the<span class="_ _f"> </span>evaluation<span class="_ _c"> </span>of<span class="_ _f"> </span>lo<span class="_ _b"></span>op<span class="_ _c"> </span>conditions</div><div class="t m0 x1 hd y217 ffc fs7 fc0 sc0 ls0 ws0">Base<span class="_ _9"> </span>case:</div><div class="t m0 xd hd y218 ffb fs7 fc5 sc0 ls0 ws0">//<span class="_ _9"> </span>&quot;x&quot;<span class="_ _9"> </span>never<span class="_ _e"> </span>changes</div><div class="t m0 xd hd y219 ff5 fs7 fc9 sc0 ls0 ws0">for<span class="_ _9"> </span><span class="ffc fc0">(</span><span class="fc6">int<span class="_ _9"> </span><span class="ffc fc0">i<span class="_ _e"> </span><span class="fc8">=<span class="_ _9"> </span>0</span>;<span class="_ _9"> </span>i<span class="_ _e"> </span><span class="fc8">&lt;<span class="_ _9"> </span></span>f(x);<span class="_ _9"> </span>i<span class="fc8">++</span>)</span></span></div><div class="t m0 x42 hd y21a ffc fs7 fc0 sc0 ls0 ws0">a[i]<span class="_ _9"> </span><span class="fc8">=<span class="_ _9"> </span></span>y;</div><div class="t m0 x3f hd y217 ffc fs7 fc0 sc0 ls0 ws0">Better:</div><div class="t m0 x40 hd y218 ff5 fs7 fc6 sc0 ls0 ws0">int<span class="_ _9"> </span><span class="ffc fc0">limit<span class="_ _9"> </span><span class="fc8">=<span class="_ _e"> </span></span>f(x);</span></div><div class="t m0 x40 hd y219 ff5 fs7 fc9 sc0 ls0 ws0">for<span class="_ _9"> </span><span class="ffc fc0">(</span><span class="fc6">int<span class="_ _9"> </span><span class="ffc fc0">i<span class="_ _e"> </span><span class="fc8">=<span class="_ _9"> </span>0</span>;<span class="_ _9"> </span>i<span class="_ _e"> </span><span class="fc8">&lt;<span class="_ _9"> </span></span>limit;<span class="_ _9"> </span>i<span class="fc8">++</span>)</span></span></div><div class="t m0 x43 hd y21a ffc fs7 fc0 sc0 ls0 ws0">a[i]<span class="_ _9"> </span><span class="fc8">=<span class="_ _9"> </span></span>y;</div><div class="t m0 x1 hb y21b ff4 fs6 fc0 sc0 ls0 ws0">In<span class="_ _c"> </span>the<span class="_ _c"> </span>wo<span class="_ _3"></span>rst<span class="_ _c"> </span>case,<span class="_ _10"> </span><span class="ff7">f(x)<span class="_ _10"> </span></span>is<span class="_ _f"> </span>evaluated<span class="_ _c"> </span>at<span class="_ _f"> </span>every<span class="_ _c"> </span>iteration<span class="_ _f"> </span>(esp<span class="_ _b"></span>ecially<span class="_ _c"> </span>when<span class="_ _f"> </span>it<span class="_ _c"> </span>b<span class="_ _b"></span>elongs<span class="_ _f"> </span>to</div><div class="t m0 x1 hb y21c ff4 fs6 fc0 sc0 ls0 ws0">another<span class="_ _c"> </span>translation<span class="_ _c"> </span>unit)</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">54/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf3c" class="pf w0 h0" data-page-no="3c"><div class="pc pc3c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIjUlEQVR42u3YsU0DQRCG0Vt0I6IVNVhErsBCxEjujCYoh8BF0IEjayNPcmQUYJJZ3XsVrP5NPk17Pb0vAABQxs/l+8kKAABUI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAPjTMtMKAADUEREuqQAAlCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqSYAAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAPZkneitYwwfBgDwmN77RK91SQUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBANiRlplWAACgjohwSQUAoByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAExlneitYwwfBgDwmN77RK91SQUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKSaAAAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAA5tIy0woAANQRES6pAACUI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgDA/6y3z4MVANiJ68eXEaC+49u5tZfn7XZflm3bDAIAQAm/1w4gAP+GAn8AAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Lo<span class="_ _b"></span>op<span class="_ _17"> </span>Unrolling<span class="_ _4e"> </span>1/2</div><div class="t m0 x1 hb y77 ff1 fs6 fc0 sc0 ls0 ws0">Lo<span class="_ _b"></span>op<span class="_ _8"> </span>unrolling<span class="_ _f"> </span><span class="ff4">(o<span class="_ _3"></span>r<span class="_ _f"> </span><span class="ff1">unwinding<span class="_ _b"></span></span>)<span class="_ _c"> </span>is<span class="_ _f"> </span>a<span class="_ _c"> </span>lo<span class="_ _b"></span>op<span class="_ _f"> </span>transfo<span class="_ _3"></span>rmation<span class="_ _f"> </span>technique<span class="_ _c"> </span>which<span class="_ _f"> </span>optimizes</span></div><div class="t m0 x1 hb y10c ff4 fs6 fc0 sc0 ls0 ws0">the<span class="_ _c"> </span>co<span class="_ _b"></span>de<span class="_ _f"> </span>b<span class="_ _3"></span>y<span class="_ _f"> </span>removing<span class="_ _c"> </span>(or<span class="_ _c"> </span>reducing)<span class="_ _c"> </span>lo<span class="_ _b"></span>op<span class="_ _f"> </span>iterations</div><div class="t m0 x1 hb y21d ff4 fs6 fc0 sc0 ls0 ws0">The<span class="_ _c"> </span>optimization<span class="_ _c"> </span>produces<span class="_ _f"> </span>b<span class="_ _b"></span>etter<span class="_ _f"> </span>co<span class="_ _b"></span>de<span class="_ _c"> </span>at<span class="_ _f"> </span>the<span class="_ _c"> </span>exp<span class="_ _b"></span>ense<span class="_ _f"> </span>of<span class="_ _c"> </span>binary<span class="_ _c"> </span>size</div><div class="t m0 x1 h6 y21e ff4 fs4 fc0 sc0 ls0 ws0">Example:</div><div class="t m0 xd hc y21f ff5 fs4 fc9 sc0 ls0 ws0">for<span class="_ _e"> </span><span class="ff7 fc0">(</span><span class="fc6">int<span class="_ _6"> </span><span class="ff7 fc0">i<span class="_ _6"> </span><span class="fc8">=<span class="_ _e"> </span>0</span>;<span class="_ _6"> </span>i<span class="_ _e"> </span><span class="fc8">&lt;<span class="_ _6"> </span></span>N;<span class="_ _e"> </span>i<span class="fc8">++</span>)</span></span></div><div class="t m0 x44 hc y220 ff7 fs4 fc0 sc0 ls0 ws0">sum<span class="_ _e"> </span><span class="fc8">+=<span class="_ _6"> </span></span>A[i];</div><div class="t m0 x1 h6 y221 ff4 fs4 fc0 sc0 ls0 ws0">can<span class="_ _d"> </span>b<span class="_ _b"></span>e<span class="_ _c"> </span>rewritten<span class="_ _d"> </span>as:</div><div class="t m0 xd hf y222 ff5 fs5 fc9 sc0 ls0 ws0">for<span class="_ _8"> </span><span class="ffd fc0">(</span><span class="fc6">int<span class="_ _17"> </span><span class="ffd fc0">i<span class="_ _17"> </span><span class="fc8">=<span class="_ _8"> </span>0</span>;<span class="_ _17"> </span>i<span class="_ _17"> </span><span class="fc8">&lt;<span class="_ _8"> </span></span>N;<span class="_ _17"> </span>i<span class="_ _17"> </span><span class="fc8">+=<span class="_ _8"> </span>8</span>)<span class="_ _17"> </span>{</span></span></div><div class="t m0 xf hf y223 ffd fs5 fc0 sc0 ls0 ws0">sum<span class="_ _8"> </span><span class="fc8">+=<span class="_ _17"> </span></span>A[i];</div><div class="t m0 xf hf y224 ffd fs5 fc0 sc0 ls0 ws0">sum<span class="_ _8"> </span><span class="fc8">+=<span class="_ _17"> </span></span>A[i<span class="_ _17"> </span><span class="fc8">+<span class="_ _8"> </span>1</span>];</div><div class="t m0 xf hf y225 ffd fs5 fc0 sc0 ls0 ws0">sum<span class="_ _8"> </span><span class="fc8">+=<span class="_ _17"> </span></span>A[i<span class="_ _17"> </span><span class="fc8">+<span class="_ _8"> </span>2</span>];</div><div class="t m0 xf hf y226 ffd fs5 fc0 sc0 ls0 ws0">sum<span class="_ _8"> </span><span class="fc8">+=<span class="_ _17"> </span></span>A[i<span class="_ _17"> </span><span class="fc8">+<span class="_ _8"> </span>3</span>];</div><div class="t m0 xf hf y227 ffd fs5 fc0 sc0 ls0 ws0">...</div><div class="t m0 xd hf y228 ffd fs5 fc0 sc0 ls0 ws0">}<span class="_ _8"> </span><span class="ffb fc5">//<span class="_ _17"> </span>we<span class="_ _8"> </span>suppose<span class="_ _17"> </span>N<span class="_ _8"> </span>is<span class="_ _17"> </span>a<span class="_ _8"> </span>multiple<span class="_ _17"> </span>of<span class="_ _8"> </span>8</span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">55/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf3d" class="pf w0 h0" data-page-no="3d"><div class="pc pc3d w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Lo<span class="_ _b"></span>op<span class="_ _17"> </span>Unrolling<span class="_ _4e"> </span>2/2</div><div class="t m0 x1 hb y77 ff1 fs6 fc0 sc0 ls0 ws0">Lo<span class="_ _b"></span>op<span class="_ _8"> </span>unrolling<span class="_ _f"> </span>can<span class="_ _8"> </span>make<span class="_ _f"> </span>your<span class="_ _c"> </span>co<span class="_ _0"></span>de<span class="_ _f"> </span>b<span class="_ _b"></span>etter/faster:</div><div class="t m0 x30 hb y229 ff1 fs6 fc0 sc0 ls0 ws0">+<span class="_ _6"> </span><span class="ff4">Imp<span class="_ _3"></span>rove<span class="_ _f"> </span>instruction-level<span class="_ _c"> </span>parallelism<span class="_ _c"> </span>(ILP)</span></div><div class="t m0 x30 hb y22a ff1 fs6 fc0 sc0 ls0 ws0">+<span class="_ _6"> </span><span class="ff4">Allo<span class="_ _3"></span>w<span class="_ _f"> </span>vector<span class="_ _c"> </span>(SIMD)<span class="_ _c"> </span>instructions</span></div><div class="t m0 x30 hb y22b ff1 fs6 fc0 sc0 ls0 ws0">+<span class="_ _6"> </span><span class="ff4">Reduce<span class="_ _c"> </span>control<span class="_ _f"> </span>instructions<span class="_ _c"> </span>and<span class="_ _f"> </span>b<span class="_ _3"></span>ranches</span></div><div class="t m0 x1 hb y22c ff1 fs6 fc0 sc0 ls0 ws0">Lo<span class="_ _b"></span>op<span class="_ _8"> </span>unrolling<span class="_ _f"> </span>can<span class="_ _8"> </span>make<span class="_ _f"> </span>your<span class="_ _c"> </span>co<span class="_ _0"></span>de<span class="_ _f"> </span>w<span class="_ _3"></span>orse/slo<span class="_ _3"></span>w<span class="_ _3"></span>er:</div><div class="t m0 x3e hb y22d ff1 fs6 fc0 sc0 ls0 ws0">-<span class="_ _6"> </span><span class="ff4">Increase<span class="_ _c"> </span>compile-time/binary<span class="_ _c"> </span>size</span></div><div class="t m0 x3e hb y22e ff1 fs6 fc0 sc0 ls0 ws0">-<span class="_ _6"> </span><span class="ff4">Require<span class="_ _c"> </span>more<span class="_ _c"> </span>instruction<span class="_ _c"> </span>deco<span class="_ _b"></span>ding</span></div><div class="t m0 x3e hb y22f ff1 fs6 fc0 sc0 ls0 ws0">-<span class="_ _6"> </span><span class="ff4">Use<span class="_ _c"> </span>more<span class="_ _c"> </span>memo<span class="_ _3"></span>ry<span class="_ _f"> </span>and<span class="_ _c"> </span>instruction<span class="_ _f"> </span>cache</span></div><div class="t m0 x1 hb y230 ff1 fs6 fc0 sc0 ls0 ws0">Unroll<span class="_ _f"> </span>directive<span class="_ _f"> </span><span class="ff4 fs4">The<span class="_ _c"> </span><span class="ff7">Intel</span>,<span class="_ _d"> </span><span class="ff7">IBM</span>,<span class="_ _c"> </span>and<span class="_ _d"> </span><span class="ff7">clang<span class="_ _c"> </span></span>compilers<span class="_ _d"> </span>(but<span class="_ _c"> </span>not<span class="_ _d"> </span><span class="ff7">GCC</span>)<span class="_ _c"> </span>p<span class="_ _3"></span>rovide<span class="_ _c"> </span>the</span></div><div class="t m0 x1 h6 y231 ff4 fs4 fc0 sc0 ls0 ws0">p<span class="_ _3"></span>reprocessing<span class="_ _c"> </span>directive<span class="_ _11"> </span><span class="ff7">#pragma<span class="_ _6"> </span>unroll<span class="_ _11"> </span></span>(to<span class="_ _d"> </span>insert<span class="_ _c"> </span>above<span class="_ _c"> </span>the<span class="_ _d"> </span>lo<span class="_ _b"></span>op)<span class="_ _c"> </span>to<span class="_ _d"> </span>force<span class="_ _d"> </span>lo<span class="_ _b"></span>op<span class="_ _c"> </span>unrolling.</div><div class="t m0 x1 h6 y232 ff4 fs4 fc0 sc0 ls0 ws0">The<span class="_ _d"> </span>compiler<span class="_ _c"> </span>already<span class="_ _d"> </span>applies<span class="_ _c"> </span>the<span class="_ _d"> </span>optimization<span class="_ _c"> </span>in<span class="_ _d"> </span>most<span class="_ _c"> </span>cases</div><div class="t m0 x30 hd y233 ffc fs7 fcc sc0 ls0 ws0">Why<span class="_ _9"> </span>are<span class="_ _9"> </span>unrolled<span class="_ _e"> </span>loops<span class="_ _9"> </span>faster?</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">56/84</div><a class="l" href="https://lemire.me/blog/2019/04/12/why-are-unrolled-loops-faster/"><div class="d m1" style="border-style:none;position:absolute;left:52.083000px;bottom:7.071000px;width:143.213000px;height:13.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf3e" class="pf w0 h0" data-page-no="3e"><div class="pc pc3e w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIvUlEQVR42u3ZsU3EQBBA0VvkEdGKGhARFSBEjERnNEE5BBRBB0SnjZjEZMR3lribPd6rYDx28DVudw9POwAAKOPz4/3KFgAAqEakAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAADwq2WmLQAAUEdEuKQCAFCOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAAjrJYQTVjDEs4i967L4FL/ZwApuOSCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAnFTLTFsAAKCOiFhsATjKGOOSHqf3Pt1TV5v5wHkAjuJ3PwAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAA4r5aZtgAAQB0R4ZIKAEA5IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAMxtmWjWMYYXBgCwTe99omldUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAABbtMy0BQAA6ogIl1QAAMoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAOB/WyaadYzhhQEAbNN7n2hal1QAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgDAFi0zbQEAgDoiwiUVAIByRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAcBLL/vXWFgDgQF/Pb5YAf+3+8aW1m+t1/73bretqIQAAlPADXrg0/CnA+3kAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Branch<span class="_ _17"> </span>Hints<span class="_ _17"> </span>-<span class="_ _17"> </span><span class="ff5">[[likely]]<span class="_ _11"> </span>/<span class="_ _11"> </span>[[unlikely]]</span></div><div class="t m0 x1 hb y234 ff4 fs6 fcd sc0 ls0 ws0">C++20<span class="_ _10"> </span><span class="ff7 fc7">[[likely]]<span class="_ _10"> </span></span><span class="fc0">and<span class="_ _10"> </span><span class="ff7 fc7">[[unlikely]]<span class="_ _10"> </span></span>p<span class="_ _3"></span>rovide<span class="_ _c"> </span>a<span class="_ _f"> </span>hint<span class="_ _c"> </span>to<span class="_ _f"> </span>the<span class="_ _c"> </span>compiler<span class="_ _f"> </span>to<span class="_ _c"> </span>optimize</span></div><div class="t m0 x1 hb y235 ff4 fs6 fc0 sc0 ls0 ws0">a<span class="_ _c"> </span>conditional<span class="_ _c"> </span>statement,<span class="_ _f"> </span>such<span class="_ _c"> </span>as<span class="_ _10"> </span><span class="ff7">while<span class="_ _d"> </span></span>,<span class="_ _10"> </span><span class="ff7">for<span class="_ _25"> </span></span>,<span class="_ _10"> </span><span class="ff7">if</span></div><div class="t m0 xd hd y236 ff5 fs7 fc9 sc0 ls0 ws0">for<span class="_ _9"> </span><span class="ffc fc0">(i<span class="_ _9"> </span><span class="fc8">=<span class="_ _e"> </span>0</span>;<span class="_ _9"> </span>i<span class="_ _9"> </span><span class="fc8">&lt;<span class="_ _e"> </span>300</span>;<span class="_ _9"> </span>i<span class="fc8">++</span>)<span class="_ _9"> </span>{</span></div><div class="t m0 x6 hd y237 ffc fs7 fc0 sc0 ls0 ws0">[[unlikely]]<span class="_ _9"> </span><span class="ff5 fc9">if<span class="_ _9"> </span></span>(rand()<span class="_ _e"> </span><span class="fc8">&lt;<span class="_ _9"> </span>10</span>)</div><div class="t m0 x45 hd y238 ff5 fs7 fc9 sc0 ls0 ws0">return<span class="_ _9"> </span><span class="ffc">false<span class="fc0">;</span></span></div><div class="t m0 xd hd y239 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xd hd y23a ff5 fs7 fc9 sc0 ls0 ws0">switch<span class="_ _9"> </span><span class="ffc fc0">(value)<span class="_ _9"> </span>{</span></div><div class="t m0 x3e hd y23b ffc fs7 fc0 sc0 ls0 ws0">[[likely]]<span class="_ _13"> </span><span class="ff5 fc9">case<span class="_ _9"> </span><span class="ffe fca">&apos;<span class="ffc">A</span>&apos;</span></span>:<span class="_ _e"> </span><span class="ff5 fc9">return<span class="_ _9"> </span></span><span class="fc8">2</span>;</div><div class="t m0 x3e hd y23c ffc fs7 fc0 sc0 ls0 ws0">[[unlikely]]<span class="_ _9"> </span><span class="ff5 fc9">case<span class="_ _9"> </span><span class="ffe fca">&apos;<span class="ffc">B</span>&apos;</span></span>:<span class="_ _e"> </span><span class="ff5 fc9">return<span class="_ _9"> </span></span><span class="fc8">4</span>;</div><div class="t m0 xd hd y23d ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">57/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf3f" class="pf w0 h0" data-page-no="3f"><div class="pc pc3f w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Compiler<span class="_ _17"> </span>Hints<span class="_ _17"> </span>-<span class="_ _17"> </span><span class="ff5">[[assume]]</span></div><div class="t m0 x1 hb y77 ff4 fs6 fcd sc0 ls0 ws0">C++23<span class="_ _c"> </span><span class="fc0">allows<span class="_ _c"> </span>defining<span class="_ _c"> </span>an<span class="_ _c"> </span><span class="ffa">assumption<span class="_ _f"> </span></span>in<span class="_ _f"> </span>the<span class="_ _c"> </span>co<span class="_ _b"></span>de<span class="_ _f"> </span>that<span class="_ _c"> </span>is<span class="_ _f"> </span>alwa<span class="_ _3"></span>ys<span class="_ _c"> </span>true</span></div><div class="t m0 xd hd y23e ff5 fs7 fc6 sc0 ls0 ws0">int<span class="_ _9"> </span><span class="ffc fc0">x<span class="_ _9"> </span><span class="fc8">=<span class="_ _e"> </span></span>...;</span></div><div class="t m0 xd hd y23f ffc fs7 fc0 sc0 ls0 ws0">[[assume(x<span class="_ _9"> </span><span class="fc8">&gt;<span class="_ _9"> </span>0</span>)]];<span class="_ _e"> </span><span class="ffb fc5">//<span class="_ _9"> </span>the<span class="_ _9"> </span>compiler<span class="_ _e"> </span>assume<span class="_ _9"> </span>that<span class="_ _9"> </span><span class="ff14">&apos;</span>x<span class="ff14">&apos;<span class="_ _9"> </span></span>is<span class="_ _e"> </span>positive</span></div><div class="t m0 xd hd y240 ff5 fs7 fc6 sc0 ls0 ws0">int<span class="_ _9"> </span><span class="ffc fc0">y<span class="_ _9"> </span><span class="fc8">=<span class="_ _e"> </span></span>x<span class="_ _9"> </span><span class="fc8">/<span class="_ _9"> </span>2</span>;<span class="_ _3c"> </span><span class="ffb fc5">//<span class="_ _9"> </span>the<span class="_ _e"> </span>operation<span class="_ _9"> </span>is<span class="_ _9"> </span>translated<span class="_ _e"> </span>in<span class="_ _9"> </span>a<span class="_ _9"> </span>single<span class="_ _9"> </span>shift<span class="_ _e"> </span>as<span class="_ _9"> </span>for</span></span></div><div class="t m0 x46 hd y241 ffb fs7 fc5 sc0 ls0 ws0">//<span class="_ _9"> </span>the<span class="_ _9"> </span>unsigned<span class="_ _e"> </span>case</div><div class="t m0 x1 hb y242 ff4 fs6 fc0 sc0 ls0 ws0">Compilers<span class="_ _c"> </span>provide<span class="_ _c"> </span>non-portable<span class="_ _c"> </span>instructions<span class="_ _c"> </span>for<span class="_ _c"> </span>p<span class="_ _3"></span>revious<span class="_ _f"> </span>C++<span class="_ _c"> </span>standards:</div><div class="t m0 x29 hb y243 ff7 fs6 fc0 sc0 ls0 ws0">builtin<span class="_ _8"> </span>assume()<span class="_ _10"> </span><span class="ff4">(</span>clang<span class="ff4">),<span class="_ _39"> </span></span>builtin<span class="_ _8"> </span>unreachable()<span class="_ _10"> </span><span class="ff4">(</span>gcc<span class="ff4">),<span class="_ _39"> </span></span>assume()</div><div class="t m0 x1 hb y244 ff4 fs6 fc0 sc0 ls0 ws0">(<span class="ff7">msvc</span>,<span class="_ _c"> </span><span class="ff7">icc</span>)</div><div class="t m0 x1 hb y245 ff4 fs6 fcd sc0 ls0 ws0">C++23<span class="_ _c"> </span><span class="fc0">also<span class="_ _c"> </span>p<span class="_ _3"></span>rovides<span class="_ _10"> </span><span class="ff7">std::unreachable()<span class="_ _10"> </span></span>(<span class="_ _25"> </span><span class="ff19">&lt;<span class="ff7">utility</span>&gt;<span class="_ _d"> </span></span>)<span class="_ _c"> </span>fo<span class="_ _3"></span>r<span class="_ _c"> </span>marking<span class="_ _d"> </span>unreachable</span></div><div class="t m0 x1 hb y246 ff4 fs6 fc0 sc0 ls0 ws0">co<span class="_ _b"></span>de</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">58/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf40" class="pf w0 h0" data-page-no="40"><div class="pc pc40 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIX0lEQVR42u3YsQ3CMBRFURvFSskMUSomQIgaic2yRMZJkSGyAVVK3JiONh36QueM8Kqrl8frPQEAQBjbupysAABANCIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAICvXGu1AgAAcZRSPKkAAIQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkmAABApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUk0AAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIA8D+6fRqsAAC/8XrMRoBDl9sz53Pf9ndKrTWDAAAQwge3bRQEz0rUzwAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Recursion<span class="_ _4f"> </span>1/2</div><div class="t m0 x1 hb y247 ff1 fs6 fc0 sc0 ls0 ws0">A<span class="_ _3"></span>void<span class="_ _8"> </span>run-time<span class="_ _8"> </span>recursion<span class="_ _c"> </span><span class="ff4">(very<span class="_ _f"> </span>exp<span class="_ _b"></span>ensive).<span class="_ _e"> </span>Prefer<span class="_ _c"> </span><span class="ffa">iterative<span class="_ _8"> </span></span>algorithms<span class="_ _c"> </span>instead</span></div><div class="t m0 x1 hb y248 ff1 fs6 fc0 sc0 ls0 ws0">Recursion<span class="_ _f"> </span>cost:<span class="_ _e"> </span><span class="ff4">The<span class="_ _c"> </span>program<span class="_ _c"> </span>must<span class="_ _c"> </span>store<span class="_ _c"> </span>all<span class="_ _c"> </span>variables<span class="_ _c"> </span>(snapshot)<span class="_ _c"> </span>at<span class="_ _c"> </span>each<span class="_ _f"> </span>recursion</span></div><div class="t m0 x1 hb y249 ff4 fs6 fc0 sc0 ls0 ws0">iteration<span class="_ _c"> </span>on<span class="_ _c"> </span>the<span class="_ _c"> </span>stack,<span class="_ _c"> </span>and<span class="_ _c"> </span>remove<span class="_ _c"> </span>them<span class="_ _c"> </span>when<span class="_ _c"> </span>the<span class="_ _c"> </span>control<span class="_ _c"> </span>return<span class="_ _c"> </span>to<span class="_ _c"> </span>the<span class="_ _c"> </span>caller<span class="_ _c"> </span>instance</div><div class="t m0 x1 hb y24a ff4 fs6 fc0 sc0 ls0 ws0">The<span class="_ _c"> </span><span class="ff1">tail<span class="_ _f"> </span>recursion<span class="_ _c"> </span></span>optimization<span class="_ _c"> </span>avoids<span class="_ _d"> </span>maintaining<span class="_ _c"> </span>caller<span class="_ _c"> </span>stack<span class="_ _c"> </span>and<span class="_ _c"> </span>pass<span class="_ _c"> </span>the<span class="_ _c"> </span>control<span class="_ _c"> </span>to</div><div class="t m0 x1 hb y24b ff4 fs6 fc0 sc0 ls0 ws0">the<span class="_ _c"> </span>next<span class="_ _c"> </span>iteration.<span class="_ _9"> </span>The<span class="_ _c"> </span>optimization<span class="_ _c"> </span>is<span class="_ _c"> </span>p<span class="_ _b"></span>ossible<span class="_ _c"> </span>only<span class="_ _c"> </span>if<span class="_ _c"> </span>all<span class="_ _c"> </span>computation<span class="_ _c"> </span>can<span class="_ _c"> </span>b<span class="_ _b"></span>e<span class="_ _c"> </span>executed</div><div class="t m0 x1 hb y24c ff4 fs6 fc0 sc0 ls0 ws0">b<span class="_ _b"></span>efo<span class="_ _3"></span>re<span class="_ _f"> </span>the<span class="_ _c"> </span>recursive<span class="_ _f"> </span>call</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">59/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf41" class="pf w0 h0" data-page-no="41"><div class="pc pc41 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAgAElEQVR42uzdW5Nc15Un9nXZ+1zyXvcqFFAACfAiqiV1R4djHOFwhOdT2G+eN3+KefejP4LDfvODHxwO2xP2XHpardZlJHZLJEUCIIl7EVWFqsrMysxz2WstP5wsAC2xp7vtiBlxev1CwYAKIFGV5+TZ/7322jvx7j/5L8A555xzzrk/GA9/+mPyV8E555xzzv2h8ZDqnHPOOec8pDrnnHPOOech1TnnnHPOeUh1zjnnnHPOQ6pzzjnnnPOQ6pxzzjnnnIdU55xzzjnnIdU555xzzjkPqc4555xzznlIdc4555xzHlKdc84555zzkOqcc8455zykOuecc8455yHVOeecc855SHXOOeecc85DqnPOOeec85DqnHPOOeech1TnnHPOOec8pDrnnHPOOQ+pzjnnnHPOeUh1zjnnnHMeUp1zzjnnnPOQ6pxzzjnnPKQ655xzzjnnIdU555xzzjkPqc4555xzzkOqc84555xzHlKdc84555yHVOecc8455zykOuecc845D6nOOeecc855SHXOOeeccx5SnXPOOeec85DqnHPOOeech1TnnHPOOech1TnnnHPOOQ+pzjnnnHPOQ6pzzjnnnHMeUp1zzjnnnIdU55xzzjnnPKQ655xzzjnnIdU555xzznlIdc4555xzzkOqc84555zzkOqcc84555yHVOecc8455yHVOeecc845D6nOOeecc85DqnPOOeeccx5SnXPOOeec85DqnHPOOec8pDrnnHPOOech1TnnnHPOeUh1zjnnnHPOQ6pzzjnnnPOQ6pxzzjnnnIdU55xzzjnnXsOmafxVcM4555xzfzhijF5Jdc4555xzf3A8pDrnnHPOOQ+pzjnnnHPOeUh1zjnnnHMeUp1zzjnnnPOQ6pxzzjnn/pMT/CX4TxLjP+DK4u9/ycAIAEENVJWI6Ho6owYtyDeXs08efJ0Phr0iazURhl5erhazLMPDg4NgAqkqi8KI55VezFfcXh0d7CBBEmUMAZmBQODp4yf/w3//z03bi9mcyoGFnERERFUR2cwCGiOsFovUJhM1UEBARMTuu0YiFhERCSGoCQRAM0kpBiyywiAahUax6I9vHh3tj/PJaLQxnvSLcmdnZ3Nv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L76ySC5NNPx1VIwMiyGjELksS2eoleUrKysIUBZFnqTWGOucj7WpvyzLZKxJdS6pfKX3ZN0m1cavdlvZemsTIjQGy9KnacJR0jSPgQ1ZY1ySgBIfSZJYa8typGuySTcTBEO0eO789k1bLiw8X4k+C1A78hDl0vP9bxbjdmnc/9fzumJ55qVXFl97LSNH1oEx7W633WojG/biK68uXahDISMAC8TI3lpTv4A29UW9O0DlK52EMgsaZBZADDHqvWMyaGlcmgoABkQRUry4TdE1itUGXzaSfPkO03qDU2EiuGo1X2nVXXQR7WomjlWkOMHp6tS80+n4GCNHQHDW1MmtaIjIABojaWpcauY3zV131RXPPPlsFVjIGQQERmPHVLE0n4QIxvLNGnkrd2tWKWNpPstF+4oJyE7jQASoxRQgSA3UnkTnYwMTa5g21nYsjjGMdXVwcUuTtm4Z5RYjM2Gctiv/4KN33nrNTNt4J6a7pvONe79y8223LibYio4JkC5qhdW3oQWYGnQLqwEFKICMAoaAMFo7cORTS912e8P6dP06u36ut3FDkmdGwFTx9DNPPfPg17/2h3e/9I0n59dtvPr9d9zygffP7987e+WOMklkuj1KTUwcC6bRIAKSIUASRCAhEKrPIwESrD6+aqxJumBY2wsQ1bsVQQMX9aKNLVRv7K9iNkgnT7/+zDPPLS33z58//+qxl59//rknvvHotx77xpFDB4v+4vzOPW/43r10+FCr1dK00TzPYwhaytDv95MkKcpSUcv4eQyKqkMIg8HAe79mzRrVCK6srExWCmuKpNaZNuS9gs7RaKTOaC1bV0WpcqK68HQ6rBmoNTOhfQFajmotIlZlNSoK5fyV0w0xFkURYzTGIaJzVgMl1OxPRL/wC7+wb98+RcNlUVZlpRXLC0uLBw8e7C8vT09P62d84oknduy48otf/OL8/Pzhw4fn5zf/h//0W7uv2/2Zz/znH//xH19ZXg4h3H333bfccsu3v/3tT33qU5s3bz58+PCDDz744Q9/WLOZQggvvvjizTff/Ed/9EetVuvlV17evGnzyy+91Ot2W3lr7969Dz744J6b92zdujXN0isu23bVzp3f+73fu3nTpgMHDmzfvn3bZZfd8Y47rFFnumXhEMKOHVd2Ot3Z2RmX2KIYMWucMFjrQvBkqChGKgdijogwGPQj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MTHR7XfJ87zdbisl0Mmv5pD7LM3baMBEhnQeqmE/ROpg1XuK6q7IkNIhXTjYpVQBQH9c+6usaoxoIAAAIABJREFUNaVSSXVaGogUvIsgDPeV/9eN16Bw7nndcxtbuQ8sIhBFhpmNIRENttQ8Z6mU46WLF0LgdtvlAV85NPLwL5+wNrrx2rclkRgMBjg2qNkl3YR27x0HV4jwbW++bOnSRQLw+BPrtm7faWKDhlzg2773g1qjff11155y8okxuEKMcQxxpHDbEBjSFnuRODKlUrJyxRl51pYQEIADI6AAG2NJLwOgJQIWJahiouGhQQFmwMl6k8hqR5K2FyVxgShCoQ0bNh549eAZp52aNyaufMNqAN68dfvefQf1FNHNXNRSUABBIhYmgRnTh849f5Wg/OKXT6hL/dg0JX0k628+/vhaELjwwgsKxSgEPnp01HvPneSjTvA4AF93w9UIcvDgoQcffAzQIhEQCk0F9JMJIRDS0fHatu07Lzhv1YzhaQZxZGQUiTrHFRENM83SDAC074DQRETBpfNmDX3kA+8mgS//w62vHBxNPQMCAnIISg8TUJIk3oV2lnmWR594ev0LG17/+nMvW30uScugQezYzqZwswGwIGhREiOXXnzu/lf3GhucyzhwYGHxIThm31XIKTz1U0vkNWCKU+eu12hUBAHwwQthpacHphp39ABnzG/oEFdMqUN2fZbDVATVlFu5rY//PM+ROlEPqp5UJrW3t7evr29gYEC96noynJycDN5L4CSOqz3VOIosmZ5Kj26Pdrutpe0KSvSb6Jyr1Wo6YDXGGDIIGBkb2SiOouCDdy5LU5fnA339ZirkUnlijfpXtK1QKYqtjcj53FrDU61F2rxaq9WyNNXpcGDes2dPb2/fpk2bmeHee3/+wAMP7d23//DhI+VyuVqtPv7448aY+fPn33TTTcaY973vveecc06pVEySaPbsWaOjI8PDQ4cPHdq2ZcvWLZtrExOEmLbbw8PT3/ve9y5fvvyWW941NDT01a9+9YwzzvjMZz5z8sknn3baaW+7+q1z5sweHh7q6Sn19vZ475955pl2u10ul4vF1/CQ1n4qda1Q7OwVKyYmJqdPn37o0IHBwcElSxa//PLLa9asOXz48P5XXomiqFBIent79bzX/U7pBFy1la1WK59aAKBHBVVZEFFheF7f4FBPe//0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+o9AtDJPAUGgaE72CSR3iwHv66Z6E8EKmRSfCk50Qg4fbdMSNNcnoIgMoG2ysMhcLLQ0BQAEKJDROQFY7tzi7IBWiEEzFo0A0ADa1n+E0L4WOiP1jKUvyO0UTQDcFCwnkBdREFrmiVN+WqU7LZ098f/pgw9A6yw12ghEbXRCySfRkvwkrlQq7c68OI6tsb7vGWOVUinPj5unHFqySklr4zBsAIBSgsi6rqe1YcWnUkpK1h3ydxprjZQOotDa5nJ5dsb4vpdKpRApikNjtFIqm822AfHmms0YE8fGWkil0sYYXhc4SiKi73pxFAGRjrTVFgmtIUe5LK985plnjh49Ojw8zFKQVCr1/PPPf/3rX1++fPmOHTv27d9/5PDh1atXh2H47LPPzps3MDAwwIrMoaGh06dPV6vVSy655NChI9bSkiVLhBDLlg1zY9PWrVv37//14sWLr9p6ldXGkaojl097KaN1aWZ627a7fvazp+6//8ebNm2anp5xXW+mNO047qpVq13X/dQnPzk0NPToo48eOHDg+PETfX39rus98cSTuVz+2muv/cUvnr766muMsUo5LHz81re+1d/fO2/eQBxHR44eedV11226/LIL1104vHy577qu47jKieMon83F1k7PTLuu67reffffv2DBgkceeeSuu76/e/eejRsvdRzHGM14i/g6tcZ1Xd/3jbVExGoN13H4poPNZYZg5ajrurz2SAgC13GEEMaabC4nhWQgODsZMCYOoygMG406EugoDhuBNSble6LVtsqYlc1S0EK9yU2Dz0+WijJly//E5C5zwO0OUf6bSqWSBLOwCpa1qlzw67purNnWB7GOm8wFEas+OGArUUUzdeo4Dlkiax2pBKBQgscFRBQGgeelwEmde8T//oDUc+7+383NhBUdlE1Q0UFFhzUBtpDPW7IgEAGVRCnRcVxLZImERCWFkk3yrmn6BQjjMAiDpHvHWKONNtZqY6y1xhpLtuVjwZZ+kV+S2vV2bJwnsk2SjLQlLSRKR6BgrSqDYy6UamajGpOgUkaNoj3lsdUdAK23ZiCDPCgXohmYz0nj7Qv3dhsNT6YZmxpjcFY62ZyVn5GjKZCAWuYSKaUDIMgCAuscgPEH90DygDWK4tbA09o22V+sddzqLpetmz60JLNMVAspOEnKtH7qrFD6BG8hYDLRTvL8E/aU7/tJ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8zNYSrlq1apCoZDJZDo7O4UQlWp1wdD8dCodxxG1utPYz+R5HiLwsHV6ero9hiyhltmSxQxWEvXAn0cKHYVaN9N6yfHcWr3W0dHB4IPVhGyO4cpQRFBKBkEjl8tyczozwSxUIARDFNZqUkptDAKEYXh6fDyVSh07fnzk+PE9L+zOF/La6IOHj/zVu/5q165d7373u//jP/6jWCz+5Cc/Wbx48fyhoScee2zl8hVKyr1796VTqb179sRhlMlm165ZOzBnwFgzODiY8lNr166ph42WKhfaCzM5z5iRMQseXNc9ePDg/Pnzf/SjH1133XXZbLZWrfb09vb2969cvWbnzp3r11908ODBK664YmJ8YsWKFbue27VixfIP3fahXCr74b+9rau768SJE1u3bvU8b3h4mFWSTASyWDMMGuxh4hSqxx9//OGHf2qM+e///kKlUnn44Z9cunHThg0bBgcHR0dHozDkGFGwtl6rd3V2RlHEMWH8asymM+Tt6OjI5XKl6VI6nfFcN451FIWZVFqgIGOlo6TjJjMo3gnj4+O+7/Owno8Or/yJiKMD+I8sMEilUlprtvkz+uTgCMdxisUipz0w3mWqlZcr+Xy+UqkwbGUjHSNO5nq5m7fRaECzhyzmo6CU6unpieOY1QLM7zLjy78vywP4YyeFwO0hg5wBnDw7uJ6NW9f4cji3nQOp57bf8nF/acqi7VJdFMflchkQXM8BRLKAktjYRPyQFrNZPG3j9bamSkBAUMox1rQAqOX7iZQch9/M6pdSstLPtMam3KcKBEIKKYSxFlsYgiFIO3fFs6RkFsxPWR1rItKGM7DwFfNcaLVL4bp1G+69/7kVKy947esuB6jt3P78D+/9Wa2hr7rqanHXE/39c99x841BMLN9++4nn9xx948efdMbrxxcct5z+0YuvuQyV5I12pCRqhBEGQuFp7bvfsMN6zlm03PSq1Zf8vOdoydP1h5//NnXvfp8orBQyC1bukqIk9l8XpuKJPBc58J1F+058KjnFwiq6y648LyVe17afUgbackqaSyIaj3adPmlQoAg4ThuNl+05GdyvSjzY+PT//kfX7rmqqv/8IbXSlkGUUMV9w6kr7xqmatLinypPIdOQXhSUk3ZxkWr5ixdiGEoq2W8//6np2fqloyXSnf3z3/y6T2Xbvj1FRv6EOK8n4rChptqWJom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7NsTRdHlpcs2jgsIn/7Mp6WBVymVRFaZSjR54cIF6fO01p47d+4zn/nMCy+8YEy0vLz8yiuvbNo0L9KCRoEjmk7vvaB2a+3c/HxZFN4555wymoy+UvOR3W5X0q86nc6VK1dkRSGjjDRNh8Oh3C1SHCXj+9hGisFp7bxXRFES565EwlGeoVYeKiunsmY0GqVp2iBOoWPlj8qI3znnnYuNLfI8iqJBv68r2bRq1qjj8VgubhRFV65c0VpL0YBUi7VarRCCK8s0ir3zJrZFWY7H4ziO0zQt8nycF51et3QlKFJay6FJx1WWZU12byP3klWW9z5w8G6dSV1nUte3XwAm9fiP1mryUGbMWZmfXzwfJzEQISogQlJTGza0ux0Tx9OzG+NWKwBneT6JQhqEUSNFiSmqptWSycMMoWITV1N/KtqMfzbRVYf3h8baz4zCOYW6qYVxDRkWKoP8JDW7RjyA2MTF41XgCYAD+zocCcQvEkKAGulhbaRqYjubI0FE9h49y4GbyGprtTXSpuPq9sXJUTUjcIO0GlpUTlV1PSam5Fg51esTXmXRMyMAYW3wkr0jhTWPiIAEpCoLFGGAwMACVuujlP6XiqYVwExrRReTKgEAQCJJw697mQDWtj298Yu1x1593Ygv/6URfHXJK+/86m0zeRqveqDY88UMJBb+idsJJoUTtctuFcNic29KMj9ApUglmAiBvTq9Vf5QZQxsiGNARIg7O666pf+fv//7KsCBFCKVzhlrBVJz7esTLTICK6VJ6UZKAcyRtYRISjnvAQGJkFCRiqQiyHtB24iUJLEiRYjWWKHMncR2IiZJInP/OIoUkSJypWvuHpF3S4F7kiZKUQg+SeIkjvM8T5JYYKWrpxkSDESkZe9FTirpBForpYg5VJH+Aay1eV5452xkx+Ox3HLf//73v//977/00ktbt25dWVm5ePHS7/zOb+/du7fVai0sLMRx3O60H/nRo0ffenRh4fWHH37k1CuvzM3OlkWRJMmNN9xwyy23XH/48Lat23bt2kVyroCFfpudnW23O//v175Wer9z507nvTZGG3P6zJmnjx275557tu/Y8dijj910442XL18+evToww8//LFf+ZWVfv+FF15otVr9fn9udm48GjHzysrK3NxcmqYbZ2eNtZ7ZBd9qtaSWPonjJIqcK+UkDwaDptxVa71r1652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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Recursion<span class="_ _4f"> </span>2/2</div><div class="t m0 x30 h10 y24d fff fs7 fcc sc0 ls0 ws0">Via<span class="_ _d"> </span><span class="ffc">Twitter<span class="_ _9"> </span>-<span class="_ _9"> </span>Jan<span class="_ _e"> </span>Wildeboer</span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">60/84</div><a class="l" href="https://twitter.com/jwildeboer/status/1218865157864067077?s=09"><div class="d m1" style="border-style:none;position:absolute;left:75.870000px;bottom:2.418000px;width:110.261000px;height:13.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf42" class="pf w0 h0" data-page-no="42"><div class="pc pc42 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x8 h2 y13b ff1 fs0 fc0 sc0 ls0 ws0">F<span class="_ _7"></span>unctions</div><a class="l" href="#pf42" data-dest-detail='[66,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:158.662500px;bottom:205.878000px;width:110.662000px;height:19.206000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf43" class="pf w0 h0" data-page-no="43"><div class="pc pc43 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIf0lEQVR42u3ZsQkCMRiG4YtcsHQGsXICEWvhVrBwHpdwAwtnECwcwg2srvJMEzsHEIv/5HkmCF+alyQtVpsGAADCuN+uEysAABCNSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA4COVUqwAAEAcOWcvqQAAhCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqSYAAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSTQAAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAA/6Udy0Gfw9Dt9i4MxuVyPhkBgC+kUooVAACII+fsux8AgHBEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAAPBTbX+YWwEAxuKxPRqBv7dcdynNprV/NU2t1SAAAITwBiG5HQIdWk0BAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _3"></span>unction<span class="_ _17"> </span>Call<span class="_ _17"> </span>Cost</div><div class="t m0 x1 hb y187 ff1 fs6 fc0 sc0 ls0 ws0">F<span class="_ _3"></span>unction<span class="_ _8"> </span>call<span class="_ _8"> </span>metho<span class="_ _b"></span>ds:</div><div class="t m0 x3b hb y24e ff1 fs6 fc0 sc0 ls0 ws0">Direct<span class="_ _6"> </span><span class="ff4">F<span class="_ _3"></span>unction<span class="_ _f"> </span>address<span class="_ _c"> </span>is<span class="_ _f"> </span>known<span class="_ _c"> </span>at<span class="_ _c"> </span>compile-time</span></div><div class="t m0 x10 hb y24f ff1 fs6 fc0 sc0 ls0 ws0">Indirect<span class="_ _6"> </span><span class="ff4">F<span class="_ _3"></span>unction<span class="_ _f"> </span>address<span class="_ _c"> </span>is<span class="_ _f"> </span>known<span class="_ _c"> </span>only<span class="_ _c"> </span>at<span class="_ _c"> </span>run-time</span></div><div class="t m0 x9 hb y250 ff1 fs6 fc0 sc0 ls0 ws0">Inline<span class="_ _6"> </span><span class="ff4">The<span class="_ _c"> </span>function<span class="_ _f"> </span>co<span class="_ _b"></span>de<span class="_ _c"> </span>is<span class="_ _f"> </span>fused<span class="_ _c"> </span>in<span class="_ _f"> </span>the<span class="_ _c"> </span>caller<span class="_ _f"> </span>co<span class="_ _b"></span>de</span></div><div class="t m0 x1 hb y251 ff1 fs6 fc0 sc0 ls0 ws0">F<span class="_ _3"></span>unction<span class="_ _8"> </span>call<span class="_ _8"> </span>cost:</div><div class="t m0 xb hb y252 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">The<span class="_ _c"> </span>caller<span class="_ _f"> </span>pushes<span class="_ _c"> </span>the<span class="_ _f"> </span>a<span class="_ _3"></span>rguments<span class="_ _f"> </span>on<span class="_ _c"> </span>the<span class="_ _f"> </span>stack<span class="_ _c"> </span>in<span class="_ _f"> </span>reverse<span class="_ _c"> </span>order</span></div><div class="t m0 xb hb y253 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Jump<span class="_ _c"> </span>to<span class="_ _f"> </span>function<span class="_ _c"> </span>address</span></div><div class="t m0 xb hb y254 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">The<span class="_ _c"> </span>caller<span class="_ _f"> </span>clea<span class="_ _3"></span>rs<span class="_ _f"> </span>(p<span class="_ _b"></span>op)<span class="_ _c"> </span>the<span class="_ _f"> </span>stack</span></div><div class="t m0 xb hb y255 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">The<span class="_ _c"> </span>function<span class="_ _f"> </span>pushes<span class="_ _c"> </span>the<span class="_ _f"> </span>return<span class="_ _c"> </span>value<span class="_ _c"> </span>on<span class="_ _f"> </span>the<span class="_ _c"> </span>stack</span></div><div class="t m0 xb hb y256 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Jump<span class="_ _c"> </span>to<span class="_ _f"> </span>the<span class="_ _c"> </span>caller<span class="_ _f"> </span>address</span></div><div class="t m0 x30 hd y257 ffc fs7 fcc sc0 ls0 ws0">The<span class="_ _9"> </span>True<span class="_ _9"> </span>Cost<span class="_ _e"> </span>of<span class="_ _9"> </span>Calls</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">61/84</div><a class="l" href="https://hbfs.wordpress.com/2008/12/30/the-true-cost-of-calls/"><div class="d m1" style="border-style:none;position:absolute;left:52.083000px;bottom:1.707000px;width:105.554000px;height:13.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf44" class="pf w0 h0" data-page-no="44"><div class="pc pc44 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIsklEQVR42u3ZoU0EURSG0X1kblATaiAoKiAEgSJZi0AgqIcm6GDF1rAJgiLoALUZwXLNIEgQK0hAMHfgHDlq8j/z5b12cnaxAACAMp6fHg+sAABANSIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAIBPLTOtAABAHRHhJhUAgHJEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAItUEAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQD4JzoTADCtYRjm8qt93zsv+B1uUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgDAtFpmWgEAgDoiwk0qAADliFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAIBv6Obyo6+73fL2zoHBvGzWKyMA8AMtM60AAEAdEeG5HwCAckQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAPhaZwJgEpfXN3tfNuuVWQD40DLTCgAA1BERnvsBAChHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgDAnm57f2wFAPgzXq4ejMDcnZ4vWzs6HLdvi8U4jgYBAKCEd9v2KP7kfWNuAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Argument<span class="_ _17"> </span>P<span class="_ _3"></span>assing<span class="_ _50"> </span>1/3</div><div class="t m0 x47 hb yb1 ff1 fs6 fc0 sc0 ls0 ws0">pass<span class="_ _f"> </span>by-value<span class="_ _6"> </span><span class="ff4">Small<span class="_ _c"> </span>data<span class="_ _c"> </span>types<span class="_ _f"> </span>(<span class="ff10">≤<span class="_ _c"> </span></span>8/16<span class="_ _f"> </span>b<span class="_ _3"></span>ytes)</span></div><div class="t m0 x48 hb yb2 ff4 fs6 fc0 sc0 ls0 ws0">The<span class="_ _c"> </span>data<span class="_ _c"> </span>are<span class="_ _c"> </span>copied<span class="_ _c"> </span>into<span class="_ _f"> </span>registers,<span class="_ _c"> </span>instead<span class="_ _f"> </span>of<span class="_ _c"> </span>stack</div><div class="t m0 x48 hb y258 ff4 fs6 fc0 sc0 ls0 ws0">It<span class="_ _c"> </span>avoids<span class="_ _c"> </span>aliasing<span class="_ _f"> </span>p<span class="_ _b"></span>erformance<span class="_ _c"> </span>issues</div><div class="t m0 xb hb y259 ff1 fs6 fc0 sc0 ls0 ws0">pass<span class="_ _f"> </span>by-pointer<span class="_ _15"> </span><span class="ff4">Intro<span class="_ _b"></span>duces<span class="_ _c"> </span>one<span class="_ _f"> </span>level<span class="_ _c"> </span>of<span class="_ _f"> </span>indirection</span></div><div class="t m0 x48 hb y25a ff4 fs6 fc0 sc0 ls0 ws0">They<span class="_ _c"> </span>should<span class="_ _c"> </span>b<span class="_ _0"></span>e<span class="_ _c"> </span>used<span class="_ _c"> </span>only<span class="_ _c"> </span>for<span class="_ _c"> </span>ra<span class="_ _3"></span>w<span class="_ _f"> </span>p<span class="_ _b"></span>ointers<span class="_ _c"> </span>(p<span class="_ _b"></span>otentially<span class="_ _f"> </span><span class="ff7">NULL</span>)</div><div class="t m0 x49 hb y25b ff1 fs6 fc0 sc0 ls0 ws0">pass<span class="_ _f"> </span>by-reference<span class="_ _6"> </span><span class="ffa">Ma<span class="_ _3"></span>y<span class="_ _c"> </span>not<span class="_ _9"> </span><span class="ff4">intro<span class="_ _b"></span>duce<span class="_ _f"> </span>one<span class="_ _c"> </span>level<span class="_ _c"> </span>of<span class="_ _f"> </span>indirection<span class="_ _c"> </span>if<span class="_ _f"> </span>related<span class="_ _c"> </span>in<span class="_ _f"> </span>the<span class="_ _c"> </span>same</span></span></div><div class="t m0 x48 hb y25c ff4 fs6 fc0 sc0 ls0 ws0">translation<span class="_ _c"> </span>unit/L<span class="_ _7"></span>TO</div><div class="t m0 x48 hb y25d ff7 fs6 fc0 sc0 ls0 ws0">pass-by-reference<span class="_ _c"> </span><span class="ff4">is<span class="_ _c"> </span>more<span class="_ _c"> </span>efficient<span class="_ _c"> </span>than<span class="_ _f"> </span></span>pass-by-pointer<span class="_ _c"> </span><span class="ff4">as</span></div><div class="t m0 x48 hb y25e ff4 fs6 fc0 sc0 ls0 ws0">it<span class="_ _c"> </span>facilitates<span class="_ _c"> </span>variable<span class="_ _c"> </span>elimination<span class="_ _c"> </span>by<span class="_ _c"> </span>the<span class="_ _c"> </span>compiler,<span class="_ _f"> </span>and<span class="_ _c"> </span>the<span class="_ _c"> </span>function</div><div class="t m0 x48 hb y25f ff4 fs6 fc0 sc0 ls0 ws0">co<span class="_ _b"></span>de<span class="_ _c"> </span>do<span class="_ _b"></span>es<span class="_ _f"> </span>not<span class="_ _c"> </span>require<span class="_ _f"> </span>checking<span class="_ _c"> </span>for<span class="_ _11"> </span><span class="ff7">NULL<span class="_ _10"> </span></span>p<span class="_ _b"></span>ointer</div><div class="t m0 x30 hd y260 ffc fs7 fcc sc0 ls0 ws0">Three<span class="_ _9"> </span>reasons<span class="_ _9"> </span>to<span class="_ _e"> </span>pass<span class="_ _9"> </span>std::string<span class="_ _c"> </span>view<span class="_ _9"> </span>by<span class="_ _9"> </span>value</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">62/84</div><a class="l" href="https://quuxplusone.github.io/blog/2021/11/09/pass-string-view-by-value/"><div class="d m1" style="border-style:none;position:absolute;left:52.083000px;bottom:2.535000px;width:221.920000px;height:13.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf45" class="pf w0 h0" data-page-no="45"><div class="pc pc45 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Argument<span class="_ _17"> </span>P<span class="_ _3"></span>assing<span class="_ _17"> </span>-<span class="_ _9"> </span>A<span class="_ _3"></span>ctive<span class="_ _17"> </span>Objects<span class="_ _51"> </span>2/3</div><div class="t m0 x1 hb y261 ff4 fs6 fc0 sc0 ls0 ws0">F<span class="_ _3"></span>or<span class="_ _c"> </span><span class="ffa">active<span class="_ _8"> </span></span>objects<span class="_ _f"> </span>with<span class="_ _c"> </span>non-trivial<span class="_ _f"> </span>cop<span class="_ _3"></span>y<span class="_ _f"> </span>constructor<span class="_ _c"> </span>o<span class="_ _3"></span>r<span class="_ _c"> </span>destructor:</div><div class="t m0 x4a hb y262 ff1 fs6 fc0 sc0 ls0 ws0">b<span class="_ _3"></span>y-value<span class="_ _6"> </span><span class="ff4">Could<span class="_ _f"> </span>b<span class="_ _b"></span>e<span class="_ _c"> </span>very<span class="_ _f"> </span>exp<span class="_ _b"></span>ensive,<span class="_ _c"> </span>and<span class="_ _f"> </span>hard<span class="_ _c"> </span>to<span class="_ _c"> </span>optimize</span></div><div class="t m0 x4b hb y263 ff1 fs6 fc0 sc0 ls0 ws0">b<span class="_ _3"></span>y-p<span class="_ _b"></span>ointer/reference<span class="_ _6"> </span><span class="ff4">Prefer<span class="_ _f"> </span>pass-by-<span class="_"> </span><span class="ff7">const<span class="_ _d"> </span></span>-p<span class="_ _b"></span>ointer/reference</span></div><div class="t m0 x4c hb y264 ff7 fs6 fc0 sc0 ls0 ws0">const<span class="_ _10"> </span><span class="ff4">function<span class="_ _c"> </span>memb<span class="_ _b"></span>er<span class="_ _c"> </span>overloading<span class="_ _f"> </span>can<span class="_ _c"> </span>also<span class="_ _f"> </span>b<span class="_ _b"></span>e<span class="_ _c"> </span>cheap<span class="_ _0"></span>er</span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">63/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf46" class="pf w0 h0" data-page-no="46"><div class="pc pc46 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIeUlEQVR42u3ZsQkCMRiG4UQuWDqDWN0EImJhceBmLuEuFlq4gY0bWF1pmlgITiDcLzzPBOFL85Lk1XqbAAAgjMftOrMCAADRiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAL5yrdUKAADEUUrxkgoAQDgiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAMKXOBPAr/W4f+Xj3y9kdAfAvcq3VCgAAxFFK8d0PAEA4IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJFqAgAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAItUEAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAIrhuPSysAAB/P4WQEJtdvDjkv5m18pdRaMwgAACG8ATLEGgL8EqgRAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Argument<span class="_ _17"> </span>P<span class="_ _3"></span>assing<span class="_ _17"> </span>-<span class="_ _9"> </span>P<span class="_ _3"></span>assive<span class="_ _17"> </span>Objects<span class="_ _52"> </span>3/3</div><div class="t m0 x1 hb y77 ff4 fs6 fc0 sc0 ls0 ws0">F<span class="_ _3"></span>or<span class="_ _c"> </span><span class="ffa">passive<span class="_ _8"> </span></span>objects<span class="_ _f"> </span>with<span class="_ _c"> </span>trivial<span class="_ _f"> </span>cop<span class="_ _3"></span>y<span class="_ _f"> </span>constructor<span class="_ _c"> </span><span class="ffa">and<span class="_ _17"> </span></span>destructor:</div><div class="t m0 x4d hb y265 ff1 fs6 fc0 sc0 ls0 ws0">b<span class="_ _3"></span>y-value/by-reference<span class="_ _6"> </span><span class="ff4">Most<span class="_ _c"> </span>compilers<span class="_ _c"> </span>optimize<span class="_ _c"> </span></span>pass<span class="_ _8"> </span>by-value<span class="_ _c"> </span><span class="ff4">with<span class="_ _c"> </span></span>pass<span class="_ _8"> </span>b<span class="_ _3"></span>y-reference</div><div class="t m0 x32 hb y266 ff4 fs6 fc0 sc0 ls0 ws0">and<span class="_ _c"> </span><span class="ff1">the<span class="_ _8"> </span>opp<span class="_ _b"></span>osite<span class="_ _8"> </span>case<span class="_ _c"> </span></span>for<span class="_ _c"> </span><span class="ffa">passive<span class="_ _8"> </span></span>data<span class="_ _f"> </span>structures<span class="_ _c"> </span>if<span class="_ _f"> </span>related<span class="_ _c"> </span>to</div><div class="t m0 x32 hb y267 ff4 fs6 fc0 sc0 ls0 ws0">the<span class="_ _c"> </span>same<span class="_ _c"> </span>translation<span class="_ _f"> </span>unit/L<span class="_ _7"></span>TO</div><div class="t m0 x6 hb y268 ff1 fs6 fc0 sc0 ls0 ws0">b<span class="_ _3"></span>y-const-value<span class="_ _6"> </span><span class="ff4">Alwa<span class="_ _3"></span>ys<span class="_ _c"> </span>produce<span class="_ _f"> </span>the<span class="_ _c"> </span>optimal<span class="_ _f"> </span>co<span class="_ _b"></span>de<span class="_ _c"> </span>if<span class="_ _f"> </span>applied<span class="_ _c"> </span>in<span class="_ _f"> </span>the<span class="_ _c"> </span>same</span></div><div class="t m0 x32 hb y269 ff4 fs6 fc0 sc0 ls0 ws0">translation<span class="_ _c"> </span>unit/L<span class="_ _7"></span>TO.<span class="_ _f"> </span>It<span class="_ _c"> </span>is<span class="_ _f"> </span>converted<span class="_ _c"> </span>to<span class="_ _f"> </span><span class="ff7">pass-by-const<span class="_ _15"> </span>ref<span class="_ _c"> </span></span>if</div><div class="t m0 x32 hb y26a ff4 fs6 fc0 sc0 ls0 ws0">needed</div><div class="t m0 x32 hb y26b ff4 fs6 fc0 sc0 ls0 ws0">In<span class="_ _c"> </span>general,<span class="_ _c"> </span>it<span class="_ _f"> </span>should<span class="_ _c"> </span>b<span class="_ _0"></span>e<span class="_ _c"> </span>avoided<span class="_ _c"> </span>fo<span class="_ _3"></span>r<span class="_ _f"> </span>as<span class="_ _c"> </span>it<span class="_ _f"> </span>do<span class="_ _b"></span>es<span class="_ _c"> </span>not<span class="_ _f"> </span>change<span class="_ _c"> </span>the</div><div class="t m0 x32 hb y26c ff4 fs6 fc0 sc0 ls0 ws0">function<span class="_ _c"> </span>signature</div><div class="t m0 x4a hb y26d ff1 fs6 fc0 sc0 ls0 ws0">b<span class="_ _3"></span>y-value<span class="_ _6"> </span><span class="ff4">Do<span class="_ _b"></span>esnt<span class="_ _f"> </span>alwa<span class="_ _3"></span>ys<span class="_ _c"> </span>produce<span class="_ _c"> </span>the<span class="_ _f"> </span>optimal<span class="_ _c"> </span>co<span class="_ _b"></span>de<span class="_ _f"> </span>for<span class="_ _c"> </span>la<span class="_ _3"></span>rge<span class="_ _c"> </span>data</span></div><div class="t m0 x32 hb y26e ff4 fs6 fc0 sc0 ls0 ws0">structures</div><div class="t m0 x4e hb y26f ff1 fs6 fc0 sc0 ls0 ws0">b<span class="_ _3"></span>y-reference<span class="_ _6"> </span><span class="ff4">Could<span class="_ _f"> </span>intro<span class="_ _b"></span>duce<span class="_ _c"> </span>a<span class="_ _f"> </span>level<span class="_ _c"> </span>of<span class="_ _f"> </span>indirection</span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">64/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf47" class="pf w0 h0" data-page-no="47"><div class="pc pc47 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _3"></span>unction<span class="_ _17"> </span>Optimizations</div><div class="t m0 xb hb yb1 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ffa">Keep<span class="_ _c"> </span>small<span class="_ _f"> </span>the<span class="_ _c"> </span>numb<span class="_ _b"></span>er<span class="_ _f"> </span>of<span class="_ _c"> </span>function<span class="_ _f"> </span>pa<span class="_ _3"></span>rameters<span class="ff4">.<span class="_ _e"> </span>The<span class="_ _c"> </span>parameters<span class="_ _c"> </span>can<span class="_ _c"> </span>b<span class="_ _b"></span>e<span class="_ _f"> </span>passed<span class="_ _c"> </span>by</span></span></div><div class="t m0 x6 hb yb2 ff4 fs6 fc0 sc0 ls0 ws0">using<span class="_ _c"> </span>the<span class="_ _c"> </span>registers<span class="_ _f"> </span>instead<span class="_ _c"> </span>filling<span class="_ _f"> </span>and<span class="_ _c"> </span>emptying<span class="_ _c"> </span>the<span class="_ _c"> </span>stack</div><div class="t m0 xb hb y270 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Consider<span class="_ _c"> </span><span class="ffa">combining<span class="_ _f"> </span>several<span class="_ _c"> </span>function<span class="_ _f"> </span>pa<span class="_ _3"></span>rameters<span class="_ _9"> </span><span class="ff4">in<span class="_ _c"> </span>a<span class="_ _f"> </span>structure</span></span></span></div><div class="t m0 xb hb y259 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _14"> </span><span class="ff5">const<span class="_ _10"> </span><span class="ff4">mo<span class="_ _b"></span>difier<span class="_ _c"> </span>applied<span class="_ _c"> </span>to<span class="_ _f"> </span>p<span class="_ _b"></span>ointers<span class="_ _f"> </span>and<span class="_ _c"> </span>references<span class="_ _c"> </span><span class="ffa">do<span class="_ _0"></span>es<span class="_ _c"> </span>not<span class="_ _c"> </span>p<span class="_ _3"></span>ro<span class="_ _b"></span>duce<span class="_ _f"> </span>b<span class="_ _b"></span>etter<span class="_ _c"> </span>co<span class="_ _0"></span>de</span></span></span></div><div class="t m0 x6 hb y25a ff4 fs6 fc0 sc0 ls0 ws0">in<span class="_ _c"> </span>most<span class="_ _c"> </span>cases,<span class="_ _f"> </span>but<span class="_ _c"> </span>it<span class="_ _f"> </span>is<span class="_ _c"> </span>useful<span class="_ _f"> </span>for<span class="_ _c"> </span>ensuring<span class="_ _c"> </span>read-only<span class="_ _c"> </span>accesses</div><div class="t m0 x1 hb y271 ff4 fs6 fc0 sc0 ls0 ws0">Some<span class="_ _c"> </span>compilers<span class="_ _c"> </span>provide<span class="_ _c"> </span>additional<span class="_ _c"> </span>attributes<span class="_ _f"> </span>to<span class="_ _c"> </span>optimize<span class="_ _f"> </span>function<span class="_ _c"> </span>calls</div><div class="t m0 xb hb y272 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _53"> </span><span class="ff7">attribute<span class="_ _a"> </span>(pure)<span class="_ _10"> </span><span class="ff4">attribute<span class="_ _c"> </span>(Clang,<span class="_ _f"> </span>GCC)<span class="_ _c"> </span>sp<span class="_ _0"></span>ecifies<span class="_ _c"> </span>that<span class="_ _c"> </span>a<span class="_ _c"> </span>function<span class="_ _c"> </span>has<span class="_ _f"> </span>no</span></span></div><div class="t m0 x6 hb y273 ff4 fs6 fc0 sc0 ls0 ws0">side<span class="_ _c"> </span>effects<span class="_ _c"> </span>on<span class="_ _f"> </span>its<span class="_ _c"> </span>parameters<span class="_ _c"> </span>o<span class="_ _3"></span>r<span class="_ _f"> </span>program<span class="_ _c"> </span>state<span class="_ _c"> </span>(external<span class="_ _c"> </span>global<span class="_ _f"> </span>references)</div><div class="t m0 xb hb y274 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _53"> </span><span class="ff7">attribute<span class="_ _a"> </span>(const)<span class="_ _10"> </span><span class="ff4">attribute<span class="_ _c"> </span>(Clang,<span class="_ _f"> </span>GCC)<span class="_ _c"> </span>sp<span class="_ _0"></span>ecifies<span class="_ _c"> </span>that<span class="_ _c"> </span>a<span class="_ _c"> </span>function<span class="_ _c"> </span>do<span class="_ _0"></span>esnt</span></span></div><div class="t m0 x6 hb y275 ff4 fs6 fc0 sc0 ls0 ws0">dep<span class="_ _b"></span>end<span class="_ _c"> </span>(read)<span class="_ _f"> </span>on<span class="_ _c"> </span>external<span class="_ _f"> </span>global<span class="_ _c"> </span>references</div><div class="t m0 x30 hd y276 ffc fs7 fcc sc0 ls0 ws0">GoTW#81:<span class="_ _20"> </span>Constant<span class="_ _17"> </span>Optimization?</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">65/84</div><a class="l" href="http://www.gotw.ca/gotw/081.htm"><div class="d m1" style="border-style:none;position:absolute;left:52.083000px;bottom:0.013500px;width:152.628000px;height:13.444000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf48" class="pf w0 h0" data-page-no="48"><div class="pc pc48 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">inline<span class="_ _17"> </span><span class="ff1">F<span class="_ _3"></span>unction<span class="_ _17"> </span>Declaration<span class="_ _54"> </span>1/2</span></div><div class="t m0 xd hb y277 ff1 fs6 fc1 sc0 ls0 ws0">inline</div><div class="t m0 x5 hb y278 ff7 fs6 fc7 sc0 ls0 ws0">inline<span class="_ _10"> </span><span class="ff4 fc0">sp<span class="_ _b"></span>ecifier<span class="_ _c"> </span>for<span class="_ _c"> </span>optimization<span class="_ _c"> </span>purp<span class="_ _b"></span>oses<span class="_ _c"> </span>is<span class="_ _f"> </span>just<span class="_ _c"> </span>a<span class="_ _f"> </span>hint<span class="_ _c"> </span>for<span class="_ _c"> </span>the<span class="_ _c"> </span>compiler<span class="_ _f"> </span>that</span></div><div class="t m0 xd hb y279 ff4 fs6 fc0 sc0 ls0 ws0">increases<span class="_ _c"> </span>the<span class="_ _c"> </span>heuristic<span class="_ _f"> </span>threshold<span class="_ _c"> </span>for<span class="_ _c"> </span><span class="ff1">inlining</span>,<span class="_ _f"> </span>namely<span class="_ _c"> </span>copying<span class="_ _c"> </span>the<span class="_ _c"> </span>function<span class="_ _c"> </span>b<span class="_ _0"></span>ody</div><div class="t m0 xd hb y27a ff4 fs6 fc0 sc0 ls0 ws0">where<span class="_ _c"> </span>it<span class="_ _c"> </span>is<span class="_ _f"> </span>called</div><div class="t m0 xd hc y27b ff5 fs4 fc9 sc0 ls0 ws0">inline<span class="_ _e"> </span><span class="fc6">void<span class="_ _6"> </span><span class="ff7 fc7">f<span class="fc0">()<span class="_ _6"> </span>{<span class="_ _e"> </span>...<span class="_ _6"> </span>}</span></span></span></div><div class="t m0 xb hb y27c ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">the<span class="_ _c"> </span>compiler<span class="_ _f"> </span>can<span class="_ _c"> </span>ignore<span class="_ _c"> </span>the<span class="_ _c"> </span>hint</span></div><div class="t m0 xb hb y27d ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ffa">inlined<span class="_ _9"> </span><span class="ff4">functions<span class="_ _c"> </span>increase<span class="_ _f"> </span>the<span class="_ _c"> </span>binary<span class="_ _c"> </span>size<span class="_ _c"> </span>b<span class="_ _b"></span>ecause<span class="_ _f"> </span>they<span class="_ _c"> </span>are<span class="_ _c"> </span>expanded<span class="_ _c"> </span>in-place<span class="_ _c"> </span>for</span></span></div><div class="t m0 x6 hb y27e ff4 fs6 fc0 sc0 ls0 ws0">every<span class="_ _c"> </span>function<span class="_ _c"> </span>call</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">66/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf49" class="pf w0 h0" data-page-no="49"><div class="pc pc49 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">inline<span class="_ _17"> </span><span class="ff1">F<span class="_ _3"></span>unction<span class="_ _17"> </span>Declaration<span class="_ _54"> </span>2/2</span></div><div class="t m0 x1 hb y172 ff1 fs6 fc0 sc0 ls0 ws0">Compilers<span class="_ _f"> </span>have<span class="_ _8"> </span>different<span class="_ _8"> </span>heuristics<span class="_ _8"> </span>fo<span class="_ _3"></span>r<span class="_ _8"> </span>function<span class="_ _8"> </span>inlining</div><div class="t m0 xb hb y27f ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Numb<span class="_ _b"></span>er<span class="_ _c"> </span>of<span class="_ _f"> </span>lines<span class="_ _c"> </span>(even<span class="_ _f"> </span>comments:<span class="_ _e"> </span><span class="ff7">How<span class="_ _6"> </span>new-lines<span class="_ _15"> </span>affect<span class="_ _15"> </span>the<span class="_ _15"> </span>Linux<span class="_ _15"> </span>kernel</span></span></div><div class="t m0 x6 hb y280 ff7 fs6 fc0 sc0 ls0 ws0">performance<span class="ff4">)</span></div><div class="t m0 xb hb y281 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Numb<span class="_ _b"></span>er<span class="_ _c"> </span>of<span class="_ _f"> </span>assembly<span class="_ _c"> </span>instructions</span></div><div class="t m0 xb hb y282 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Inlining<span class="_ _c"> </span>depth<span class="_ _f"> </span>(recursive)</span></div><div class="t m0 x1 hb y283 ff4 fs6 fc0 sc0 ls0 ws0">GCC/Clang<span class="_ _c"> </span>extensions<span class="_ _c"> </span>allow<span class="_ _c"> </span>to<span class="_ _c"> </span><span class="ffa">force<span class="_ _8"> </span></span>inline/non-inline<span class="_ _c"> </span>functions:</div><div class="t m0 x3d hd y284 ffc fs7 fc7 sc0 ls0 ws0">attribute<span class="_ _10"> </span><span class="fc0">((always_inline))<span class="_ _9"> </span><span class="ff5 fc6">void<span class="_ _e"> </span></span>f()<span class="_ _9"> </span>{<span class="_ _9"> </span>...<span class="_ _e"> </span>}</span></div><div class="t m0 x3d hd y285 ffc fs7 fc7 sc0 ls0 ws0">attribute<span class="_ _10"> </span><span class="fc0">((noinline))<span class="_ _36"> </span><span class="ff5 fc6">void<span class="_ _9"> </span></span>f()<span class="_ _9"> </span>{<span class="_ _e"> </span>...<span class="_ _9"> </span>}</span></div><div class="t m0 x2f h10 y286 ff1c fs7 fcc sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ffc">An<span class="_ _9"> </span>Inline<span class="_ _e"> </span>Function<span class="_ _17"> </span>is<span class="_ _e"> </span>As<span class="_ _9"> </span>Fast<span class="_ _9"> </span>As<span class="_ _e"> </span>a<span class="_ _9"> </span>Macro</span></div><div class="t m0 x2f h10 y287 ff1c fs7 fcc sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ffc">Inlining<span class="_ _9"> </span>Decisions<span class="_ _e"> </span>in<span class="_ _17"> </span>Visual<span class="_ _e"> </span>Studio</span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">67/84</div><a class="l" href="https://nadav.amit.zone/linux/2018/10/10/newline.html"><div class="d m1" style="border-style:none;position:absolute;left:311.479500px;bottom:257.931000px;width:218.540000px;height:12.901000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://nadav.amit.zone/linux/2018/10/10/newline.html"><div class="d m1" style="border-style:none;position:absolute;left:73.752000px;bottom:234.558000px;width:64.993000px;height:12.902000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://gcc.gnu.org/onlinedocs/gcc/Inline.html"><div class="d m1" style="border-style:none;position:absolute;left:73.752000px;bottom:29.913000px;width:190.286000px;height:7.372000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://devblogs.microsoft.com/cppblog/inlining-decisions-in-visual-studio/"><div class="d m1" style="border-style:none;position:absolute;left:73.752000px;bottom:5.031000px;width:166.750000px;height:9.365000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf4a" class="pf w0 h0" data-page-no="4a"><div class="pc pc4a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAId0lEQVR42u3ZoQ0CQRCG0VtyGyQ1EBQaQQiaC6ExmqAXBAg6wNAB6gwX1izuBBoxJO+V8KsvM2mx3jYAABDG43adWAEAgGhEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAo1RKsQIAAHHknF1SAQAIR6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA4FtrAoDIXsOw6g52+JX75WwE+AuplGIFAADiyDl79wMAEI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApJoAAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAMCo7Y9zKwAAQTx3JyOw3OxTmk1r/26aWqtBAAAI4QPeBh0C8EfCvAAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Inlining<span class="_ _17"> </span>and<span class="_ _17"> </span>Linkage</div><div class="t m0 x1 hb y288 ff4 fs6 fc0 sc0 ls0 ws0">The<span class="_ _c"> </span>compiler<span class="_ _c"> </span>can<span class="_ _f"> </span><span class="ffa">inline<span class="_ _17"> </span></span>a<span class="_ _c"> </span>function<span class="_ _f"> </span>only<span class="_ _c"> </span>if<span class="_ _c"> </span>it<span class="_ _f"> </span>is<span class="_ _c"> </span>indep<span class="_ _0"></span>endent<span class="_ _c"> </span>from<span class="_ _c"> </span>external<span class="_ _c"> </span>references</div><div class="t m0 xb hb y289 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">A<span class="_ _c"> </span>function<span class="_ _f"> </span>with<span class="_ _c"> </span><span class="ffa">internal<span class="_ _f"> </span>linkage<span class="_ _8"> </span></span>is<span class="_ _f"> </span>not<span class="_ _c"> </span>visible<span class="_ _f"> </span>outside<span class="_ _c"> </span>the<span class="_ _f"> </span>current<span class="_ _c"> </span>translation<span class="_ _f"> </span>unit,</span></div><div class="t m0 x6 hb y28a ff4 fs6 fc0 sc0 ls0 ws0">so<span class="_ _c"> </span>it<span class="_ _c"> </span>can<span class="_ _f"> </span>b<span class="_ _b"></span>e<span class="_ _f"> </span>aggressively<span class="_ _c"> </span><span class="ffa">inlined</span></div><div class="t m0 xb hb y28b ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">On<span class="_ _c"> </span>the<span class="_ _f"> </span>other<span class="_ _c"> </span>hand,<span class="_ _f"> </span><span class="ffa">external<span class="_ _c"> </span>linkage<span class="_ _17"> </span></span>do<span class="_ _b"></span>esnt<span class="_ _c"> </span>prevent<span class="_ _c"> </span>function<span class="_ _c"> </span>inlining<span class="_ _c"> </span>if<span class="_ _f"> </span>the</span></div><div class="t m0 x6 hb y28c ff4 fs6 fc0 sc0 ls0 ws0">function<span class="_ _c"> </span>b<span class="_ _b"></span>o<span class="_ _b"></span>dy<span class="_ _f"> </span>is<span class="_ _c"> </span>visibility<span class="_ _c"> </span>in<span class="_ _c"> </span>a<span class="_ _c"> </span>translation<span class="_ _f"> </span>unit.<span class="_ _e"> </span>In<span class="_ _c"> </span>this<span class="_ _c"> </span>situation,<span class="_ _f"> </span>the<span class="_ _c"> </span>compiler<span class="_ _f"> </span>can</div><div class="t m0 x6 hb y28d ff4 fs6 fc0 sc0 ls0 ws0">duplicate<span class="_ _c"> </span>the<span class="_ _c"> </span>function<span class="_ _f"> </span>co<span class="_ _b"></span>de<span class="_ _f"> </span>if<span class="_ _c"> </span>it<span class="_ _c"> </span>determines<span class="_ _f"> </span>that<span class="_ _c"> </span>there<span class="_ _f"> </span>are<span class="_ _c"> </span>no<span class="_ _c"> </span>external<span class="_ _c"> </span>references</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">68/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf4b" class="pf w0 h0" data-page-no="4b"><div class="pc pc4b w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Symb<span class="_ _b"></span>ol<span class="_ _17"> </span>Visibility</div><div class="t m0 x1 hb y1c6 ff4 fs6 fc0 sc0 ls0 ws0">All<span class="_ _c"> </span>compilers,<span class="_ _c"> </span>except<span class="_ _f"> </span>MSVC,<span class="_ _c"> </span>export<span class="_ _c"> </span>all<span class="_ _c"> </span>function<span class="_ _f"> </span>symb<span class="_ _b"></span>ols<span class="_ _c"> </span><span class="ff10">→<span class="_ _f"> </span></span>slo<span class="_ _3"></span>w,<span class="_ _f"> </span>the<span class="_ _c"> </span>symb<span class="_ _b"></span>ols<span class="_ _f"> </span>can<span class="_ _c"> </span>b<span class="_ _0"></span>e</div><div class="t m0 x1 hb y28e ff4 fs6 fc0 sc0 ls0 ws0">used<span class="_ _c"> </span>in<span class="_ _c"> </span>other<span class="_ _f"> </span>translation<span class="_ _c"> </span>units</div><div class="t m0 x1 hb y28f ff4 fs6 fc0 sc0 ls0 ws0">Alternatives:</div><div class="t m0 xb hb y290 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Use<span class="_ _10"> </span><span class="ff7">static<span class="_ _10"> </span></span>functions</span></div><div class="t m0 xb hb y291 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Use<span class="_ _10"> </span><span class="ff7">anonymous<span class="_ _15"> </span>namespace<span class="_ _10"> </span></span>(functions<span class="_ _c"> </span>and<span class="_ _c"> </span>classes)</span></div><div class="t m0 xb hb y292 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Use<span class="_ _c"> </span>GNU<span class="_ _f"> </span>extension<span class="_ _c"> </span>(also<span class="_ _f"> </span><span class="ff7">clang</span>)<span class="_ _39"> </span><span class="ff7">attribute<span class="_ _a"> </span>((visibility(&quot;hidden&quot;)))</span></span></div><div class="t m0 x30 hd y293 ffc fs7 fcc sc0 ls0 ws0">gcc.gnu.org/wiki/Visibility</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">69/84</div><a class="l" href="https://gcc.gnu.org/wiki/Visibility"><div class="d m1" style="border-style:none;position:absolute;left:52.083000px;bottom:5.193000px;width:129.091000px;height:13.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf4c" class="pf w0 h0" data-page-no="4c"><div class="pc pc4c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">P<span class="_ _3"></span>ointers<span class="_ _17"> </span>Aliasing<span class="_ _55"> </span>1/4</div><div class="t m0 x1 hb y294 ff4 fs6 fc0 sc0 ls0 ws0">Consider<span class="_ _c"> </span>the<span class="_ _c"> </span>following<span class="_ _c"> </span>example:</div><div class="t m0 xd hd y295 ffb fs7 fc5 sc0 ls0 ws0">//<span class="_ _9"> </span>suppose<span class="_ _9"> </span>f()<span class="_ _e"> </span>is<span class="_ _9"> </span>not<span class="_ _9"> </span>inline</div><div class="t m0 xd hd y296 ff5 fs7 fc6 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc7">f<span class="fc0">(</span></span>int<span class="ffc fc8">*<span class="_ _9"> </span><span class="fc0">input,<span class="_ _e"> </span></span></span>int<span class="_ _9"> </span><span class="ffc fc0">size,<span class="_ _9"> </span></span>int<span class="ffc fc8">*<span class="_ _e"> </span><span class="fc0">output)<span class="_ _9"> </span>{</span></span></div><div class="t m0 x6 hd y297 ff5 fs7 fc9 sc0 ls0 ws0">for<span class="_ _9"> </span><span class="ffc fc0">(</span><span class="fc6">int<span class="_ _9"> </span><span class="ffc fc0">i<span class="_ _e"> </span><span class="fc8">=<span class="_ _9"> </span>0</span>;<span class="_ _9"> </span>i<span class="_ _e"> </span><span class="fc8">&lt;<span class="_ _9"> </span></span>size;<span class="_ _9"> </span>i<span class="fc8">++</span>)</span></span></div><div class="t m0 x16 hd y298 ffc fs7 fc0 sc0 ls0 ws0">output[i]<span class="_ _9"> </span><span class="fc8">=<span class="_ _9"> </span></span>input[i];</div><div class="t m0 xd hd y299 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xb hb y29a ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">The<span class="_ _c"> </span>compiler<span class="_ _f"> </span>cannot<span class="_ _c"> </span><span class="ffa">unroll<span class="_ _9"> </span></span>the<span class="_ _f"> </span>lo<span class="_ _b"></span>op<span class="_ _c"> </span>(sequential<span class="_ _f"> </span>execution,<span class="_ _c"> </span>no<span class="_ _f"> </span>ILP)<span class="_ _c"> </span>b<span class="_ _b"></span>ecause</span></div><div class="t m0 xc hb y29b ff7 fs6 fc0 sc0 ls0 ws0">output<span class="_ _10"> </span><span class="ff4">and<span class="_ _10"> </span></span>input<span class="_ _10"> </span><span class="ff4">pointers<span class="_ _f"> </span>can<span class="_ _c"> </span>b<span class="_ _b"></span>e<span class="_ _f"> </span><span class="ff1">aliased</span>,<span class="_ _c"> </span>e.g.<span class="_ _4"> </span></span>output<span class="_ _15"> </span>=<span class="_ _15"> </span>input<span class="_ _15"> </span>+<span class="_ _15"> </span>1</div><div class="t m0 xb hb y29c ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">The<span class="_ _c"> </span>aliasing<span class="_ _c"> </span>problem<span class="_ _c"> </span>is<span class="_ _c"> </span>even<span class="_ _c"> </span>wo<span class="_ _3"></span>rse<span class="_ _c"> </span>for<span class="_ _d"> </span>more<span class="_ _c"> </span>complex<span class="_ _c"> </span>co<span class="_ _b"></span>de<span class="_ _c"> </span>and<span class="_ _c"> </span><span class="ffa">inhibits<span class="_ _f"> </span>all<span class="_ _c"> </span>kinds<span class="_ _c"> </span>of</span></span></div><div class="t m0 x6 hb y29d ffa fs6 fc0 sc0 ls0 ws0">optimization<span class="_ _f"> </span><span class="ff4">including<span class="_ _c"> </span>co<span class="_ _b"></span>de<span class="_ _f"> </span>re-ordering,<span class="_ _c"> </span>vecto<span class="_ _3"></span>rization,<span class="_ _c"> </span>common<span class="_ _f"> </span>sub-exp<span class="_ _3"></span>ression</span></div><div class="t m0 x6 hb y29e ff4 fs6 fc0 sc0 ls0 ws0">elimination,<span class="_ _c"> </span>etc.</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">70/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf4d" class="pf w0 h0" data-page-no="4d"><div class="pc pc4d w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIw0lEQVR42u3bMUrEQBSA4YxksBoWttluQaw8gSzWgjfzEh7HwkN4A8nCMmzhsBC7LdZOJbzE7ytDisybFD8Tkm7vHzoAAAjj/e31yhQAAIhGpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAcJZaa6YAAEAcOWcnqQAAhCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAA46xewhlqrjZxAKcUQAIBpOEkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQCAYPqlLux47Lbb9cXFYdifTt1ms/5+/zDsvQ0AAEGk1trc11BrtZETKKUYAgAwgZyzz/0AAIQjUgEAEKkAACBSAQAQqQAA8FtL+LsfAIAl8Xc/AAARiVQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAAPhj/YyetdZqwwAAfqaUMqOndZIKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBINQIAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAsXGqtmQIAAHHknJ2kAgAQjkgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkGgEAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAgNnqD883pgAA/B8fjy+GENzd7iml1fV4+Oy6cRwNBACAEL4AqLMv/qIkvwMAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">P<span class="_ _3"></span>ointers<span class="_ _17"> </span>Aliasing<span class="_ _55"> </span>2/4</div><div class="t m0 x1 hb y187 ff4 fs6 fc0 sc0 ls0 ws0">Most<span class="_ _c"> </span>compilers<span class="_ _c"> </span>(included<span class="_ _f"> </span><span class="ff7">GCC/Clang/MSVC</span>)<span class="_ _c"> </span>provide<span class="_ _c"> </span><span class="ff1">restricted<span class="_ _8"> </span>p<span class="_ _b"></span>ointers</span></div><div class="t m0 x1 hb y188 ff4 fs6 fc0 sc0 ls0 ws0">(<span class="_ _4a"> </span><span class="ff7 fc7">restrict<span class="_ _25"> </span></span>)<span class="_ _f"> </span>so<span class="_ _c"> </span>that<span class="_ _f"> </span>the<span class="_ _c"> </span>programmer<span class="_ _c"> </span>asserts<span class="_ _c"> </span>that<span class="_ _f"> </span>the<span class="_ _c"> </span>p<span class="_ _b"></span>ointers<span class="_ _f"> </span>a<span class="_ _3"></span>re<span class="_ _f"> </span>not<span class="_ _c"> </span>aliased</div><div class="t m0 xd hd y29f ff5 fs7 fc6 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc7">f<span class="fc0">(</span></span>int<span class="ffc fc8">*<span class="_ _9"> </span><span class="fc0">__restrict<span class="_ _e"> </span>input,</span></span></div><div class="t m0 x2b hd y2a0 ff5 fs7 fc6 sc0 ls0 ws0">int<span class="_ _56"> </span><span class="ffc fc0">size,</span></div><div class="t m0 x2b hd y2a1 ff5 fs7 fc6 sc0 ls0 ws0">int<span class="ffc fc8">*<span class="_ _9"> </span><span class="fc0">__restrict<span class="_ _9"> </span>output)<span class="_ _e"> </span>{</span></span></div><div class="t m0 x6 hd y2a2 ff5 fs7 fc9 sc0 ls0 ws0">for<span class="_ _9"> </span><span class="ffc fc0">(</span><span class="fc6">int<span class="_ _9"> </span><span class="ffc fc0">i<span class="_ _e"> </span><span class="fc8">=<span class="_ _9"> </span>0</span>;<span class="_ _9"> </span>i<span class="_ _e"> </span><span class="fc8">&lt;<span class="_ _9"> </span></span>size;<span class="_ _9"> </span>i<span class="fc8">++</span>)</span></span></div><div class="t m0 x16 hd y2a3 ffc fs7 fc0 sc0 ls0 ws0">output[i]<span class="_ _9"> </span><span class="fc8">=<span class="_ _9"> </span></span>input[i];</div><div class="t m0 xd hd y2a4 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 hb y2a5 ff4 fs6 fc0 sc0 ls0 ws0">P<span class="_ _3"></span>otential<span class="_ _f"> </span>b<span class="_ _b"></span>enefits:</div><div class="t m0 xb hb y2a6 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Instruction-level<span class="_ _c"> </span>parallelism</span></div><div class="t m0 xb hb y2a7 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Less<span class="_ _c"> </span>instructions<span class="_ _f"> </span>executed</span></div><div class="t m0 xb hb y2a8 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Merge<span class="_ _c"> </span>common<span class="_ _f"> </span>sub-exp<span class="_ _3"></span>ressions</span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">71/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf4e" class="pf w0 h0" data-page-no="4e"><div class="pc pc4e w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">P<span class="_ _3"></span>ointers<span class="_ _17"> </span>Aliasing<span class="_ _55"> </span>3/4</div><div class="t m0 x1 hb ydd ff1 fs6 fc0 sc0 ls0 ws0">Benchma<span class="_ _3"></span>rking<span class="_ _8"> </span>matrix<span class="_ _8"> </span>multiplication</div><div class="t m0 xd hd y2a9 ff5 fs7 fc6 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc7">matrix_mul_v1<span class="fc0">(</span></span><span class="fc9">const<span class="_ _9"> </span></span>int<span class="ffc fc8">*<span class="_ _e"> </span><span class="fc0">A,</span></span></div><div class="t m0 x46 hd y2aa ff5 fs7 fc9 sc0 ls0 ws0">const<span class="_ _9"> </span><span class="fc6">int<span class="ffc fc8">*<span class="_ _9"> </span><span class="fc0">B,</span></span></span></div><div class="t m0 x46 hd y2ab ff5 fs7 fc6 sc0 ls0 ws0">int<span class="_ _2c"> </span><span class="ffc fc0">N,</span></div><div class="t m0 x46 hd y2ac ff5 fs7 fc6 sc0 ls0 ws0">int<span class="ffc fc8">*<span class="_ _3d"> </span><span class="fc0">C)<span class="_ _9"> </span>{</span></span></div><div class="t m0 xd hd y2ad ff5 fs7 fc6 sc0 ls0 ws0">void<span class="_ _9"> </span><span class="ffc fc7">matrix_mul_v2<span class="fc0">(</span></span><span class="fc9">const<span class="_ _9"> </span></span>int<span class="ffc fc8">*<span class="_ _e"> </span><span class="fc0">__restrict<span class="_ _9"> </span>A,</span></span></div><div class="t m0 x46 hd y2ae ff5 fs7 fc9 sc0 ls0 ws0">const<span class="_ _9"> </span><span class="fc6">int<span class="ffc fc8">*<span class="_ _9"> </span><span class="fc0">__restrict<span class="_ _e"> </span>B,</span></span></span></div><div class="t m0 x46 hd y2af ff5 fs7 fc6 sc0 ls0 ws0">int<span class="_ _57"> </span><span class="ffc fc0">N,</span></div><div class="t m0 x46 hd y2b0 ff5 fs7 fc6 sc0 ls0 ws0">int<span class="ffc fc8">*<span class="_ _3d"> </span><span class="fc0">__restrict<span class="_ _9"> </span>C)<span class="_ _9"> </span>{</span></span></div><div class="t m0 x4f hd y2b1 ff5 fs7 fc0 sc0 ls0 ws0">Optimization<span class="_ _2c"> </span><span class="ffc">-O1<span class="_ _43"> </span>-O2<span class="_ _43"> </span>-O3</span></div><div class="t m0 x4f h10 y2b2 ffc fs7 fc0 sc0 ls0 ws0">v1<span class="_ _58"> </span><span class="fff">1,030<span class="_ _d"> </span>ms<span class="_ _1a"> </span>777<span class="_ _d"> </span>ms<span class="_ _1a"> </span>777<span class="_ _d"> </span>ms</span></div><div class="t m0 x4f h10 y2b3 ffc fs7 fc0 sc0 ls0 ws0">v2<span class="_ _59"> </span><span class="fff">513<span class="_ _d"> </span>ms<span class="_ _1a"> </span>510<span class="_ _d"> </span>ms<span class="_ _1a"> </span>761<span class="_ _d"> </span>ms</span></div><div class="t m0 x4f h10 y2b4 ffc fs7 fc0 sc0 ls0 ws0">Speedup<span class="_ _5a"> </span><span class="fff">2.0x<span class="_ _5b"> </span>1.5x<span class="_ _26"> </span>1.02x</span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">72/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf4f" class="pf w0 h0" data-page-no="4f"><div class="pc pc4f w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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/M8vm79g2LBho0aN2r9/X2vWlNSytkEDv/u9v9++Y4czu/D8C9573Xue/d2zmzZu2rply1e+8pXHH3ssb+RPPfXUh//gD5p89v3vfW9dx7bxEyZ99U8+/8Wvf23iqDF/+uWvbNjavmdXx913/eZrX/vai1u2NIr877//PSvDN7/x57/61a+2bd/+qU99atfujo3tmxbedVdoFJ/+9B+Vobzt9ts/+7nPbdq0adKkSbfccsuB/fuvufJKdW7btm1nnnVmkqaXXXbZv/pXf7Flzy7+mgBAf8bhfpyaVLXRaNxwww0LFixYsmRJnucjR46cMmXKOeecU6/Xy7J817vetXjx4hUrVixYsOD6669/5pln9uzZM3Xq1Llz577wwguvHEw9IcOrhx/h3+PUqft9d6umrhHC/kZ9T6O+s35wZ/3gzkbP7rx+IG+YukGDBr3/hhs+9L4bhw0afOXbL7/huuuuf/d1GuI7r7xyUGvrxLHjzp8922JUpybmvbv0krkXzppVE50wbMQNV17zketvnD/nwg+8890feOe7k3oxafioD77/xivfcYVXN3PGzIkTJohIS2vLPb/5zS9++tP9e/ZeNm/+6RMm/q+/+etF99135eXvmHXOuX9w001OJIby4YcW3fbLfxg2dMiKp5+eNG783/7N/3jkwUULLrnUi6jJ6ZMnP/jAA7/8+c+fXPLEmFGn7di69Y5f/nLhnXfMn3vJb371q3sX3nX9dddNnjjh5o99LPVeYzxzypR1q1bd8u3vXHzBBdPPmLJzy9YffPfvpp9+xoghQ+fPvWTooEESY1tLyw9+8P2f3nrrJRddrGW48LzzZp59dub8wNbWRfff/7Of3NrVeWDa1ClttabLLr3Umz37zNM/u/UnavHee+7euWPHa/gRcodnPtAPX+V4EkCkAm8xVfmNGTOmubm5vb39rLPO2rt374svvvjYY4/deeedIYTW1lYR6e7u3rlz5/Dhw0XEOffMM89MnTpVRGq1WldX15F/VZw7Af8kvJSk2hR/T/44qx5PTV1QV6or1RfqG94VzgXnYrTPf/ZzL25qf3r58skTxn/kgx/auGZdTd0ffuCDVyy4rDWrTZs0efaMGc5rCKXzWhT59i1bnn/6mSvmXzZpzLjrrn7nY4se+uRHPrrm2efPOn3KdVdd88V/9pkH7rtv8ICB73n3u59/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kZFRXV19+PDhJUuWbNu2LR6Pr1692rKs/v5+anhaaWlpuffee996663KykrLsgKBQFNTU3p6ek1NTXp6ektLi8fjOXr06MmTJ0+dOvXII48kEomenp60tDRjTFZWVk9Pz3333edOp6SkvPvuu9XV1cYYnuAFTNmDW67uBzCOHMd57733HnroIaoCNygajTY0NKxZs+bbh2BywTswJXm9XkIqgPHU29ublZVl2za5ATeos7MzEAgIRp0ChFQAACYbrbX7KA0A0y2k8skHAExeJFRg+n78qQIAAAAQUgEAAABCKgAAAAipAAAAACEVAAAAhFQAAACAkAoAAABCKgAAAEBIBYDr9e0PzLzxx2nyQE4AIKQCwNgYY4wxl08MDQ0JIZqamqLRqPv6FfPv3bvXcZyBgYH6+vrt27c3NjY6jnPs2LG6urq6urqdO3eGQqHm5mattRDi0KFDvb29o28PhUJa63379o2u9L+WcNeuXe6iQqHQxo0bHccxxrz77rvJZHJMf2kikUgmk01NTWfOnLlaVYxOHzhwgOddAyCkAsD/QCQSaWlpOXHiRCgU2rNnz8GDB/v6+pqamv70pz81Njb6/X43Gh4+fPj9998fTYQnT57s6upSSj355JOlpaU//OEP6+vr+/r62traksnk3XffrZT64IMPmpub3czX3Nzc1tYmhNBa7969+29/+9vJkyfT0tISiUR7e/vp06dbWloGBwfdeWKx2P79+7/66qvLk2VPT4/7VM9IJNLc3Lx58+Z4PH7gwIFkMvnll18eP358aGjIGOM4zqFDhz7//HOtdTQa7erqOnz48NGjR8VIV+5f/vKXjz/+uKioKC0traurq7u7202iTU1N7e3t7vIbGhqampqEEJZlbdu2jUYCgJAKAN+1UCj04osvnj17NhwOz549OxQKvfLKK5ZlCSFmzJjxwQcfxGKxbdu21dbWpqWlvfXWW+67jhw5UlxcPDAwYIwpKiqSUv7617/Oz8+3bfvLL788cODA0aNHMzIyRk/xK6XcsKuUOnPmjJRSSrlly5aBgYFnnnnm2LFj//jHP1599dXt27fH4/FnnnkmGo3u3r370KFD7tt7enoCgcBomSsrK7u7u0+dOqWUampq2rZtW29v7xNPPDE8PPz3v/+9p6fn3Llzzz//fCQSefLJJ4eHhzdt2tTQ0DDaa5uTk7N3796urq6DBw++/vrrLS0tf/jDH7q6up577rmBgYGnnnoqHA7X1tZ2dnbecsstV+twBQBCKgBMoJSUlJKSktWrV2dkZJw8eVIIkUgkSkpK0tLSKioqvF7v+fPne3p6HnvssbVr1w4MDLjv6uvr83q9Pp/PPXsuhOju7jbGJBIJy7JycnLuueee+++/XwgxerpcjqioqMjPz58zZ44bYW3bXrNmTWFh4aOPPlpeXh4MBs+ePbt169ajR4+eOnXKfW9TU9PSpUtHy+z1en/xi19s2bIlFotdvHjx5z//+apVq4qKio4cOdLX1/fAAw/cfffdbi9pWVnZ7bffvnr16s7OTve9+fn5CxYs0FoPDQ05jrNixYoHHniguLj4wQcfnDFjxuDg4NmzZ99+++3Ozs7W1tZkMhkMBmkkAG52HqoAwE1Ha+33+6WUdXV1J0+eLCsrU0qlp6fH4/Fjx44lk8n8/PySkpLNmzcvX748MzPTfVdubm4ymUxJSamsrHzxxRerq6v/+c9//u53v/N6veXl5eXl5W4ALSws3L17t8fjOXr06AMPPCCEMMbk5eV9+umnHR0dlmW5Q2CllI7jKKUcx0lPTy8sLFy8eHFKSsqiRYvc1fX29mZkZIyGXa31zJkz58yZc/78+by8vNdee23NmjVnzpypqqqqr6+vra09c+ZMSUlJbm7uiRMn9u3b98UXXzz88MPu230+3/79+901er1ex3G01kopd7F+vz8vL++OO+7w+XwLFy6MRCKpqanuSq9l4CwATE7WH//4R2oBwE0nOzt71qxZbjytqKgoKSkpKCgoLy+Px+NLlizx+/2LFy+eMWOGEGLdunXuSADbto8cOVJdXV1TU5OSkqK1Xr9+fSAQyM7OLikpcYOdEGLOnDlDQ0O2bT/00EM5OTnui1lZWcXFxV6vd/bs2aWlpdnZ2cXFxR6Pp6ioqKSkJCMjY9myZVprKaV7it8Yk56enpub677dPV+fk5NTWVk5f/78efPmVVRUhEKhn/zkJ2lpacuWLVNKzZ07d/369efOnbtw4cKKFSuWLl1aVlbmvr2oqCgSicydO9ftzc3Nzc3Nzc3Ly8vJySkrK8vJyVm+fPnFixdTU1Nnz54dDAZjsdj8+fNpJABu4oRqWZKLQAFMAV/vNfz6K1rrZ5999pe//KXH819OIrkdpde4IpfjOJZlub+9li7My+e5fHUXL17cuHHjb3/7229Z1+WvXzGPMeaVV17ZsGHDaOYGgJuR1+slpALARDHGKKW+Mba65+upIgC4WkhlFwkAV3XtDwu4Ynp03OrVbqrKYwIA4NsRUgFMUx9++OGuXbu+fZ4rzqRfETHdV15++eVvnPP111//zW9+Ew6HhRDurayuyKZnz55lKwDA1XB1PwAI98J59wFUy5cvP336dCAQ+Oqrr4qLixOJRDwetywrGAympqYWFxc3NDQUFxeHQqEFCxZIKdetWyeE+OSTT1JSUhYsWOBe0d/X19fa2nrPPff4/f729nZjTGlpqcfj+fTTTz0ez4IFC954442hoaFf/epX/f390Wg0KysrNze3qanJ4/HMmjWroKCAjQJgmqMnFcD0Daaj08aYv/71ry0tLRcvXtyzZ88rr7zS3d396quvfvjhh8ePH9+7d+/TTz/d2tr68ssv9/f3NzQ0bN261bZt9411dXXt7e319fVCiNE7m/p8PqVUbm5uMBjs6+vbs2fP5s2bz58//8knn+Tk5AwODkoplVK9vb3PP/+8lPK55567cOHCpk2bDh8+7N5diw0EgJAKANM0pI5mQcdxgsHgT3/60zVr1vT09CxatOijjz4qKirq6Oioq6srKCjo6+vbtWvXuXPnLl686DjOY489VlFRMbqosrKylStXbtq0afQu+hkZGSkpKfPmzQuHw+Fw2L2fQHp6+p133vnUU08Fg8GysrKKigrHcUKh0J///Ofu7m73WQOPPPJIZmYm9zcFAE73A5imHMdpbW0tLS2VUubk5GRmZr722mtFRUXl5eVz58594oknHn/88d27dw8ODtbU1Hz00Uf33Xef1joQCHi93kgkcnnYDYfDM2bMePTRR995553vfe97bierm4Bra2ullAMDA1lZWYlEIhqNbtiwobGxsbS09MiRI1VVVZmZmT/72c+EEO6NV933AgC4BRWAaer06dORSKS/v98Ys2TJEqVUY2OjMea2224zxjQ1NS1YsGBgYCASiQQCgd7e3hMnTuTk5FRUVJw6daqoqMh9QIAQoqOjo6ysrKurq6urq6ysrLi42H395MmTJSUlsVisubl5zpw5yWQyEAg0Nzf7/f6CggK/33/o0KH58+drrRsaGpYtW+aOSa2qqhpdMgBMW9wnFQAAAJMxpDImFQAAAJMOIRUAAACEVAAAAICQCgAAAEIqAAAAQEgFAAAAIRUAAAAgpAIAAICQCgAAABBSAQAAAEIqAAAACKkAAAAAIRUAAACEVAAAAICQCgAAgKnOc7MUNBKN3vvoT9lgwM3l/23/J5UAALgOMh6PUwsAAACYPLxeL6f7AQAAMOkQUgEAAEBIBQAAAAipAAAAIKQCAAAAhFQAAAAQUgEAAABCKgAAAAipAAAAACEVAAAAIKQCAACAkAoAAAAQUgEAAEBIBQAAAAipAAAAIKQCAAAAhFQAAAAQUgEAAABCKgAAAEBIBQAAACEVAAAAIKQCAACAkAoAAAAQUgEAAEBIBQAAAAipAAAAACEVAAAAhFQAAACAkAoAAICbmyf0f8qoBQAAgGvUu/5FKmGizV91r5SZPhOKCWGMoUIAAAAwKfx/LQp5LU1H4xIAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">P<span class="_ _3"></span>ointers<span class="_ _17"> </span>Aliasing<span class="_ _55"> </span>4/4</div><div class="t m0 xd hf y2b5 ff5 fs5 fc6 sc0 ls0 ws0">void<span class="_ _8"> </span><span class="ffd fc7">foo<span class="fc0">(std<span class="fc8">::</span>vector<span class="fc8">&lt;</span></span></span>double<span class="ffd fc8">&gt;&amp;<span class="_ _17"> </span><span class="fc0">v,<span class="_ _17"> </span></span></span><span class="fc9">const<span class="_ _8"> </span></span>double<span class="ffd fc8">&amp;<span class="_ _17"> </span><span class="fc0">coeff)<span class="_ _17"> </span>{</span></span></div><div class="t m0 xf hf y2b6 ff5 fs5 fc9 sc0 ls0 ws0">for<span class="_ _8"> </span><span class="ffd fc0">(</span>auto<span class="ffd fc8">&amp;<span class="_ _17"> </span><span class="fc0">item<span class="_ _17"> </span></span>:<span class="_ _8"> </span><span class="fc0">v)<span class="_ _17"> </span>item<span class="_ _17"> </span></span>*=<span class="_ _8"> </span><span class="fc0">std</span>::<span class="fc0">sinh(coeff);</span></span></div><div class="t m0 xd hf y2b7 ffd fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 ha y2b8 ff6 fs5 fc0 sc0 ls0 ws0">vs.</div><div class="t m0 xd hf y2b9 ff5 fs5 fc6 sc0 ls0 ws0">void<span class="_ _8"> </span><span class="ffd fc7">foo<span class="fc0">(std<span class="fc8">::</span>vector<span class="fc8">&lt;</span></span></span>double<span class="ffd fc8">&gt;&amp;<span class="_ _17"> </span><span class="fc0">v,<span class="_ _17"> </span></span></span>double<span class="_ _8"> </span><span class="ffd fc0">coeff)<span class="_ _17"> </span>{</span></div><div class="t m0 xf hf y2ba ff5 fs5 fc9 sc0 ls0 ws0">for<span class="_ _8"> </span><span class="ffd fc0">(</span>auto<span class="ffd fc8">&amp;<span class="_ _17"> </span><span class="fc0">item<span class="_ _17"> </span></span>:<span class="_ _8"> </span><span class="fc0">v)<span class="_ _17"> </span>item<span class="_ _17"> </span></span>*=<span class="_ _8"> </span><span class="fc0">std</span>::<span class="fc0">sinh(coeff);</span></span></div><div class="t m0 xd hf y2bb ffd fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 x30 hd y2bc ffc fs7 fcc sc0 ls0 ws0">Argument<span class="_ _9"> </span>Passing,<span class="_ _9"> </span>Core<span class="_ _e"> </span>Guidelines<span class="_ _9"> </span>and<span class="_ _9"> </span>Aliasing</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">73/84</div><a class="l" href="https://www.youtube.com/watch?v=uylFACqcWYI"><div class="d m1" style="border-style:none;position:absolute;left:52.083000px;bottom:1.263000px;width:218.531000px;height:13.444000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf50" class="pf w0 h0" data-page-no="50"><div class="pc pc50 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIXUlEQVR42u3ZsQ3CMBCGURtxomQGJEbIBhGzsUQ2TJWSa5wqM+SI3pvA+q/5JPfMbAAAUEZE3KwAAEA1IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJFqAgAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAMCF3E3AubbvywjAVa2f5X8f/55mF+REPTOtAABAHRHhux8AgHJEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAItUEAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAcen8+xvZrbYxhDQAAStgBstET9bqAcTAAAAAASUVORK5CYII="/><div class="t m0 x8 h2 ya9 ff1 fs0 fc0 sc0 ls0 ws0">Object-Oriented</div><div class="t m0 x8 h2 yaa ff1 fs0 fc0 sc0 ls0 ws0">Programming</div><a class="l" href="#pf50" data-dest-detail='[80,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:158.662500px;bottom:224.427000px;width:241.993000px;height:24.025000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf50" data-dest-detail='[80,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:158.662500px;bottom:172.870500px;width:154.986000px;height:24.025000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf51" class="pf w0 h0" data-page-no="51"><div class="pc pc51 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">V<span class="_ _3"></span>a<span class="_ _3"></span>riable/Object<span class="_ _9"> </span>Scop<span class="_ _b"></span>e</div><div class="t m0 x1 hb y77 ff1 fs6 fc0 sc0 ls0 ws0">Decla<span class="_ _3"></span>re<span class="_ _8"> </span>lo<span class="_ _b"></span>cal<span class="_ _8"> </span>variable<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _8"> </span>innermost<span class="_ _8"> </span>scop<span class="_ _b"></span>e</div><div class="t m0 xb hb y2bd ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">the<span class="_ _c"> </span>compiler<span class="_ _f"> </span>can<span class="_ _c"> </span>more<span class="_ _c"> </span>lik<span class="_ _3"></span>ely<span class="_ _f"> </span>fit<span class="_ _c"> </span>them<span class="_ _c"> </span>into<span class="_ _f"> </span>registers<span class="_ _c"> </span>instead<span class="_ _f"> </span>of<span class="_ _c"> </span>stack</span></div><div class="t m0 xb hb y2be ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">it<span class="_ _c"> </span>improves<span class="_ _c"> </span>readabilit<span class="_ _3"></span>y</span></div><div class="t m0 x16 h10 y2bf ff1 fs7 fc0 sc0 ls0 ws0">W<span class="_ _3"></span>rong:</div><div class="t m0 x1a hd y2c0 ff5 fs7 fc6 sc0 ls0 ws0">int<span class="_ _9"> </span><span class="ffc fc0">i,<span class="_ _9"> </span>x;</span></div><div class="t m0 x1a hd y2c1 ff5 fs7 fc9 sc0 ls0 ws0">for<span class="_ _9"> </span><span class="ffc fc0">(i<span class="_ _9"> </span><span class="fc8">=<span class="_ _e"> </span>0</span>;<span class="_ _9"> </span>i<span class="_ _9"> </span><span class="fc8">&lt;<span class="_ _e"> </span></span>N;<span class="_ _9"> </span>i<span class="fc8">++</span>)<span class="_ _9"> </span>{</span></div><div class="t m0 x50 hd y2c2 ffc fs7 fc0 sc0 ls0 ws0">x<span class="_ _46"> </span><span class="fc8">=<span class="_ _9"> </span></span>value<span class="_ _9"> </span><span class="fc8">*<span class="_ _e"> </span>5</span>;</div><div class="t m0 x50 hd y2c3 ffc fs7 fc0 sc0 ls0 ws0">sum<span class="_ _9"> </span><span class="fc8">+=<span class="_ _9"> </span></span>x;</div><div class="t m0 x1a hd y2c4 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x51 h10 y2c5 ff1 fs7 fc0 sc0 ls0 ws0">Co<span class="_ _3"></span>rrect:</div><div class="t m0 x52 hd y2c6 ff5 fs7 fc9 sc0 ls0 ws0">for<span class="_ _9"> </span><span class="ffc fc0">(</span><span class="fc6">int<span class="_ _9"> </span><span class="ffc fc0">i<span class="_ _e"> </span><span class="fc8">=<span class="_ _9"> </span>0</span>;<span class="_ _9"> </span>i<span class="_ _e"> </span><span class="fc8">&lt;<span class="_ _9"> </span></span>N;<span class="_ _9"> </span>i<span class="fc8">++</span>)<span class="_ _9"> </span>{</span></span></div><div class="t m0 x53 hd y2c7 ff5 fs7 fc6 sc0 ls0 ws0">int<span class="_ _9"> </span><span class="ffc fc0">x<span class="_ _20"> </span><span class="fc8">=<span class="_ _9"> </span></span>value<span class="_ _9"> </span><span class="fc8">*<span class="_ _e"> </span>5</span>;</span></div><div class="t m0 x53 hd y2c8 ffc fs7 fc0 sc0 ls0 ws0">sum<span class="_ _13"> </span><span class="fc8">+=<span class="_ _9"> </span></span>x;</div><div class="t m0 x52 hd y2c9 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xb hb y2ca ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4 fcd">C++17<span class="_ _c"> </span><span class="fc0">allows<span class="_ _c"> </span>lo<span class="_ _b"></span>cal<span class="_ _c"> </span>variable<span class="_ _c"> </span>initialization<span class="_ _c"> </span>in<span class="_ _10"> </span><span class="ff7">if<span class="_ _10"> </span></span>and<span class="_ _10"> </span><span class="ff7">while<span class="_ _10"> </span></span>statements,<span class="_ _c"> </span>while</span></span></div><div class="t m0 x6 hb y2cb ff4 fs6 fcd sc0 ls0 ws0">C++20<span class="_ _c"> </span><span class="fc0">intro<span class="_ _b"></span>duces<span class="_ _f"> </span>them<span class="_ _c"> </span>for<span class="_ _c"> </span>in<span class="_ _c"> </span><span class="ffa">range-based<span class="_ _c"> </span>lo<span class="_ _b"></span>ops</span></span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">74/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf52" class="pf w0 h0" data-page-no="52"><div class="pc pc52 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">V<span class="_ _3"></span>a<span class="_ _3"></span>riable/Object<span class="_ _9"> </span>Scop<span class="_ _b"></span>e</div><div class="t m0 x1 hb y2cc ff1 fs6 fc0 sc0 ls0 ws0">Exception!<span class="_ _e"> </span><span class="ff4">Built-in<span class="_ _c"> </span>t<span class="_ _3"></span>yp<span class="_ _b"></span>e<span class="_ _f"> </span>va<span class="_ _3"></span>riables<span class="_ _f"> </span>and<span class="_ _c"> </span>passive<span class="_ _f"> </span>structures<span class="_ _c"> </span>should<span class="_ _f"> </span>b<span class="_ _b"></span>e<span class="_ _c"> </span>placed<span class="_ _f"> </span>in<span class="_ _c"> </span>the</span></div><div class="t m0 x1 hb y2cd ff4 fs6 fc0 sc0 ls0 ws0">innermost<span class="_ _c"> </span>lo<span class="_ _b"></span>op,<span class="_ _f"> </span>while<span class="_ _c"> </span>objects<span class="_ _f"> </span>with<span class="_ _c"> </span>constructors<span class="_ _c"> </span>should<span class="_ _c"> </span>b<span class="_ _b"></span>e<span class="_ _c"> </span>placed<span class="_ _f"> </span>outside<span class="_ _c"> </span>lo<span class="_ _b"></span>ops</div><div class="t m0 x54 hd y2ce ff5 fs7 fc9 sc0 ls0 ws0">for<span class="_ _9"> </span><span class="ffc fc0">(</span><span class="fc6">int<span class="_ _9"> </span><span class="ffc fc0">i<span class="_ _e"> </span><span class="fc8">=<span class="_ _9"> </span>0</span>;<span class="_ _9"> </span>i<span class="_ _e"> </span><span class="fc8">&lt;<span class="_ _9"> </span></span>N;<span class="_ _9"> </span>i<span class="fc8">++</span>)<span class="_ _9"> </span>{</span></span></div><div class="t m0 x55 hd y2cf ffc fs7 fc0 sc0 ls0 ws0">std<span class="fc8">::</span>string<span class="_ _9"> </span>str(<span class="fca">&quot;prefix_&quot;</span>);</div><div class="t m0 x55 hd y2d0 ffc fs7 fc0 sc0 ls0 ws0">std<span class="fc8">::</span>cout<span class="_ _9"> </span><span class="fc8">&lt;&lt;<span class="_ _9"> </span></span>str<span class="_ _e"> </span><span class="fc8">+<span class="_ _9"> </span></span>value[i];</div><div class="t m0 x54 hd y2d1 ffc fs7 fc0 sc0 ls0 ws0">}<span class="_ _9"> </span><span class="ffb fc5">//<span class="_ _9"> </span>str<span class="_ _e"> </span>call<span class="_ _9"> </span>CTOR/DTOR<span class="_ _9"> </span>N<span class="_ _e"> </span>times</span></div><div class="t m0 x52 hd y2ce ffc fs7 fc0 sc0 ls0 ws0">std<span class="fc8">::</span>string<span class="_ _9"> </span>str(<span class="fca">&quot;prefix_&quot;</span>);</div><div class="t m0 x52 hd y2cf ff5 fs7 fc9 sc0 ls0 ws0">for<span class="_ _9"> </span><span class="ffc fc0">(</span><span class="fc6">int<span class="_ _9"> </span><span class="ffc fc0">i<span class="_ _e"> </span><span class="fc8">=<span class="_ _9"> </span>0</span>;<span class="_ _9"> </span>i<span class="_ _e"> </span><span class="fc8">&lt;<span class="_ _9"> </span></span>N;<span class="_ _9"> </span>i<span class="fc8">++</span>)<span class="_ _9"> </span>{</span></span></div><div class="t m0 x53 hd y2d0 ffc fs7 fc0 sc0 ls0 ws0">std<span class="fc8">::</span>cout<span class="_ _9"> </span><span class="fc8">&lt;&lt;<span class="_ _9"> </span></span>str<span class="_ _e"> </span><span class="fc8">+<span class="_ _9"> </span></span>value[i];</div><div class="t m0 x52 hd y2d1 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">75/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf53" class="pf w0 h0" data-page-no="53"><div class="pc pc53 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAItklEQVR42u3YsU3EQBCGUS/yiGhFDSciKkCIGOk6ownKIbgi6IDotBGTmIyA6BAgj+X3KrB/O/g07fb+cQIAgDLeTq9XVgAAoBqRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgDAl5aZVgAAoI6IcEkFAKAckQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEg1AQAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAADwE7MJLjfGMMI3vXcjAAB/ziUVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAKyrZaYVAACoIyJcUgEAKEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAD2bDbBJowxdvW+vXcfHQD2zCUVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAKyrZaYVAACoIyJcUgEAKEekAgAgUgEAQKQCACBSAQDgt2YTXG6MsaGn7b37ZADARrmkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAIB1tcy0AgAAdUSESyoAAOWIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgDAns0mAID6xhhG+A+9dyPU5JIKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAANbVMtMKAADUEREuqQAAlCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAsFXz+flgBQCAOt6fXna+wN3DsbWb6+X8MU3LsvglAAAo4ROPoSv8Dvv7nwAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Object<span class="_ _17"> </span>Optimizations</div><div class="t m0 xb hb y97 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Prefer<span class="_ _f"> </span><span class="ff1">direct<span class="_ _8"> </span>initialization<span class="_ _c"> </span></span>and<span class="_ _c"> </span><span class="ffa">full<span class="_ _f"> </span>object<span class="_ _c"> </span>constructor<span class="_ _9"> </span></span>instead<span class="_ _f"> </span>of<span class="_ _c"> </span>tw<span class="_ _3"></span>o-step</span></div><div class="t m0 x6 hb y2d2 ff4 fs6 fc0 sc0 ls0 ws0">initialization<span class="_ _c"> </span>(also<span class="_ _c"> </span>for<span class="_ _c"> </span>variables)</div><div class="t m0 xb hb y2d3 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Prefer<span class="_ _f"> </span><span class="ff1">move<span class="_ _8"> </span>semantic<span class="_ _c"> </span></span>instead<span class="_ _c"> </span>of<span class="_ _f"> </span><span class="ffa">copy<span class="_ _c"> </span>constructo<span class="_ _3"></span>r<span class="ff4">.<span class="_ _e"> </span>Ma<span class="_ _3"></span>rk<span class="_ _c"> </span><span class="ffa">copy<span class="_ _c"> </span>constructo<span class="_ _3"></span>r<span class="_ _e"> </span><span class="ff4">as</span></span></span></span></span></div><div class="t m0 xc hb y2d4 ff7 fs6 fc0 sc0 ls0 ws0">=delete<span class="_ _10"> </span><span class="ff4">(sometimes<span class="_ _c"> </span>it<span class="_ _c"> </span>is<span class="_ _f"> </span>hard<span class="_ _c"> </span>to<span class="_ _c"> </span>see,<span class="_ _c"> </span>e.g.<span class="_ _e"> </span>implicit)</span></div><div class="t m0 xb hb y2d5 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Use<span class="_ _10"> </span><span class="ff5">static<span class="_ _10"> </span></span>fo<span class="_ _3"></span>r<span class="_ _f"> </span>all<span class="_ _c"> </span>memb<span class="_ _b"></span>ers<span class="_ _f"> </span>that<span class="_ _c"> </span>do<span class="_ _f"> </span>not<span class="_ _c"> </span>use<span class="_ _f"> </span>instance<span class="_ _c"> </span>memb<span class="_ _b"></span>er<span class="_ _f"> </span>(avoid<span class="_ _c"> </span>passing</span></div><div class="t m0 xc hb y2d6 ff7 fs6 fc0 sc0 ls0 ws0">this<span class="_ _10"> </span><span class="ff4">p<span class="_ _b"></span>ointer)</span></div><div class="t m0 xb hb y2d7 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">If<span class="_ _c"> </span>the<span class="_ _f"> </span>object<span class="_ _c"> </span>semantic<span class="_ _f"> </span>is<span class="_ _c"> </span><span class="ffa">trivially<span class="_ _c"> </span>copy<span class="_ _3"></span>able<span class="ff4">,<span class="_ _c"> </span>ensure<span class="_ _f"> </span><span class="ff1">defaulted<span class="_ _10"> </span><span class="ff7">=<span class="_ _15"> </span>default</span></span></span></span></span></div><div class="t m0 x6 hb y2d8 ffa fs6 fc0 sc0 ls0 ws0">default/cop<span class="_ _3"></span>y<span class="_ _f"> </span>constructo<span class="_ _3"></span>rs<span class="_ _9"> </span><span class="ff4">and<span class="_ _c"> </span></span>assignment<span class="_ _f"> </span>op<span class="_ _b"></span>erators<span class="_ _17"> </span><span class="ff4">to<span class="_ _c"> </span>enable<span class="_ _f"> </span>vecto<span class="_ _3"></span>rization</span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">76/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf54" class="pf w0 h0" data-page-no="54"><div class="pc pc54 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Object<span class="_ _17"> </span>Dynamic<span class="_ _17"> </span>Behavior<span class="_ _8"> </span>Optimizations</div><div class="t m0 xb hb y43 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff1">Virtual<span class="_ _8"> </span>calls<span class="_ _c"> </span><span class="ff4">are<span class="_ _c"> </span>slo<span class="_ _3"></span>wer<span class="_ _c"> </span>than<span class="_ _c"> </span>standard<span class="_ _c"> </span>functions</span></span></div><div class="t m0 x56 hb y2d9 ff4 fs6 fc0 sc0 ls0 ws0">-<span class="_ _6"> </span>Virtual<span class="_ _c"> </span>calls<span class="_ _f"> </span>p<span class="_ _3"></span>revent<span class="_ _f"> </span>any<span class="_ _c"> </span>kind<span class="_ _f"> </span>of<span class="_ _c"> </span>optimizations<span class="_ _f"> </span>as<span class="_ _c"> </span>function<span class="_ _f"> </span>lo<span class="_ _b"></span>okup<span class="_ _c"> </span>is<span class="_ _f"> </span>at</div><div class="t m0 x1a hb y2da ff4 fs6 fc0 sc0 ls0 ws0">runtime<span class="_ _c"> </span>(lo<span class="_ _b"></span>op<span class="_ _f"> </span>transfo<span class="_ _3"></span>rmation,<span class="_ _f"> </span>vectorization,<span class="_ _c"> </span>etc.)</div><div class="t m0 x56 hb y2db ff4 fs6 fc0 sc0 ls0 ws0">-<span class="_ _6"> </span>Virtual<span class="_ _c"> </span>call<span class="_ _f"> </span>overhead<span class="_ _c"> </span>is<span class="_ _f"> </span>up<span class="_ _c"> </span>to<span class="_ _f"> </span>20%-50%<span class="_ _c"> </span>for<span class="_ _c"> </span>function<span class="_ _c"> </span>that<span class="_ _c"> </span>can<span class="_ _f"> </span>b<span class="_ _b"></span>e<span class="_ _c"> </span>inlined</div><div class="t m0 xb hb y2dc ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Ma<span class="_ _3"></span>rk<span class="_ _10"> </span><span class="ff7">final<span class="_ _10"> </span></span>all<span class="_ _10"> </span><span class="ff7">virtual<span class="_ _10"> </span></span>functions<span class="_ _c"> </span>that<span class="_ _f"> </span>are<span class="_ _c"> </span>not<span class="_ _c"> </span>overridden</span></div><div class="t m0 xb hb y2dd ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">A<span class="_ _3"></span>void<span class="_ _f"> </span>dynamic<span class="_ _c"> </span>op<span class="_ _b"></span>erations<span class="_ _f"> </span><span class="ff5">dynamic<span class="_ _8"> </span>cast</span></span></div><div class="t m0 x3e h10 y2de fff fs7 fcc sc0 ls0 ws0">-<span class="_ _6"> </span><span class="ffc">The<span class="_ _9"> </span>Hidden<span class="_ _e"> </span>Performance<span class="_ _17"> </span>Price<span class="_ _e"> </span>of<span class="_ _9"> </span>Virtual<span class="_ _9"> </span>Functions</span></div><div class="t m0 x3e h10 y2df fff fs7 fcc sc0 ls0 ws0">-<span class="_ _6"> </span><span class="ffc">Investigating<span class="_ _9"> </span>the<span class="_ _e"> </span>Performance<span class="_ _17"> </span>Overhead<span class="_ _e"> </span>of<span class="_ _9"> </span>C++<span class="_ _9"> </span>Exceptions</span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">77/84</div><a class="l" href="https://raw.githubusercontent.com/CppCon/CppCon2022/main/Presentations/CppCon-The-Hidden-Performance-Price-of-Virtual-Functions.pdf"><div class="d m1" style="border-style:none;position:absolute;left:73.752000px;bottom:34.416000px;width:232.653000px;height:7.373000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://pspdfkit.com/blog/2020/performance-overhead-of-exceptions-in-cpp/"><div class="d m1" style="border-style:none;position:absolute;left:73.752000px;bottom:9.534000px;width:265.604000px;height:9.366000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf55" class="pf w0 h0" data-page-no="55"><div class="pc pc55 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Object<span class="_ _17"> </span>Op<span class="_ _b"></span>eration<span class="_ _17"> </span>Optimizations</div><div class="t m0 xb hb y2e0 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Minimize<span class="_ _c"> </span>multiple<span class="_ _10"> </span><span class="ff5">+<span class="_ _10"> </span></span>op<span class="_ _b"></span>erations<span class="_ _c"> </span>b<span class="_ _0"></span>et<span class="_ _3"></span>w<span class="_ _3"></span>een<span class="_ _c"> </span>objects<span class="_ _f"> </span>to<span class="_ _c"> </span>avoid<span class="_ _f"> </span>temp<span class="_ _b"></span>ora<span class="_ _3"></span>ry<span class="_ _c"> </span>storage</span></div><div class="t m0 xb hb y2e1 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Prefer<span class="_ _10"> </span><span class="ff5">x<span class="_ _15"> </span>+=<span class="_ _15"> </span>obj<span class="_ _25"> </span></span>,<span class="_ _f"> </span>instead<span class="_ _c"> </span>of<span class="_ _10"> </span><span class="ff7">x<span class="_ _15"> </span>=<span class="_ _15"> </span>x<span class="_ _15"> </span>+<span class="_ _15"> </span>obj<span class="_ _10"> </span><span class="ff10">→<span class="_ _c"> </span></span></span>avoid<span class="_ _f"> </span>the<span class="_ _c"> </span>object<span class="_ _f"> </span>cop<span class="_ _3"></span>y</span></div><div class="t m0 xb hb y2e2 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Prefer<span class="_ _10"> </span><span class="ff5">++obj<span class="_ _25"> </span></span>/<span class="_ _d"> </span><span class="ff5">--obj<span class="_ _10"> </span></span>(return<span class="_ _10"> </span><span class="ff7">&amp;obj<span class="_ _25"> </span></span>),<span class="_ _f"> </span>instead<span class="_ _c"> </span>of<span class="_ _10"> </span><span class="ff7">obj++<span class="_ _d"> </span></span>,<span class="_ _d"> </span><span class="ff7">obj--<span class="_ _10"> </span></span>(cop<span class="_ _3"></span>y<span class="_ _c"> </span>and</span></div><div class="t m0 x6 hb y2e3 ff4 fs6 fc0 sc0 ls0 ws0">return<span class="_ _c"> </span>old<span class="_ _10"> </span><span class="ff7">obj<span class="_ _d"> </span></span>)</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">78/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf56" class="pf w0 h0" data-page-no="56"><div class="pc pc56 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAId0lEQVR42u3YsQlCMRSG0Rd5wSo4g1g5gYi14GYu4TgWDuEGVo9UpomdvYJwH54zweVP85G02R0GAAAI4367LqwAAEA0IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgLfUWrMCAABx5Jz9pAIAEI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAgA+NM7q11urBAAC+U0qZ0bV+UgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkmAABApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUk0AAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAAB+KrXWrAAAQBw5Zz+pAACEI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQAgmHE6r60AAPA/HsdL8Au3+1NKq2WfnsPQe/dkAACE8ALqTBoCaerAbAAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Object<span class="_ _17"> </span>Implicit<span class="_ _17"> </span>Conversion</div><div class="t m0 xd hf y2e4 ff5 fs5 fc9 sc0 ls0 ws0">struct<span class="_ _8"> </span><span class="fc7">A<span class="_ _17"> </span><span class="ffd fc0">{<span class="_ _1c"> </span><span class="ffb fc5">//<span class="_ _8"> </span>big<span class="_ _17"> </span>object</span></span></span></div><div class="t m0 xf hf y2e5 ff5 fs5 fc6 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ffd fc0">array[<span class="fc8">10000</span>];</span></div><div class="t m0 xd hf y2e6 ffd fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 xd hf y2e7 ff5 fs5 fc9 sc0 ls0 ws0">struct<span class="_ _8"> </span><span class="fc7">B<span class="_ _17"> </span><span class="ffd fc0">{</span></span></div><div class="t m0 xf hf y2e8 ff5 fs5 fc6 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ffd fc0">array[<span class="fc8">10000</span>];</span></div><div class="t m0 xf hf y2e9 ffd fs5 fc0 sc0 ls0 ws0">B()<span class="_ _8"> </span><span class="fc8">=<span class="_ _17"> </span><span class="ff5 fc9">default</span></span>;</div><div class="t m0 xf hf y2ea ffd fs5 fc0 sc0 ls0 ws0">B(<span class="ff5 fc9">const<span class="_ _8"> </span></span>A<span class="fc8">&amp;<span class="_ _17"> </span></span>a)<span class="_ _17"> </span>{<span class="_ _8"> </span><span class="ffb fc5">//<span class="_ _17"> </span>user-defined<span class="_ _8"> </span>constructor</span></div><div class="t m0 x15 hf y2eb ffd fs5 fc0 sc0 ls0 ws0">std<span class="fc8">::</span>copy(a.array,<span class="_ _8"> </span>a.array<span class="_ _17"> </span><span class="fc8">+<span class="_ _17"> </span>10000</span>,<span class="_ _8"> </span>array);</div><div class="t m0 xf hf y2ec ffd fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 xd hf y2ed ffd fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 xd hf y2ee ffb fs5 fc5 sc0 ls0 ws0">//----------------------------------------------------------------------</div><div class="t m0 xd hf y2ef ff5 fs5 fc6 sc0 ls0 ws0">void<span class="_ _8"> </span><span class="ffd fc7">f<span class="fc0">(</span></span><span class="fc9">const<span class="_ _17"> </span><span class="ffd fc0">B<span class="fc8">&amp;<span class="_ _17"> </span></span>b)<span class="_ _8"> </span>{}</span></span></div><div class="t m0 xd hf y2f0 ffd fs5 fc0 sc0 ls0 ws0">A<span class="_ _8"> </span>a;</div><div class="t m0 xd hf y2f1 ffd fs5 fc0 sc0 ls0 ws0">B<span class="_ _8"> </span>b;</div><div class="t m0 xd hf y2f2 ffd fs5 fc0 sc0 ls0 ws0">f(b);<span class="_ _8"> </span><span class="ffb fc5">//<span class="_ _17"> </span>no<span class="_ _8"> </span>cost</span></div><div class="t m0 xd hf y2f3 ffd fs5 fc0 sc0 ls0 ws0">f(a);<span class="_ _8"> </span><span class="ffb fc5">//<span class="_ _17"> </span><span class="fc3">very<span class="_ _8"> </span>costly!!<span class="_ _17"> </span></span>implicit<span class="_ _8"> </span>conversion</span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">79/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf57" class="pf w0 h0" data-page-no="57"><div class="pc pc57 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x8 h2 y2f4 ff5 fs0 fc0 sc0 ls0 ws0">Std<span class="_ _1"> </span><span class="ff1">Lib<span class="_ _7"></span>ra<span class="_ _3"></span>ry<span class="_ _1"> </span>and</span></div><div class="t m0 x8 h2 y13b ff1 fs0 fc0 sc0 ls0 ws0">Other<span class="_ _1"> </span>Language</div><div class="t m0 x8 h2 y2f5 ff1 fs0 fc0 sc0 ls0 ws0">Asp<span class="_ _0"></span>ects</div><a class="l" href="#pf57" data-dest-detail='[87,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:158.662500px;bottom:250.204500px;width:241.993000px;height:24.026000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf57" data-dest-detail='[87,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:158.662500px;bottom:198.648000px;width:241.993000px;height:24.026000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf57" data-dest-detail='[87,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:158.662500px;bottom:147.091500px;width:90.543000px;height:24.026000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf58" class="pf w0 h0" data-page-no="58"><div class="pc pc58 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _3"></span>rom<span class="_ _17"> </span>C<span class="_ _17"> </span>to<span class="_ _9"> </span>C++</div><div class="t m0 xb hb y2f6 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">A<span class="_ _3"></span>void<span class="_ _f"> </span>old<span class="_ _c"> </span><span class="ff7">C<span class="_ _f"> </span></span>libra<span class="_ _3"></span>ry<span class="_ _c"> </span>routines<span class="_ _c"> </span>such<span class="_ _f"> </span>as<span class="_ _10"> </span><span class="ff7">qsort<span class="_ _25"> </span></span>,<span class="_ _10"> </span><span class="ff7">bsearch<span class="_ _d"> </span></span>,<span class="_ _c"> </span>etc.<span class="_ _e"> </span>Prefer<span class="_ _10"> </span><span class="ff5">std::sort<span class="_ _25"> </span></span>,</span></div><div class="t m0 xc hb y2f7 ff5 fs6 fc0 sc0 ls0 ws0">std::binary<span class="_ _8"> </span>search<span class="_ _10"> </span><span class="ff4">instead</span></div><div class="t m0 x56 hb y159 ff4 fs6 fc0 sc0 ls0 ws0">-<span class="_ _14"> </span><span class="ff7">std::sort<span class="_ _10"> </span></span>is<span class="_ _c"> </span>based<span class="_ _c"> </span>on<span class="_ _f"> </span>a<span class="_ _c"> </span>hybrid<span class="_ _c"> </span>so<span class="_ _3"></span>rting<span class="_ _f"> </span>algorithm.<span class="_ _9"> </span>Quick-so<span class="_ _3"></span>rt<span class="_ _f"> </span>/<span class="_ _c"> </span>head-sort</div><div class="t m0 x1a hb y2f8 ff4 fs6 fc0 sc0 ls0 ws0">(introso<span class="_ _3"></span>rt),<span class="_ _c"> </span>merge-sort<span class="_ _d"> </span>/<span class="_ _c"> </span>insertion,<span class="_ _c"> </span>etc.<span class="_ _9"> </span>dep<span class="_ _b"></span>ending<span class="_ _c"> </span>on<span class="_ _c"> </span>the<span class="_ _d"> </span><span class="ff7">std<span class="_ _c"> </span></span>implementation</div><div class="t m0 x56 hb y2f9 ff4 fs6 fc0 sc0 ls0 ws0">-<span class="_ _6"> </span>Prefer<span class="_ _10"> </span><span class="ff7">std::find()<span class="_ _10"> </span></span>fo<span class="_ _3"></span>r<span class="_ _f"> </span>small<span class="_ _c"> </span>arra<span class="_ _3"></span>y<span class="_ _7"></span>,<span class="_ _10"> </span><span class="ff7 fs4">std::lower<span class="_ _f"> </span>bound<span class="_ _25"> </span><span class="ff4">,</span></span></div><div class="t m0 x19 hb y2fa ff7 fs4 fc0 sc0 ls0 ws0">std::upper<span class="_ _f"> </span>bound<span class="_ _25"> </span><span class="ff4">,<span class="_ _10"> </span></span>std::binary<span class="_ _c"> </span>search<span class="_ _10"> </span><span class="ff4 fs6">for<span class="_ _c"> </span>la<span class="_ _3"></span>rge<span class="_ _c"> </span>sorted<span class="_ _c"> </span>a<span class="_ _3"></span>rray</span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">80/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf59" class="pf w0 h0" data-page-no="59"><div class="pc pc59 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _3"></span>unction<span class="_ _17"> </span>Optimizations</div><div class="t m0 xb hb y13c ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _14"> </span><span class="ff5">std::fill<span class="_ _10"> </span><span class="ff4">applies<span class="_ _10"> </span><span class="ff7">memset<span class="_ _10"> </span></span>and<span class="_ _10"> </span></span>std::copy<span class="_ _11"> </span><span class="ff4">applies<span class="_ _10"> </span><span class="ff7">memcpy<span class="_ _10"> </span></span>if<span class="_ _f"> </span>the</span></span></div><div class="t m0 x6 hb y2fb ff4 fs6 fc0 sc0 ls0 ws0">input/output<span class="_ _c"> </span>are<span class="_ _c"> </span>continuous<span class="_ _c"> </span>in<span class="_ _c"> </span>memory</div><div class="t m0 xb hb y2fc ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Use<span class="_ _c"> </span>the<span class="_ _f"> </span>same<span class="_ _c"> </span>type<span class="_ _f"> </span>fo<span class="_ _3"></span>r<span class="_ _f"> </span>initialization<span class="_ _c"> </span>in<span class="_ _f"> </span>functions<span class="_ _c"> </span>like<span class="_ _11"> </span><span class="ff7">std::accumulate()<span class="_ _d"> </span></span>,</span></div><div class="t m0 xc h11 y2fd ff7 fs6 fc0 sc0 ls0 ws0">std::fill</div><div class="t m0 xc hd y2fe ff5 fs7 fc9 sc0 ls0 ws0">auto<span class="_ _9"> </span><span class="ffc fc0">array<span class="_ _9"> </span><span class="fc8">=<span class="_ _e"> </span></span></span>new<span class="_ _9"> </span><span class="fc6">int<span class="ffc fc0">[size];</span></span></div><div class="t m0 xc hd y2ff ffc fs7 fc0 sc0 ls0 ws0">...</div><div class="t m0 xc hd y300 ff5 fs7 fc9 sc0 ls0 ws0">auto<span class="_ _9"> </span><span class="ffc fc0">sum<span class="_ _9"> </span><span class="fc8">=<span class="_ _e"> </span></span>std<span class="fc8">::</span>accumulate(array,<span class="_ _9"> </span>array<span class="_ _9"> </span><span class="fc8">+<span class="_ _e"> </span></span>size,<span class="_ _9"> </span><span class="fc8">0u</span>);</span></div><div class="t m0 xc hd y301 ffb fs7 fc5 sc0 ls0 ws0">//<span class="_ _9"> </span>0u<span class="_ _9"> </span>!=<span class="_ _e"> </span>0<span class="_ _9"> </span><span class="ff17">→<span class="_ _9"> </span></span>conversion<span class="_ _e"> </span>at<span class="_ _9"> </span>each<span class="_ _9"> </span>step</div><div class="t m0 xc hd y302 ffc fs7 fc0 sc0 ls0 ws0">std<span class="fc8">::</span>fill(array,<span class="_ _9"> </span>array<span class="_ _9"> </span><span class="fc8">+<span class="_ _e"> </span></span>size,<span class="_ _9"> </span><span class="fc8">0u</span>);</div><div class="t m0 xc hd y303 ffb fs7 fc5 sc0 ls0 ws0">//<span class="_ _9"> </span>it<span class="_ _9"> </span>is<span class="_ _e"> </span>not<span class="_ _9"> </span>translated<span class="_ _9"> </span>into<span class="_ _e"> </span><span class="ff15">memset</span></div><div class="t m0 x30 hd y304 ffc fs7 fcc sc0 ls0 ws0">The<span class="_ _9"> </span>Hunt<span class="_ _9"> </span>for<span class="_ _e"> </span>the<span class="_ _9"> </span>Fastest<span class="_ _9"> </span>Zero</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">81/84</div><a class="l" href="https://travisdowns.github.io/blog/2020/01/20/zero.html"><div class="d m1" style="border-style:none;position:absolute;left:52.083000px;bottom:8.152500px;width:138.506000px;height:13.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf5a" class="pf w0 h0" data-page-no="5a"><div class="pc pc5a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Containers</div><div class="t m0 xb hb yb1 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Use<span class="_ _10"> </span><span class="ff5">std<span class="_ _10"> </span></span>container<span class="_ _c"> </span>memb<span class="_ _b"></span>er<span class="_ _c"> </span>functions<span class="_ _f"> </span>(e.g.<span class="_ _4"> </span><span class="ff7">obj.find()<span class="_ _d"> </span></span>)<span class="_ _c"> </span>instead<span class="_ _c"> </span>of<span class="_ _f"> </span>external</span></div><div class="t m0 x6 hb y305 ff4 fs6 fc0 sc0 ls0 ws0">ones<span class="_ _c"> </span>(e.g.<span class="_ _4"> </span><span class="ff7">std::find()<span class="_ _d"> </span></span>).<span class="_ _e"> </span><span class="fs4">Example:<span class="_ _5c"> </span><span class="ff7">std::set<span class="_ _11"> </span><span class="ffa">O<span class="_ _0"></span></span></span>(<span class="ffa">log<span class="_ _0"></span></span>(<span class="ffa">n</span>))<span class="_ _c"> </span>vs.<span class="_ _17"> </span><span class="ffa">O<span class="_ _0"></span></span>(<span class="ffa">n</span>)</span></div><div class="t m0 xb hb y306 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Be<span class="_ _c"> </span>aw<span class="_ _3"></span>a<span class="_ _3"></span>re<span class="_ _f"> </span>of<span class="_ _c"> </span>container<span class="_ _f"> </span>p<span class="_ _3"></span>rop<span class="_ _0"></span>erties,<span class="_ _c"> </span>e.g.<span class="_ _3a"> </span><span class="ff7 fs4">vector.push<span class="_ _f"> </span>vector(v)<span class="_ _d"> </span></span>,<span class="_ _c"> </span>instead<span class="_ _f"> </span>of</span></div><div class="t m0 xc hb y307 ff7 fs4 fc0 sc0 ls0 ws0">vector.insert(vector.begin(),<span class="_ _e"> </span>value)<span class="_ _10"> </span><span class="ff10 fs6">→<span class="_ _f"> </span><span class="ff4">entire<span class="_ _c"> </span>copy<span class="_ _c"> </span>of<span class="_ _c"> </span>all<span class="_ _c"> </span>vector<span class="_ _c"> </span>elements</span></span></div><div class="t m0 xb hb y308 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Set<span class="_ _10"> </span><span class="ff5">std::vector<span class="_ _10"> </span></span>size<span class="_ _c"> </span>during<span class="_ _c"> </span>the<span class="_ _f"> </span>object<span class="_ _c"> </span>construction<span class="_ _f"> </span>(or<span class="_ _c"> </span>use<span class="_ _c"> </span>the<span class="_ _10"> </span><span class="ff7">reserve()</span></span></div><div class="t m0 x6 hb y309 ff4 fs6 fc0 sc0 ls0 ws0">metho<span class="_ _b"></span>d)<span class="_ _c"> </span>if<span class="_ _c"> </span>the<span class="_ _c"> </span>numb<span class="_ _0"></span>er<span class="_ _d"> </span>of<span class="_ _f"> </span>elements<span class="_ _c"> </span>to<span class="_ _c"> </span>insert<span class="_ _c"> </span>is<span class="_ _f"> </span>known<span class="_ _d"> </span>in<span class="_ _f"> </span>advance<span class="_ _c"> </span><span class="ff10">→<span class="_ _c"> </span></span>every<span class="_ _c"> </span>implicit</div><div class="t m0 x6 hb y30a ff4 fs6 fc0 sc0 ls0 ws0">resize<span class="_ _c"> </span>is<span class="_ _c"> </span>equivalent<span class="_ _f"> </span>to<span class="_ _c"> </span>a<span class="_ _f"> </span>copy<span class="_ _c"> </span>of<span class="_ _c"> </span>all<span class="_ _c"> </span>vector<span class="_ _c"> </span>elements</div><div class="t m0 xb hb y30b ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Consider<span class="_ _c"> </span><span class="ffa">unordered<span class="_ _17"> </span></span>containers<span class="_ _f"> </span>instead<span class="_ _c"> </span>of<span class="_ _f"> </span>the<span class="_ _c"> </span>standard<span class="_ _c"> </span>one,<span class="_ _c"> </span>e.g.<span class="_ _4"> </span><span class="ff7">unorder<span class="_ _8"> </span>map</span></span></div><div class="t m0 x6 hb y30c ff4 fs6 fc0 sc0 ls0 ws0">vs.<span class="_ _4"> </span><span class="ff7">map</span></div><div class="t m0 xb hb y30d ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Prefer<span class="_ _10"> </span><span class="ff5">std::array<span class="_ _10"> </span></span>instead<span class="_ _c"> </span>of<span class="_ _c"> </span>dynamic<span class="_ _f"> </span>heap<span class="_ _c"> </span>allo<span class="_ _b"></span>cation</span></div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">82/84</div></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf5b" class="pf w0 h0" data-page-no="5b"><div class="pc pc5b w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIgElEQVR42u3ZoQ0CMQCG0ZZcg2QGgmICQtAktwKCeViCDRDMQIJgCDZAneKoKQ6JgIT0yHv6RPOf+dLG2WIVAACgGtfLeWQFAABqI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAHiJOWcrAABQj5SSm1QAAKojUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkmAABApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUk0AAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAAvtIM5aD3vm83Wz8MhuV0PBgBgA/EnLMVAACoR0rJcz8AANURqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQDgvzXdbmoFAAB+5rbev/9gvmxjnIxL9wihlGIxAACq8AThIR0CADya+gAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Critics<span class="_ _17"> </span>to<span class="_ _17"> </span>Standard<span class="_ _8"> </span>T<span class="_ _7"></span>emplate<span class="_ _17"> </span>Lib<span class="_ _3"></span>rary<span class="_ _8"> </span>(STL)</div><div class="t m0 xb hb y13c ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Platfo<span class="_ _3"></span>rm/Compiler-dep<span class="_ _b"></span>endent<span class="_ _f"> </span>implementation</span></div><div class="t m0 xb hb y2d9 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Execution<span class="_ _c"> </span>order<span class="_ _c"> </span>and<span class="_ _c"> </span>results<span class="_ _c"> </span>across<span class="_ _f"> </span>platforms</span></div><div class="t m0 xb hb y30e ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Debugging<span class="_ _c"> </span>is<span class="_ _f"> </span>ha<span class="_ _3"></span>rd</span></div><div class="t m0 xb hb y30f ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Complex<span class="_ _c"> </span>interaction<span class="_ _f"> </span>with<span class="_ _c"> </span>custom<span class="_ _f"> </span>memo<span class="_ _3"></span>ry<span class="_ _f"> </span>allo<span class="_ _b"></span>cators</span></div><div class="t m0 xb hb y310 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Erro<span class="_ _3"></span>r<span class="_ _f"> </span>handling<span class="_ _c"> </span>based<span class="_ _f"> </span>on<span class="_ _c"> </span>exceptions<span class="_ _f"> </span>is<span class="_ _c"> </span>non-transparent</span></div><div class="t m0 xb hb y311 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Bina<span class="_ _3"></span>ry<span class="_ _f"> </span>bloat</span></div><div class="t m0 xb hb y142 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Compile<span class="_ _c"> </span>time<span class="_ _f"> </span>(see<span class="_ _c"> </span><span class="ff7">C++<span class="_ _15"> </span>Compile<span class="_ _15"> </span>Health<span class="_ _15"> </span>Watchdog</span>,<span class="_ _c"> </span>and<span class="_ _f"> </span><span class="ff7">STL<span class="_ _15"> </span>Explorer</span>)</span></div><div class="t m0 x30 hd y312 ffc fs7 fcc sc0 ls0 ws0">STL<span class="_ _9"> </span>isnt<span class="_ _9"> </span>for<span class="_ _e"> </span>*anyone*</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">83/84</div><a class="l" href="https://artificial-mind.net/projects/compile-health/"><div class="d m1" style="border-style:none;position:absolute;left:202.572000px;bottom:59.587500px;width:156.628000px;height:12.901000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://s9w.github.io/stl_explorer/explorer.html"><div class="d m1" style="border-style:none;position:absolute;left:474.753000px;bottom:59.587500px;width:70.720000px;height:12.901000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://twitter.com/m_ninepoints/status/1497768472184430600"><div class="d m1" style="border-style:none;position:absolute;left:52.083000px;bottom:2.808000px;width:105.554000px;height:13.444000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
<div id="pf5c" class="pf w0 h0" data-page-no="5c"><div class="pc pc5c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Other<span class="_ _17"> </span>Language<span class="_ _17"> </span>Asp<span class="_ _b"></span>ects</div><div class="t m0 xb hb y313 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Prefer<span class="_ _10"> </span><span class="ff5">lambda<span class="_ _10"> </span></span>exp<span class="_ _3"></span>ression<span class="_ _f"> </span>(o<span class="_ _3"></span>r<span class="_ _10"> </span><span class="ff7">function<span class="_ _15"> </span>object<span class="_ _d"> </span></span>)<span class="_ _c"> </span>instead<span class="_ _c"> </span>of<span class="_ _10"> </span><span class="ff7">std::function</span></span></div><div class="t m0 x6 hb y314 ff4 fs6 fc0 sc0 ls0 ws0">o<span class="_ _3"></span>r<span class="_ _f"> </span>function<span class="_ _c"> </span>p<span class="_ _b"></span>ointers</div><div class="t m0 xb hb y315 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">A<span class="_ _3"></span>void<span class="_ _f"> </span>dynamic<span class="_ _c"> </span>op<span class="_ _b"></span>erations:<span class="_ _e"> </span><span class="ff1">exceptions<span class="_ _c"> </span></span>(and<span class="_ _f"> </span>use<span class="_ _10"> </span><span class="ff7">noexcept<span class="_ _d"> </span></span>),<span class="_ _c"> </span><span class="ff1">sma<span class="_ _3"></span>rt<span class="_ _8"> </span>p<span class="_ _b"></span>ointer</span></span></div><div class="t m0 x6 hb y316 ff4 fs6 fc0 sc0 ls0 ws0">(e.g.<span class="_ _4"> </span><span class="ff7">std::unique<span class="_ _8"> </span>ptr<span class="_ _d"> </span></span>)</div><div class="t m0 xb hb y317 ff8 fs6 fc0 sc0 ls0 ws0">•<span class="_ _6"> </span><span class="ff4">Use<span class="_ _10"> </span><span class="ff5">noexcept<span class="_ _10"> </span></span>deco<span class="_ _3"></span>rator<span class="_ _c"> </span><span class="ff10">→<span class="_ _c"> </span></span>program<span class="_ _c"> </span>is<span class="_ _c"> </span>ab<span class="_ _b"></span>orted<span class="_ _c"> </span>if<span class="_ _c"> </span>an<span class="_ _c"> </span>error<span class="_ _c"> </span>occurred<span class="_ _f"> </span>instead<span class="_ _c"> </span>of</span></div><div class="t m0 x6 hb y318 ff4 fs6 fc0 sc0 ls0 ws0">raising<span class="_ _c"> </span>an<span class="_ _c"> </span>exception.<span class="_ _e"> </span>see</div><div class="t m0 x6 hc y319 ff7 fs4 fc0 sc0 ls0 ws0">Bitcoin:<span class="_ _2"> </span>9%<span class="_ _6"> </span>less<span class="_ _6"> </span>memory:<span class="_ _2"> </span>make<span class="_ _6"> </span>SaltedOutpointHasher<span class="_ _e"> </span>noexcept</div><div class="t m0 x13 ha y12 ff6 fs5 fc0 sc0 ls0 ws0">84/84</div><a class="l" href="https://github.com/bitcoin/bitcoin/pull/16957"><div class="d m1" style="border-style:none;position:absolute;left:73.752000px;bottom:72.445500px;width:321.046000px;height:11.125000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.500000,0.000000,0.000000,1.500000,0.000000,0.000000]}'></div></div>
</div>
<div class="loading-indicator">
<img alt="" src="data:image/png;base64,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"/>
</div>
</body>
</html>