4. 最終実装コード 今回の目標はこのコードの意味を理解すること 2011/8/6 /204 union di { uint64_t i; double d; }; double expd(double x) { di di; di.d = x * 2954.639443740597 + 6755399441055744ULL; uint64_t iax = tbl[di.i & 2047]; double t = (di.d - 6755399441055744ULL) * 0.0003384507717577858 - x; uint64_t u = ((di.i + 2095104) >> 11) << 52; double y = (3.0000000027955394 - t) * (t * t) * 0.16666666685227835 - t + 1; di.i = u
![高速な倍精度指数関数expの実装](https://cdn-ak-scissors.b.st-hatena.com/image/square/83c6c4c78a2cabf37f5399ac3da8613f5374f9b5/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fx86opti2-2-111001084440-phpapp01-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)