{"id":312143,"date":"2020-10-28T09:00:19","date_gmt":"2020-10-28T09:00:19","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=312143"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=312143","title":{"rendered":"\u041c\u043e\u0436\u043d\u043e \u043b\u0438 \u0441\u043b\u043e\u0436\u0438\u0442\u044c N \u0447\u0438\u0441\u0435\u043b \u0442\u0438\u043f\u0430 double \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u043e?"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\n<h1>\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0441\u0435\u0440\u0438\u044f\u0445\u2026<\/h1>\n<p>  <a href=\"https:\/\/habr.com\/ru\/post\/523654\/\">\u041f\u0440\u043e\u0448\u043b\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f<\/a> \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b\u0430 \u043e \u0434\u0432\u0443\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u0445 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u0432\u0443\u0445 <b>\u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0445<\/b> \u0447\u0438\u0441\u0435\u043b \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u0431\u0435\u0437 \u043f\u043e\u0442\u0435\u0440\u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438. \u0427\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u044d\u0442\u043e\u0433\u043e, \u043c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0441\u0443\u043c\u043c\u0443 c=a+b \u0432 \u0432\u0438\u0434\u0435 \u0434\u0432\u0443\u0445 \u0447\u0438\u0441\u0435\u043b (s,t)=a+b, \u043f\u0440\u0438\u0447\u0451\u043c \u0442\u0430\u043a\u0438\u0445, \u0447\u0442\u043e s \u2014 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0431\u043b\u0438\u0437\u043a\u043e\u0435 \u043a a+b \u0442\u043e\u0447\u043d\u043e-\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u0430 t=(a+b)-s \u2014 \u044d\u0442\u043e \u043e\u0442\u0441\u0435\u043a\u0430\u0435\u043c\u0430\u044f \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u044f \u0447\u0430\u0441\u0442\u044c, \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0430\u044f <b>\u0442\u043e\u0447\u043d\u0443\u044e<\/b> \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c. \u0423 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439 \u0431\u044b\u043b \u0432\u043e\u043f\u0440\u043e\u0441: \u0430 \u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0442\u043e\u0447\u043d\u043e \u0441\u043b\u043e\u0436\u0438\u0442\u044c \u043c\u0430\u0441\u0441\u0438\u0432 \u0447\u0438\u0441\u0435\u043b \u0442\u0438\u043f\u0430 double? \u041e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043c\u043e\u0436\u043d\u043e! \u041d\u043e \u0442\u043e\u043b\u044c\u043a\u043e, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0438 \u043d\u0435 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e\u2026 \u0438 \u043d\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c \u041a\u044d\u0445\u044d\u043d\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u0433\u0434\u0430 \u0432\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u043b\u0438 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445. \u0417\u0430 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u043f\u0440\u043e\u0448\u0443 \u043f\u043e\u0434 \u043a\u0430\u0442, \u0433\u0434\u0435 \u043c\u044b \u0438 \u043d\u0430\u0439\u0434\u0451\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0442\u043e\u043c\u0443, \u043e \u0447\u0451\u043c \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u0432 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0440\u0430\u0437.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ug\/dp\/eo\/ugdpeo1gswkdeqoke0m8mroy8uq.jpeg\"><\/div>\n<p>  <a name=\"habracut\"><\/a><\/p>\n<h1>\u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435<\/h1>\n<p>  \u041a\u043e\u043c\u0443 \u043d\u0435 \u0442\u0435\u0440\u043f\u0438\u0442\u0441\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u043b\u0438\u0441\u0442\u0430\u0439\u0442\u0435 \u0441\u0440\u0430\u0437\u0443 \u0432\u043d\u0438\u0437 \u043a \u0440\u0430\u0437\u0434\u0435\u043b\u0443 \u00ab<a href=\"#tables\">\u0422\u0430\u0431\u043b\u0438\u0446\u044b<\/a>\u00bb \u2014 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437\u0434\u0435\u043b \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u044c \u0431\u0435\u0437 \u0447\u0442\u0435\u043d\u0438\u044f \u0442\u0435\u043e\u0440\u0438\u0438 \u0438 \u043c\u043d\u043e\u0433\u043e\u0441\u043b\u043e\u0432\u043d\u043e\u0439 \u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0410 \u0437\u0434\u0435\u0441\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b.<\/p>\n<p>  \u0422\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e, \u043f\u043e\u043b\u043d\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0432 \u0444\u043e\u0440\u043c\u0435 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0441 \u0437\u0430\u043a\u0430\u0434\u0440\u043e\u0432\u044b\u043c \u0433\u043e\u043b\u043e\u0441\u043e\u043c:<\/p>\n<div class=\"oembed\"><iframe id=\"5f991d85cb79a1e12d6663ed\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/5f991d85cb79a1e12d6663ed\"><\/iframe><\/div>\n<p>  \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0442\u043e\u0447\u043d\u043e \u0441\u043b\u043e\u0436\u0438\u0442\u044c N \u0447\u0438\u0441\u0435\u043b \u0442\u0438\u043f\u0430 double (binary64 \u0432 IEEE-754) \u0441 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \u0441\u0443\u043c\u043c\u044b \u0432 \u0442\u0438\u043f\u0435 double \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0432 \u0441\u0438\u043b\u0443 \u0441\u0430\u043c\u043e\u0439 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0437\u0430\u043f\u044f\u0442\u043e\u0439. \u0415\u0441\u043b\u0438 \u043c\u044b \u0432\u043e\u0437\u044c\u043c\u0451\u043c \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0443 \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u0441 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e (\u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0440\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0447\u0438\u0441\u043b\u0430\u043c\u0438), \u0442\u043e \u043f\u0440\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u043c \u043e\u0431\u044a\u0451\u043c\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0442\u043e\u0447\u043d\u0443\u044e \u0441\u0443\u043c\u043c\u0443 S \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0447\u0438\u0441\u0435\u043b X[N]. \u041d\u043e \u044d\u0442\u0443 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0442\u043e\u0447\u043d\u0443\u044e \u0441\u0443\u043c\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043e\u043a\u0440\u0443\u0433\u043b\u0438\u0442\u044c \u043a \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u043c\u0443 \u0447\u0438\u0441\u043b\u0443 \u0442\u0438\u043f\u0430 double. \u041d\u0430\u0437\u043e\u0432\u0451\u043c \u044d\u0442\u0443 \u043e\u043a\u0440\u0443\u0433\u043b\u0451\u043d\u043d\u0443\u044e \u0441\u0443\u043c\u043c\u0443 S\u2019. \u0415\u0441\u043b\u0438 \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e RN(x) \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0435\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e x \u00ab\u043a \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u043c\u0443 \u0447\u0451\u0442\u043d\u043e\u043c\u0443\u00bb, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e S\u2019=RN(S), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 |S-S\u2019| \u2264 0.5ulp (\u0442. \u0435. \u043e\u0448\u0438\u0431\u043a\u0430 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u044b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043c\u043b\u0430\u0434\u0448\u0435\u0433\u043e \u0431\u0438\u0442\u0430). \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043e\u0431 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u043c\u044b \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u043c, \u043d\u043e \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0447\u0438\u0441\u043b\u043e S\u2019 \u2014 \u00ab<b>\u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u043e\u0439<\/b>\u00bb (\u0438\u0437 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445). \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0435\u0440\u0435\u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u043c \u043d\u0430\u0448 \u0432\u043e\u043f\u0440\u043e\u0441 \u0438\u043d\u0430\u0447\u0435: \u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u0441\u043b\u043e\u0436\u0438\u0442\u044c \u0447\u0438\u0441\u043b\u0430 X[N] \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u0443\u044e \u0441\u0443\u043c\u043c\u0443 S\u2019, \u043d\u0435 \u043f\u043e\u043b\u044c\u0437\u0443\u044f\u0441\u044c \u0434\u043b\u0438\u043d\u043d\u043e\u0439 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u043e\u0439, \u0430 \u043e\u0441\u0442\u0430\u0432\u0430\u044f\u0441\u044c \u043b\u0438\u0448\u044c \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 double? <\/p>\n<p>  <b>\u0414\u0430!<\/b> \u041d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u043c \u043d\u0430\u0431\u043e\u0440\u0435 \u0447\u0438\u0441\u0435\u043b \u044d\u0442\u043e\u0433\u043e, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f. \u042f \u043f\u043e\u043a\u0430\u0436\u0443 \u043e\u0434\u0438\u043d \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043d\u0435 <strong>\u043d\u0435<\/strong> \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u00ab\u0437\u0430\u0432\u0430\u043b\u0438\u0442\u044c\u00bb, \u0445\u043e\u0442\u044f \u0432 \u0442\u0435\u043e\u0440\u0438\u0438, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u044b\u0435 \u0442\u0435\u0441\u0442\u044b, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043e\u0448\u0438\u0431\u0441\u044f \u0445\u043e\u0442\u044f \u0431\u044b \u043d\u0430 1ulp \u0438 \u0432\u044b\u0434\u0430\u043b \u0431\u044b \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u044f \u0431\u044b \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0431\u0438\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430. \u0412\u0441\u0435\u0433\u043e \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0442\u0440\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u043c \u0438\u0445 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u0447\u0435\u0440\u0435\u0437 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0442\u043e\u0447\u043d\u0443\u044e \u0441\u0443\u043c\u043c\u0443 S, \u043e\u043a\u0440\u0443\u0433\u043b\u0451\u043d\u043d\u0443\u044e \u0434\u043e \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b S\u2019. <\/p>\n<p>  \u041d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u0434\u0432\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438, \u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0434\u0430\u0442\u044c \u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f. \u042f \u0431\u0443\u0434\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u043e\u043c C++, \u0443\u0432\u0435\u0440\u0435\u043d, \u044d\u0442\u043e \u043d\u0435 \u0432\u044b\u0437\u043e\u0432\u0435\u0442 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u0435\u0439 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u0443 \u043b\u044e\u0431\u043e\u0433\u043e \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f. <\/p>\n<h2>\u041f\u0435\u0440\u0432\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0434\u043b\u044f \u0434\u0432\u0443\u0445 \u0447\u0438\u0441\u0435\u043b<\/h2>\n<p>  \u041d\u0430\u043f\u043e\u043c\u043d\u044e, \u044d\u0442\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u0434\u0432\u0430 \u0447\u0438\u0441\u043b\u0430: \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0431\u043b\u0438\u0437\u043a\u0443\u044e \u043a \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u0443 s=RN(a+b) \u0438 \u0442\u043e\u0447\u043d\u0443\u044e \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c t=(a+b)-s. \u0414\u0430\u043d\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0438 |a|\u2265|b|, \u0435\u0441\u043b\u0438 \u0441\u0443\u043c\u043c\u0430 RN(a+b)\u2260\u221e.<\/p>\n<p>  <code>s = RN (a+b);<br \/>  z = RN (s-a);<br \/>  t = RN (b-z);<br \/>  return (s, t); <br \/>  <\/code><br \/>  \u042f \u0437\u0430\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043b \u0435\u0433\u043e \u043d\u0430 C++ \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cpp\">double __fastcall fast_two_sum (double &amp;t, double a, double b) {   double s = a+b;   t = b-(s-a);   return s; }<\/code><\/pre>\n<p>  \u041d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c\u0442\u0435, \u0447\u0442\u043e \u043f\u0440\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0444\u043b\u0430\u0433\u0438 \u0430\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u043e\u0439 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0437\u0430\u043f\u044f\u0442\u043e\u0439, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0437\u0434\u0435\u0441\u044c \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u043b\u044c\u0437\u044f. \u0422\u0430\u043a\u0436\u0435 \u043c\u043d\u0435 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0431\u0443\u0434\u0443\u0442 \u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043d\u0430 GPU, \u0442\u0430\u043a \u043a\u0430\u043a \u0440\u0430\u043d\u044c\u0448\u0435 (\u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435, \u043d\u0430 \u0437\u0430\u0440\u0435 \u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f) \u043e\u043d\u0438 \u043c\u043e\u0433\u043b\u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0447\u0438\u0441\u043b\u0430 \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u0434\u0430\u0436\u0435 \u0431\u043b\u0438\u0437\u043a\u043e \u043d\u0435 \u043f\u043e \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0443. \u041e \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u0434\u0435\u043b \u043c\u043d\u0435 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u043f\u0440\u043e\u0448\u0443 \u0437\u043d\u0430\u044e\u0449\u0438\u0445 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439 \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445.<\/p>\n<h2>\u0412\u0442\u043e\u0440\u043e\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0434\u043b\u044f \u0434\u0432\u0443\u0445 \u0447\u0438\u0441\u0435\u043b<\/h2>\n<p>  \u042d\u0442\u043e\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u0440\u0438 \u043b\u044e\u0431\u043e\u043c \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0438 \u043c\u0435\u0436\u0434\u0443 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/372\/e18\/546\/372e18546a3b7abb94c2672708bc5dfe.svg\" alt=\"$a$\" data-tex=\"inline\"><\/math> \u0438 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/302\/c72\/04e\/302c7204ea9987e698a70307646abd71.svg\" alt=\"$b$\" data-tex=\"inline\"><\/math>, \u043d\u043e \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 RN(a+b)\u2260\u221e. \u0412\u043c\u0435\u0441\u0442\u043e 3-\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0437\u0434\u0435\u0441\u044c \u0438\u0445 6.<\/p>\n<p>  <code>s = RN (a+b);<br \/>  b' = RN (s-a); <br \/>  a' = RN (s-b'); <br \/>  d_b = RN (b-b'); <br \/>  d_a = RN (a-a'); <br \/>  t = RN (d_a+d_b); <br \/>  return (s, t)<br \/>  <\/code><br \/>  \u0412 \u043c\u043e\u0451\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043d\u0430 C++ \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cpp\">double __fastcall two_sum (double &amp;t, double a, double b) {   double s = a+b;   double bs = s-a;   double as = s-bs;   t = (b-bs) + (a-as);   return s; } <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043a\u0430\u043a\u0438\u0435 \u0431\u044b\u0432\u0430\u044e\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0447\u0438\u0441\u0435\u043b \u0438\u0437 \u043c\u0430\u0441\u0441\u0438\u0432\u0430. \u0421\u0440\u0430\u0437\u0443 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u044e, \u0447\u0442\u043e \u0438\u0445 \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e, \u043d\u043e \u044f \u0432\u0437\u044f\u043b \u0434\u0432\u0430 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0445 \u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0438\u0437 \u043a\u043d\u0438\u0433\u0438 [1], \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u0441\u0435\u0431\u044f \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442. \u041d\u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b, \u0435\u0441\u043b\u0438 \u0432\u0430\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0430\u0432\u0442\u043e\u0440\u044b \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u043e\u0439 \u043a\u043d\u0438\u0433\u0438 \u0434\u0430\u044e\u0442 \u0440\u044f\u0434 \u0441\u0441\u044b\u043b\u043e\u043a.<\/p>\n<h1>\u041e\u0431\u0437\u043e\u0440 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/h1>\n<p>  <b>\u0417\u0430\u0434\u0430\u0447\u0430<\/b>. \u0417\u0430\u0434\u0430\u043d \u043c\u0430\u0441\u0441\u0438\u0432 X[N] \u0442\u0438\u043f\u0430 double, \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043e\u0442\u044b\u0441\u043a\u0430\u0442\u044c \u0441\u0443\u043c\u043c\u0443 \u0432\u0441\u0435\u0445 \u0447\u0438\u0441\u0435\u043b \u0432 \u044d\u0442\u043e\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u0435, \u0441\u0443\u043c\u043c\u0430 \u0438\u043c\u0435\u0435\u0442 \u0442\u043e\u0442 \u0436\u0435 \u0442\u0438\u043f double. <\/p>\n<p>  \u041d\u0438\u0436\u0435 \u043f\u043e \u0442\u0435\u043a\u0441\u0442\u0443 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u043c\u043e\u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c (\u0433\u0434\u0435 \u043e\u043d\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f). \u0412\u0441\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u0443\u0434\u0443\u0442 \u043e\u043f\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c \u0434\u043b\u044f \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0447\u0438\u0441\u0435\u043b \u0442\u0438\u043f\u0430 double:<\/p>\n<pre><code class=\"cpp\">using dvect_t = vector&lt;double&gt;;<\/code><\/pre>\n<p>  <\/p>\n<h2>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c 0. \u0410\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0442\u043e\u0447\u043d\u0430\u044f \u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430<\/h2>\n<p>  \u042d\u0442\u043e\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043d\u0443\u0436\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445, \u0435\u0433\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043c\u044b\u0441\u043b \u043b\u0438\u0447\u043d\u043e \u0434\u043b\u044f \u043c\u0435\u043d\u044f \u043f\u043e\u0447\u0442\u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442. \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0441\u0443\u043c\u043c\u0443 \u0447\u0438\u0441\u0435\u043b \u0442\u043e\u0447\u043d\u043e, \u043d\u0443\u0436\u043d\u0430 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0430 \u0441 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0434\u043b\u0438\u043d\u043d\u0430\u044f \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0430 \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0437\u0430\u043f\u044f\u0442\u043e\u0439, \u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0434\u043b\u0438\u043d\u043d\u0430\u044f \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0430 \u0440\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b. \u042f \u0432\u044b\u0431\u0440\u0430\u043b \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e. \u0412\u0437\u044f\u043b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 MPIR (\u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0432\u0437\u044f\u0442\u044c \u0438 GMP) \u0438 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 mpq_t. \u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0432 \u0441\u043a\u0440\u044b\u0442\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u0435 \u043a\u043e\u0434 \u0432\u044b\u0434\u0430\u0451\u0442 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u0443\u044e \u0441\u0443\u043c\u043c\u0443 S\u2019, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u0443\u044e \u0438\u0437 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0442\u043e\u0447\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b S \u043f\u0443\u0442\u0451\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u044f. \u041f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0441\u043a\u0440\u044b\u0442\u044b\u0439 \u0442\u0435\u043a\u0441\u0442, \u0435\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u044b \u0441 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0430 double, \u044d\u0442\u043e \u043d\u0435 \u043f\u043e\u043c\u0435\u0448\u0430\u0435\u0442 \u0432\u0430\u043c \u043f\u043e\u043d\u044f\u0442\u044c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b. <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u041a\u043e\u0434 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 0 \u0438 \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u044f<\/b>                         <\/p>\n<div class=\"spoiler_text\">\u0415\u0441\u043b\u0438 \u043d\u0435\u0442 \u0446\u0435\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439, \u0442\u043e \u043a\u043e\u0434 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u044f\u043c\u043e\u043b\u0438\u043d\u0435\u0439\u043d\u043e, \u043e\u0434\u043d\u0430\u043a\u043e \u0434\u0430\u043b\u0435\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430. \u0424\u0443\u043d\u043a\u0446\u0438\u044f mpq_get_d \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 MPIR \u043e\u043a\u0440\u0443\u0433\u043b\u044f\u0435\u0442 \u0447\u0438\u0441\u043b\u043e \u0432\u043d\u0438\u0437, \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0442\u0440\u0435\u0437\u0430\u044f \u00ab\u043b\u0438\u0448\u043d\u0435\u0435\u00bb (\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u044f \u0442\u0430\u043c \u043d\u0435\u0442). \u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043e\u043a\u0440\u0443\u0433\u043b\u0438\u0442\u044c \u043f\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u0443 \u00ab\u043a \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u043c\u0443 \u0447\u0451\u0442\u043d\u043e\u043c\u0443\u00bb, \u0430 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u0442\u044c \u00ab\u0442\u0430\u043d\u0446\u044b \u0441 \u0431\u0443\u0431\u043d\u043e\u043c\u00bb \u043d\u0430\u0434 \u0431\u0438\u0442\u043e\u0432\u044b\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0447\u0438\u0441\u0435\u043b \u0442\u0438\u043f\u0430 double. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u043a\u043e\u0434\u0435 \u043d\u0438\u0436\u0435 \u0435\u0441\u0442\u044c UB, \u0431\u0443\u0434\u044c\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u044b. <\/p>\n<pre><code class=\"cpp\"> using u64 = unsigned long long; #define DAU(x) (*(u64*)(&amp;x))  \/\/ \u042d\u0442\u043e UB, \u0434\u0440\u0443\u0437\u044c\u044f! \u041f\u0435\u0440\u0435\u043f\u0438\u0448\u0438\u0442\u0435 \u043a\u0430\u043a \u0432\u0430\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0435\u0435.      \/\/ \u041d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0431\u043b\u0438\u0437\u043a\u0430\u044f \u0441\u0443\u043c\u043c\u0430.     \/\/ \u0421\u0443\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 \u0440\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0440\u043e\u0431\u0438 \u0441 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e.     \/\/ \u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0437\u0434\u0435\u0441\u044c \u0442\u0430\u043d\u0446\u044b \u0441 UB! \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c. double __fastcall sum_exact (const dvect_t &amp;X) {   mpq_t s, a, b;   mpq_inits (s, a, b, NULL);    \/\/ \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0432\u0441\u0451 \u0441\u043b\u043e\u0436\u0438\u0442\u044c   mpq_set_d (s, 0.0); \/\/ \u041e\u0431\u0449\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0434\u0440\u043e\u0431\u0435\u0439 s = 0   for (auto x: X) {     mpq_set_d (a, x);  \/\/ \u041f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c 'x' \u043a \u0434\u0440\u043e\u0431\u0438 'a'     mpq_add (s, s, a); \/\/ \u0421\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u043c s += a.   }    \/\/ \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0442\u043e\u0447\u043d\u043e-\u043e\u043a\u0440\u0443\u0433\u043b\u0451\u043d\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442.   double res = mpq_get_d (s); \/\/ \u0417\u0434\u0435\u0441\u044c \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0435 \u043a \u043d\u0443\u043b\u044e! \u042d\u0442\u043e \u0435\u0449\u0451 \u043d\u0435 \u0442\u043e\u0447\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442!      \/\/ \u0414\u043e\u0441\u0442\u0430\u0451\u043c &quot;\u0431\u0443\u0431\u0435\u043d&quot;...    \/\/ \u041d\u0443\u0436\u043d\u043e \u043d\u0430 \u0432\u0440\u0435\u043c\u044f \u0443\u0431\u0440\u0430\u0442\u044c \u0437\u043d\u0430\u043a &quot;\u043c\u0438\u043d\u0443\u0441&quot;   bool is_negative = res &lt; 0.0;   res = abs(res);   mpq_abs (s, s);   u64 res64 = DAU(res); \/\/ \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0431\u0438\u0442\u043e\u0432\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0447\u0438\u0441\u043b\u0430 \u0442\u0438\u043f\u0430 double.   u64 res64_next = res64+1;  \/\/ \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0437\u0430 'res' \u0447\u0438\u0441\u043b\u043e \u0432 \u0431\u0438\u0442\u043e\u0432\u043e\u0439 \u0444\u043e\u0440\u043c\u0435   double res_next;   DAU(res_next) = res64_next;  \/\/ 'res_next' - \u044d\u0442\u043e \u0447\u0438\u0441\u043b\u043e, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0437\u0430 'res'    \/\/ \u041d\u0430\u0447\u0438\u043d\u0430\u0435\u043c &quot;\u0442\u0430\u043d\u0435\u0446&quot;...    mpq_set_d (a, res);      \/\/ a - \u0442\u043e\u0447\u043d\u043e\u0435 \u0434\u0440\u043e\u0431\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 res   mpq_set_d (b, res_next); \/\/ b - \u0442\u043e\u0447\u043d\u043e\u0435 \u0434\u0440\u043e\u0431\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 res_next   \/\/ \u0412 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u0448\u0430 \u0441\u0443\u043c\u043c\u0430 s \u0433\u0434\u0435-\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0438 \u043e\u0442\u0440\u0435\u0437\u043a\u0430 [a, b]=[res, res_next].   mpq_sub (a, s, a);  \/\/ a - \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043e\u0442 res \u0434\u043e s   mpq_sub (b, b, s);  \/\/ b - \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043e\u0442 s \u0434\u043e res_next    \/\/ \u0427\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0435: \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043e\u0442 res \u0434\u043e s \u0438\u043b\u0438 \u043e\u0442 s \u0434\u043e res_next?   if (mpq_cmp (a, b) &gt; 0)     res = res_next; \/\/ \u0415\u0441\u043b\u0438 \u043d\u0430\u0448\u0430 s \u0431\u043b\u0438\u0436\u0435 \u043a \u043f\u0440\u0430\u0432\u043e\u0439 \u0433\u0440\u0430\u043d\u0438\u0446\u0435 \u043e\u0442\u0440\u0435\u0437\u043a\u0430.    if ((res64&amp;1) &amp;&amp; mpq_cmp (a, b) == 0)     res = res_next; \/\/ \u0415\u0441\u043b\u0438 s \u043f\u043e \u0446\u0435\u043d\u0442\u0440\u0443, \u043d\u043e \u043c\u043b\u0430\u0434\u0448\u0438\u0439 \u0431\u0438\u0442 \u043b\u0435\u0432\u043e\u0439 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043d\u0435\u0447\u0451\u0442\u043d\u044b\u0439.    mpq_clears (s, a, b, NULL);   return is_negative ? -res : res; } <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<h2>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c 1. \u041d\u0430\u0438\u0432\u043d\u043e\u0435 \u0441\u0443\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/h2>\n<p>  \u041e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0438, \u043f\u043e\u0436\u0430\u043b\u0443\u0439, \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0440\u043d\u044b\u0439 \u0434\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cpp\">double __fastcall sum_naive (const dvect_t &amp;X) {   double s = 0.0;   for (auto x: X)  s += x;   return s; } <\/code><\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043d\u0435\u0447\u0435\u0433\u043e \u043f\u043e\u044f\u0441\u043d\u044f\u0442\u044c.<\/p>\n<h2>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c 2. Kahan<\/h2>\n<p>  <\/p>\n<pre><code class=\"cpp\">double __fastcall sum_kahan (const dvect_t &amp;X) {   double s=0.0, c=0.0;     for (auto x: X) {     double y = x + c;     s = fast_two_sum (c, s, y);   }   return s; } <\/code><\/pre>\n<p>  \u0421\u0445\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u043c \u043c\u0435\u0442\u043e\u0434\u0435 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u0432\u0443\u0445 \u0447\u0438\u0441\u0435\u043b \u0431\u0435\u0437 \u043f\u043e\u0442\u0435\u0440\u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438. \u00ab\u0425\u0432\u043e\u0441\u0442\u0438\u043a\u00bb <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/e1a\/229\/081\/e1a229081e8db6ee98dfb79797b987dd.svg\" alt=\"$c$\" data-tex=\"inline\"><\/math>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0441\u0443\u043c\u043c\u044b s \u0438 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0433\u043e \u0441\u043b\u0430\u0433\u0430\u0435\u043c\u043e\u0433\u043e, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0441\u043b\u0430\u0433\u0430\u0435\u043c\u043e\u043c\u0443 (\u0443=x+c), \u043a\u0430\u043a \u0431\u044b \u043a\u043e\u043c\u043f\u0435\u043d\u0441\u0438\u0440\u0443\u044f \u043f\u043e\u0442\u0435\u0440\u0438. \u0418\u043d\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u043c\u044b \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u043c \u043f\u043e\u0442\u0435\u0440\u044f\u043d\u043d\u044b\u0435 \u0431\u0438\u0442\u044b \u043f\u043e\u0441\u043b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f (s+y) \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0448\u0430\u0433\u0435, \u0430 \u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u00ab\u0441\u043f\u0430\u0441\u0442\u0438\u00bb \u0438\u0445, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044f \u0438\u0445 \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0448\u0430\u0433\u0435.<\/p>\n<p>  \u0412\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044c \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u0442, \u0447\u0442\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c s=fast_two_sum(c, s, y) \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0433\u0434\u0430 |s|\u2265|y|, \u0447\u0442\u043e \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a \u0434\u043b\u044f \u0431\u0435\u0441\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u043d\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0447\u0438\u0441\u0435\u043b \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 X. \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, \u043a\u043e\u043c\u043f\u0435\u043d\u0441\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u043e\u0435 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u0441\u043b\u0443\u0447\u0430\u0435\u0432 |s|&lt;|y|, \u043f\u043e \u043a\u0430\u043a\u043e\u0439 \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u044d\u0442\u043e\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043b\u0443\u0447\u0448\u0435 \u043d\u0430\u0438\u0432\u043d\u043e\u0433\u043e \u0441\u0443\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u00ab\u0417\u0430\u0432\u0430\u043b\u0438\u0442\u044c\u00bb \u0435\u0433\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u0430\u0445 \u043c\u043d\u0435 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c, \u0445\u043e\u0442\u044f \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432\u043f\u043e\u043b\u043d\u0435 \u043c\u043e\u0436\u043d\u043e (\u0441\u043c. \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435). \u0422\u0430\u043a\u0436\u0435 \u0432 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u043a\u043d\u0438\u0433\u0435, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u044f \u0441\u0441\u044b\u043b\u0430\u044e\u0441\u044c, \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"cpp\">     X[0] = 18014398509481984.0; \/\/ 2**54   X[1] = 18014398509481982.0; \/\/ 2**54-2   X[2] = -9007199254740991.0; \/\/ -(2**53-1)   X[3] = -9007199254740991.0;    X[4] = -9007199254740991.0;   X[5] = -9007199254740991.0; <\/code><\/pre>\n<p>  \u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 2. \u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u041a\u044d\u0445\u044d\u043d\u0430 \u0432\u0435\u0440\u043d\u0451\u0442 3. \u041d\u0430\u0438\u0432\u043d\u043e\u0435 \u0441\u0443\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0435\u0440\u043d\u0451\u0442 1. \u0421\u043e\u0433\u043b\u0430\u0441\u0438\u0442\u0435\u0441\u044c, \u044d\u0442\u043e \u0447\u0443\u0434\u043e\u0432\u0438\u0449\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u0432 50% (\u0438\u043b\u0438 2<sup>51<\/sup>ulp). \u0410 \u0432\u043e\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0432\u044b\u0434\u0430\u0441\u0442 \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442. <\/p>\n<h2>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c 3. Rump&ndash;Ogita&ndash;Oishi<\/h2>\n<p>  \u0420\u0430\u0437\u0443\u043c\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441: \u0430 \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u0432\u0443\u0445 \u0447\u0438\u0441\u0435\u043b \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0432\u0437\u044f\u0442\u044c \u0432\u0442\u043e\u0440\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0435\u0437\u0440\u0430\u0437\u043b\u0438\u0447\u0435\u043d \u043a \u043f\u043e\u0440\u044f\u0434\u043a\u0443 \u044d\u0442\u0438\u0445 \u0447\u0438\u0441\u0435\u043b? \u042d\u0442\u043e\u0442 \u043f\u043e\u0434\u0445\u043e\u0434 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0435 Rump&ndash;Ogita&ndash;Oishi \u0438 \u0434\u0430\u0451\u0442 \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u0434:<\/p>\n<pre><code class=\"cpp\">double __fastcall sum_rump (const dvect_t &amp;X) {   double s=0.0, c=0.0, e;   for (double x: X) {     s = two_sum (e, s, x);     c += e;   }   return s+c; } <\/code><\/pre>\n<p>  \u041e\u0434\u043d\u0430\u043a\u043e \u0437\u0434\u0435\u0441\u044c \u0430\u0432\u0442\u043e\u0440\u044b \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0440\u0435\u0448\u0438\u043b\u0438 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u00ab\u0445\u0432\u043e\u0441\u0442\u0438\u043a\u0438\u00bb <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5ca\/4b8\/ca1\/5ca4b8ca180f7495da819508f8afce6e.svg\" alt=\"$e$\" data-tex=\"inline\"><\/math> \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u0447\u0442\u043e, \u0432 \u043e\u0431\u0449\u0435\u043c-\u0442\u043e, \u043b\u043e\u0433\u0438\u0447\u043d\u043e. \u0412 \u043a\u043e\u043d\u0446\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0439 \u0441\u0443\u043c\u043c\u044b \u0438 \u0441\u0443\u043c\u043c\u044b \u0432\u0441\u0435\u0445 \u00ab\u0445\u0432\u043e\u0441\u0442\u0438\u043a\u043e\u0432\u00bb. \u0414\u0430\u043d\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0435\u0431\u0435 \u0442\u0430\u043a, \u043a\u0430\u043a \u0431\u0443\u0434\u0442\u043e \u043c\u044b \u0441\u0443\u043c\u043c\u0438\u0440\u0443\u0435\u043c \u0447\u0438\u0441\u043b\u0430 \u043d\u0435 \u0432 \u043e\u0434\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0442\u0438\u043f\u0430 double, \u0430 \u043a\u0430\u043a \u0431\u044b \u0443\u0434\u0432\u0430\u0438\u0432\u0430\u0435\u043c \u0435\u0451, \u043f\u043e\u043b\u0443\u0447\u0430\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u0440\u043e\u0434\u0430 \u00abdouble-double\u00bb, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0435 52, \u0430 104 \u0431\u0438\u0442\u0430 \u0434\u0440\u043e\u0431\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043c\u0430\u043d\u0442\u0438\u0441\u0441\u044b. \u0427\u0442\u043e\u0431\u044b \u00ab\u0441\u043b\u043e\u043c\u0430\u0442\u044c\u00bb \u0442\u0430\u043a\u043e\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c, \u043d\u0443\u0436\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c \u00ab\u0437\u0430\u043a\u0440\u044b\u043b\u0430\u00bb 52 \u0431\u0438\u0442\u0430. \u0421\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u044b\u043c\u0438 \u0431\u044b\u0442\u043e\u0432\u044b\u043c\u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u0440\u0435\u0430\u043b\u044c\u043d\u043e, \u0435\u0441\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b \u043d\u0435 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0435 \u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d\u044b \u0447\u0438\u0441\u0435\u043b. \u0412\u043f\u0440\u043e\u0447\u0435\u043c, \u044d\u0442\u043e \u043b\u0438\u0448\u044c \u0434\u043e\u043c\u044b\u0441\u043b\u044b \u0430\u0432\u0442\u043e\u0440\u0430 \u0442\u0435\u043a\u0441\u0442\u0430. \u0415\u0441\u043b\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u00ab\u0437\u0430\u0432\u0430\u043b\u0438\u0442\u044c\u00bb \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c, \u043f\u0440\u043e\u0448\u0443 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0435\u0441\u0442 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445.<\/p>\n<h1>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/h1>\n<p>  <\/p>\n<h2>\u0417\u0430\u043c\u0435\u0447\u0430\u043d\u0438\u0435 \u043e \u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0435 \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0435 \u0432\u044b\u0432\u043e\u0434\u0430 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u0438<\/h2>\n<p>  \u042f \u043f\u0440\u043e\u0448\u0443 \u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0437\u0430 \u043c\u043d\u043e\u0433\u043e\u0441\u043b\u043e\u0432\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043f\u0440\u0435\u043f\u043e\u0434\u043d\u0435\u0441\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430, \u043d\u043e \u0435\u0441\u043b\u0438 \u0435\u0433\u043e \u043d\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u0442\u043e \u043d\u0430\u0439\u0434\u0451\u0442\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0441\u043a\u0435\u043f\u0442\u0438\u043a\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043a\u0430\u0436\u0443\u0442, \u0447\u0442\u043e \u044f \u0447\u0442\u043e-\u0442\u043e \u043d\u0435 \u0442\u043e \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043d\u0435 \u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u043a\u0430\u043a\u0438\u0435 \u043e\u043d\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0443 \u0441\u0435\u0431\u044f. \u0410 \u044d\u0442\u0438\u043c \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435\u043c \u044f \u0441\u043d\u0438\u043c\u0430\u044e \u0441 \u0441\u0435\u0431\u044f \u0432\u0441\u044f\u043a\u0443\u044e \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0437\u0430 \u043d\u0435\u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u0443\u0434\u0443\u0442.<\/p>\n<p>  \u0427\u0438\u0442\u0430\u0442\u0435\u043b\u044c \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u0430 N \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0439, \u0442\u0430\u043a \u0436\u0435 \u043a\u0430\u043a \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u043c\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0447\u0438\u0441\u043b\u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u044f\u0441\u043d\u043e, \u0447\u0442\u043e \u043b\u044e\u0431\u043e\u0439 \u043e\u0431\u0437\u043e\u0440 \u0440\u0430\u0431\u043e\u0442\u044b \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u043c \u0438 \u043d\u0435\u043f\u043e\u043b\u043d\u044b\u043c. \u041a\u0430\u043a\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0447\u0438\u0441\u0435\u043b X[i] \u0432\u044b\u0431\u0440\u0430\u0442\u044c? \u041a\u0430\u043a\u0438\u043c\u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0432\u0435\u0440\u0445\u043d\u044e\u044e \u0438 \u043d\u0438\u0436\u043d\u044e\u044e \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0441\u0443\u043c\u043c\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0447\u0438\u0441\u0435\u043b? \u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0438\u0441\u0435\u043b \u0432\u0437\u044f\u0442\u044c \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0440\u0435\u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430? \u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u043e\u0432 \u043d\u0443\u0436\u043d\u043e \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0430\u0434\u0435\u043a\u0432\u0430\u0442\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u043d\u0435\u0439 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u0438? <\/p>\n<p>  \u0412\u0438\u0434\u0438\u0442\u0435 \u0432 \u043a\u0430\u043a\u043e\u0439 \u0442\u0440\u0443\u0434\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043e\u0431\u0437\u043e\u0440\u0449\u0438\u043a? \u0421\u0442\u043e\u0438\u0442 \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044c \u043d\u0430\u0439\u0434\u0451\u0442 \u043a \u0447\u0435\u043c\u0443 \u043f\u0440\u0438\u0434\u0440\u0430\u0442\u044c\u0441\u044f \u00ab\u0441\u043e \u0441\u0432\u043e\u0435\u0439 \u043a\u043e\u043b\u043e\u043a\u043e\u043b\u044c\u043d\u0438\u00bb. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u044e, \u0447\u0442\u043e \u043c\u043e\u0439 \u043e\u0431\u0437\u043e\u0440 \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0443\u0441\u043b\u043e\u0432\u043b\u0435\u043d \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u043e\u0438\u043c\u0438 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0435\u043d\u0438\u044f\u043c\u0438 \u0432\u044b\u0431\u043e\u0440\u0430 \u0442\u0435\u0441\u0442\u043e\u0432. \u041e\u043d\u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0440\u044f\u0434\u043e\u043c \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 \u043d\u0438\u0436\u0435. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u044b \u0434\u0440\u0443\u0433\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b (\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043b\u044e\u0431\u044b\u0435, \u0432\u0441\u0451 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u043f\u0440\u0435\u0434\u0432\u0437\u044f\u0442\u043e\u0441\u0442\u0438 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u0442\u043e\u0440\u0430), \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0435\u0441\u0442\u044b \ud83d\ude42<\/p>\n<p>  \u0412\u0442\u043e\u0440\u043e\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435: \u043a\u0430\u043a \u043f\u043e\u0434\u0430\u0432\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442? \u0412 \u043a\u0430\u043a\u0438\u0445 \u0435\u0434\u0438\u043d\u0438\u0446\u0430\u0445 \u0435\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f\u043c, \u043d\u0435 \u043d\u0443\u0436\u0434\u0430\u044e\u0449\u0438\u043c\u0441\u044f \u0432 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u043c \u043d\u0430\u0443\u0447\u043d\u043e\u043c \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0438? \u041d\u0443, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u044f \u0434\u0430\u043c \u0432\u0430\u043c \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u0443\u044e \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e \u0444\u043e\u0440\u043c\u0443\u043b\u0435<\/p>\n<p><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2bb\/2fa\/8aa\/2bb2fa8aacc6c6e61e31e313007fc126.svg\" alt=\"$|s_{got} \u2013 s_{exact}|,$\" data-tex=\"display\"><\/math><\/p>\n<p>  \u0433\u0434\u0435 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/150\/e85\/1e7\/150e851e7e5e0d65ff757868808246a1.svg\" alt=\"$s_{got}$\" data-tex=\"inline\"><\/math> \u2014 \u0441\u0443\u043c\u043c\u0430, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u0430\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430\u043c\u0438 1&ndash;3, \u0430 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/068\/fa6\/878\/068fa68781895f68d26e5affcbd5063d.svg\" alt=\"$s_{exact}$\" data-tex=\"inline\"><\/math> \u2014 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u0430\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c 0.<\/p>\n<p>  \u041e\u0434\u043d\u0430\u043a\u043e \u044d\u0442\u0430 \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u044c \u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0438 \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0451\u043d\u043d\u043e\u0433\u043e \u043e\u0442\u0432\u0435\u0442\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0432\u043d\u043e\u0439, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 (\u043f\u043e\u0440\u044f\u0434\u043e\u043a \u044d\u0442\u043e\u0442, \u043a\u0430\u043a \u0432\u044b \u043f\u043e\u043c\u043d\u0438\u0442\u0435, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0442 -324 \u0434\u043e +308), \u0432\u0430\u043c \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u0447\u0451\u043c-\u043d\u0438\u0431\u0443\u0434\u044c \u0447\u0438\u0441\u043b\u043e 1.23456e+224 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u0438? \u0412\u0440\u044f\u0434 \u043b\u0438. \u0413\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u043e\u043b\u0435\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c:<\/p>\n<p><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d6c\/1e9\/15d\/d6c1e915dab3d67374087926675c4bc1.svg\" alt=\"$\\frac{|s_{got} \u2013 s_{exact}|}{|s_{exact}|}\\cdot 100\\%$\" data-tex=\"display\"><\/math><\/p>\n<p>  \u041d\u043e \u0438 \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u0437 \u0441\u0435\u0431\u044f \u0447\u0438\u0441\u043b\u0430, \u043f\u043e\u0440\u044f\u0434\u043a\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u0443\u0434\u0443\u0442 \u043e\u0447\u0435\u043d\u044c \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u043c\u0438 \u0438 \u0442\u0440\u0443\u0434\u043d\u044b\u043c\u0438 \u0434\u043b\u044f \u0432\u043e\u0441\u043f\u0440\u0438\u044f\u0442\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u043e\u0449\u0443\u0449\u0435\u043d\u0438\u044f \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430. \u0421\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0441\u0430\u043c\u0438: \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c 1.23456e-10%. \u0423\u0434\u043e\u0431\u043d\u043e?<\/p>\n<p>  \u0422\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c \u0447\u0435\u0440\u0435\u0437 ulp. \u041d\u0430\u043f\u043e\u043c\u043d\u044e, \u0447\u0442\u043e ulp(x) \u2014 \u044d\u0442\u043e, \u0433\u0440\u0443\u0431\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u0446\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0431\u0438\u0442\u0430 \u0447\u0438\u0441\u043b\u0430 x. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0447\u0438\u0441\u0435\u043b x \u0442\u0438\u043f\u0430 double \u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0435 [1,2) \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u0430 ulp(x)=2<sup>-52<\/sup>. \u041d\u0430 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0435 [2,4) ulp(x)=2<sup>-51<\/sup> \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435, \u0432\u044b\u0440\u0430\u0441\u0442\u0430\u0435\u0442 \u0432\u0434\u0432\u043e\u0435 \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0438 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0447\u0438\u0441\u043b\u0430. \u0422\u0430\u043a\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u0438 \u0443\u0434\u043e\u0431\u0435\u043d \u0442\u0435\u043c, \u0447\u0442\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c \u0432 \u0435\u0434\u0438\u043d\u0438\u0446\u0430\u0445 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f, \u0440\u0430\u0432\u043d\u044b\u0445 \u0446\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0431\u0438\u0442\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430. \u0422\u043e \u0435\u0441\u0442\u044c \u0437\u043d\u0430\u044f \u044d\u0442\u0443 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u043d\u044f\u0442\u044c, \u0443\u0441\u043b\u043e\u0432\u043d\u043e \u0432\u044b\u0440\u0430\u0436\u0430\u044f\u0441\u044c, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u0438\u0442\u043e\u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b \u00ab\u0437\u0430\u043f\u043e\u0440\u043e\u043b\u0438\u00bb \u0432 \u0445\u043e\u0434\u0435 \u0440\u0430\u0441\u0447\u0451\u0442\u043e\u0432. 1ulp \u2014 \u043f\u043e\u0442\u0435\u0440\u044f\u043b\u0438 1 \u0431\u0438\u0442, 2-3ulp \u2014 2 \u0431\u0438\u0442\u0430, 4-7ulp \u2014 3 \u0431\u0438\u0442\u0430 \u0438 \u0442. \u0434. \u0417\u0434\u0435\u0441\u044c \u043b\u043e\u0433\u0430\u0440\u0438\u0444\u043c\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c.<\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c \u0432 ulp, \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435<\/p>\n<p><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/cb0\/952\/773\/cb09527734be35addabfbc47919da2da.svg\" alt=\"$\\frac{|s_{got} \u2013 s_{exact}|}{ulp(s_{exact})}$\" data-tex=\"display\"><\/math><\/p>\n<p>  \u041d\u0430 \u043c\u043e\u0451\u043c \u043b\u044e\u0431\u0438\u043c\u043e\u043c \u044f\u0437\u044b\u043a\u0435 UB++ \u0444\u0443\u043d\u043a\u0446\u0438\u044f ulp(x) \u0434\u043b\u044f double \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cpp\">    \/\/ \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u043c\u0435\u0449\u0451\u043d\u043d\u043e\u0439 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0434\u043b\u044f 'x' \u0442\u0438\u043f\u0430 double     \/\/ \u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0437\u0434\u0435\u0441\u044c UB! \u041f\u0435\u0440\u0435\u043f\u0438\u0448\u0438\u0442\u0435 \u043a\u043e\u0434, \u0435\u0441\u043b\u0438 \u043e\u043d \u0432\u0430\u043c \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 #define GET_EXP(x) (((*(unsigned long long*)(&amp;x))&amp;0x7FFFFFFFFFFFFFFFULL)&gt;&gt;52)      \/\/ \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 ULP \u0434\u043b\u044f \u0447\u0438\u0441\u043b\u0430 x. double get_ulp (double x) { return ldexp (1.0, GET_EXP(x)-1075); } <\/code><\/pre>\n<p>  <a name=\"tables\"><\/a>  <\/p>\n<h2>\u0422\u0430\u0431\u043b\u0438\u0446\u044b<\/h2>\n<p>  \u041a\u0430\u0436\u0434\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u043b\u0441\u044f \u043d\u0430 100 \u0442\u0435\u0441\u0442\u0430\u0445. \u041e\u0434\u0438\u043d \u0442\u0435\u0441\u0442 \u2014 \u044d\u0442\u043e \u043c\u0430\u0441\u0441\u0438\u0432 X[N] \u0438\u0437 \u0447\u0438\u0441\u0435\u043b \u0442\u0438\u043f\u0430 double. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u043e\u043b\u0443\u0447\u0430\u043b\u043e\u0441\u044c \u0434\u0432\u0430 \u0432\u0438\u0434\u0430 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u0435\u0439: \u0441\u0440\u0435\u0434\u043d\u044f\u044f \u043f\u043e \u0432\u0441\u0435\u043c 100 \u0442\u0435\u0441\u0442\u0430\u043c \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u043e \u043d\u0438\u043c \u0436\u0435. \u041e\u0431\u0430 \u044d\u0442\u0438 \u0447\u0438\u0441\u043b\u0430 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u044f\u0447\u0435\u0439\u043a\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b: \u0441\u0432\u0435\u0440\u0445\u0443 \u2014 \u0441\u0440\u0435\u0434\u043d\u044f\u044f, \u0441\u043d\u0438\u0437\u0443 \u2014 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c. \u0418\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u0438 \u0432\u0435\u0434\u0451\u0442\u0441\u044f \u0432 ulp \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e <i>\u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b<\/i>, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0439 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0442\u043e\u0447\u043d\u044b\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c.<\/p>\n<p>  \u041f\u043e\u043c\u0438\u043c\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 X[N], \u0447\u0435\u0440\u0435\u0437 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0442\u0430\u043a\u0436\u0435 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u043b\u0438\u0441\u044c \u0434\u0432\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u0430, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0438\u0437 \u044d\u0442\u0438\u0445 \u0436\u0435 \u0447\u0438\u0441\u0435\u043b. \u041e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445 \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044e <b>\u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e\u0433\u043e<\/b> \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u2014 \u043f\u043e \u0443\u0431\u044b\u0432\u0430\u043d\u0438\u044e.<\/p>\n<p>  \u041f\u0435\u0440\u0432\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0442\u0435\u0441\u0442\u043e\u0432: \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0435 [1,2) \u0432 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 N=1000. \u041f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u044f \u043a \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c \u00ab~\u00bb \u00ab\u2191\u00bb \u0438 \u00ab\u2193\u00bb \u0434\u0430\u0451\u0442\u0441\u044f \u043d\u0438\u0436\u0435.<\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<th>\u041f\u043e\u0440\u044f\u0434\u043e\u043a<\/th>\n<th>Naive<\/th>\n<th>Kahan<\/th>\n<th>Rump&ndash;Ogita&ndash;Oishi<\/th>\n<\/tr>\n<tr>\n<td>~<\/td>\n<td>4.86<br \/>  21<\/td>\n<td>0<br \/>  0<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u2191<\/td>\n<td>4.97<br \/>  14<\/td>\n<td>0<br \/>  0<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u2193<\/td>\n<td>4.50<br \/>  19<\/td>\n<td>0<br \/>  0<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  \u0421\u0435\u0439\u0447\u0430\u0441 \u044f \u043f\u043e\u044f\u0441\u043d\u044e \u043a\u0430\u043a \u0447\u0438\u0442\u0430\u0442\u044c \u0442\u0430\u043a\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443. \u0421\u0438\u043c\u0432\u043e\u043b \u00ab~\u00bb \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u0447\u0442\u043e \u0447\u0438\u0441\u043b\u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u0445\u0430\u043e\u0442\u0438\u0447\u043d\u043e. \u0421\u0438\u043c\u0432\u043e\u043b \u00ab\u2191\u00bb \u2014 \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u044b \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044e. \u0421\u0438\u043c\u0432\u043e\u043b \u00ab\u2193\u00bb \u2014 \u043f\u043e \u0443\u0431\u044b\u0432\u0430\u043d\u0438\u044e. \u0412\u0435\u0440\u0445\u043d\u0435\u0435 \u0447\u0438\u0441\u043b\u043e \u0432 \u044f\u0447\u0435\u0439\u043a\u0435 \u2014 \u0441\u0440\u0435\u0434\u043d\u044f\u044f \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c \u043d\u0430 100 \u0442\u0435\u0441\u0442\u0430\u0445, \u043d\u0438\u0436\u043d\u0435\u0435 \u2014 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043d\u0430 \u043d\u0438\u0445 \u0436\u0435. \u041a\u0430\u043a \u043f\u043e\u043d\u044f\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0438\u0441\u043b\u043e 19 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435? \u041e\u043d\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0438\u0442\u044c 100 \u0440\u0430\u0437\u043d\u044b\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u043f\u043e \u0443\u0431\u044b\u0432\u0430\u043d\u0438\u044e \u0438 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c, \u0442\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c \u043d\u0430 \u044d\u0442\u0438\u0445 \u0442\u0435\u0441\u0442\u0430\u0445 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442 19ulp, \u0442\u043e \u0435\u0441\u0442\u044c, \u0433\u0440\u0443\u0431\u043e \u0433\u043e\u0432\u043e\u0440\u044f, 4-5 \u0431\u0438\u0442\u043e\u0432 \u00ab\u043f\u043e\u0442\u0435\u0440\u044f\u043b\u0438\u00bb. \u0412 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0445 \u0446\u0438\u0444\u0440\u0430\u0445 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 1-2 \u0446\u0438\u0444\u0440\u044b. \u0415\u0441\u043b\u0438 \u0443\u0447\u0435\u0441\u0442\u044c, \u0447\u0442\u043e \u0447\u0438\u0441\u043b\u043e \u0442\u0438\u043f\u0430 double \u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u043e\u0447\u0442\u0438 16 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0445 \u0446\u0438\u0444\u0440, \u0442\u043e \u043f\u043e\u0442\u0435\u0440\u044e 2-\u0445 \u0446\u0438\u0444\u0440 \u0432 \u0431\u044b\u0442\u043e\u0432\u044b\u0445 \u0437\u0430\u0434\u0430\u0447\u0430\u0445 \u043c\u043e\u0436\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 \u0441\u0440\u0435\u0434\u043d\u0435\u043c \u043d\u0430 \u044d\u0442\u0438\u0445 100 \u0442\u0435\u0441\u0442\u0430\u0445 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0430 4,5ulp, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u043e\u0447\u0442\u0438 \u043e\u0434\u043d\u0443 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u0443\u044e \u0446\u0438\u0444\u0440\u0443. <\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043d\u0430\u0437\u043d\u0430\u0447\u0438\u043c \u0437\u043d\u0430\u043a \u00ab\u043c\u0438\u043d\u0443\u0441\u00bb \u0432\u0441\u0435\u043c \u043d\u0430\u0448\u0438\u043c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u0430\u043c \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430 [1,2), \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0438 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0442\u0430\u043b\u043e \u043f\u043e\u0440\u043e\u0432\u043d\u0443 (\u0432 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u043d\u043e\u043c \u0441\u043c\u044b\u0441\u043b\u0435). \u0415\u0449\u0451 \u043a \u043d\u0430\u0448\u0438\u043c \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u0441\u0442\u043e\u043b\u0431\u0446\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043c\u044b \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u00ab\u00b1\u00bb \u0441 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u043c \u0441\u043c\u044b\u0441\u043b\u043e\u043c.<\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<th>\u041f\u043e\u0440\u044f\u0434\u043e\u043a<\/th>\n<th>Naive<\/th>\n<th>Kahan<\/th>\n<th>Rump&ndash;Ogita&ndash;Oishi<\/th>\n<\/tr>\n<tr>\n<td>\u00b1~<\/td>\n<td>158.96<br \/>  7936<\/td>\n<td>0<br \/>  0<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u00b1\u2191<\/td>\n<td>86.35<br \/>  2560<\/td>\n<td>0<br \/>  0<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u00b1\u2193<\/td>\n<td>175.70<br \/>  11776<\/td>\n<td>0<br \/>  0<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  \u0412\u043e\u0442 \u044d\u0442\u043e \u0434\u0430! \u0420\u0430\u0437\u0440\u0435\u0448\u0438\u043b\u0438 \u0447\u0438\u0441\u043b\u0430\u043c \u0431\u044b\u0442\u044c \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0438 \u0442\u0443\u0442 \u0436\u0435 \u0443 \u043d\u0430\u0438\u0432\u043d\u043e\u0433\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430, \u0447\u0442\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043f\u043e\u0447\u0432\u0430 \u0443\u0448\u043b\u0430 \u0438\u0437 \u043f\u043e\u0434 \u043d\u043e\u0433. \u041f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c \u0432 11776 ulp \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u0430 \u043f\u043e\u0442\u0435\u0440\u0435 4-5 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0445 \u0446\u0438\u0444\u0440 (13-14 \u0431\u0438\u0442\u043e\u0432 \u0438\u0437 52 \u0431\u0438\u0442\u043e\u0432 \u0434\u0440\u043e\u0431\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043c\u0430\u043d\u0442\u0438\u0441\u0441\u044b). \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0432\u044b\u0434\u0430\u044e\u0442 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u0443\u044e \u0441\u0443\u043c\u043c\u0443.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043c \u043e\u0431\u044a\u0451\u043c \u0447\u0438\u0441\u0435\u043b, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c N=10<sup>6<\/sup>. \u041c\u044b \u043e\u0436\u0438\u0434\u0430\u0435\u043c \u0440\u043e\u0441\u0442 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u0438. \u041e\u0436\u0438\u0434\u0430\u043d\u0438\u044f, \u0432 \u0446\u0435\u043b\u043e\u043c, \u043e\u043f\u0440\u0430\u0432\u0434\u044b\u0432\u0430\u044e\u0442\u0441\u044f. <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<th>\u041f\u043e\u0440\u044f\u0434\u043e\u043a<\/th>\n<th>Naive<\/th>\n<th>Kahan<\/th>\n<th>Rump&ndash;Ogita&ndash;Oishi<\/th>\n<\/tr>\n<tr>\n<td>~<\/td>\n<td>143.00<br \/>  562<\/td>\n<td>0<br \/>  0<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u2191<\/td>\n<td>126.60<br \/>  473<\/td>\n<td>0<br \/>  0<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u2193<\/td>\n<td>161.91<br \/>  482<\/td>\n<td>0<br \/>  0<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u00b1~<\/td>\n<td>2015.41<br \/>  38889<\/td>\n<td>0<br \/>  0<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u00b1\u2191<\/td>\n<td>1520.84<br \/>  33965<\/td>\n<td>0<br \/>  0<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u00b1\u2193<\/td>\n<td>1672.76<br \/>  36513<\/td>\n<td>0<br \/>  0<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  \u041f\u0435\u0440\u0435\u0439\u0434\u0451\u043c \u043a \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0443 [1e-10, 1e+10) \u0438 \u0432\u043e\u0437\u044c\u043c\u0451\u043c \u0441\u0440\u0430\u0437\u0443 N=10<sup>6<\/sup> \u0447\u0438\u0441\u0435\u043b, \u0442\u043e\u043b\u044c\u043a\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0447\u0438\u0441\u0435\u043b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0435 \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e \u043f\u043e \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0443, \u0430 \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e \u043f\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0443 \u0432\u0441\u0435\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0442\u0438\u043f\u0430 double \u043d\u0430 \u044d\u0442\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0435. \u041d\u0430 \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0435 [0x3ddb7cdfd9d7bdbb, 0x4202a05f20000000) (\u044d\u0442\u043e \u0431\u0438\u0442\u043e\u0432\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0447\u0438\u0441\u0435\u043b 1e-10 \u0438 1e+10 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 double) \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/372\/e18\/546\/372e18546a3b7abb94c2672708bc5dfe.svg\" alt=\"$a$\" data-tex=\"inline\"><\/math>, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0431\u0438\u0442\u043e\u0432\u0443\u044e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c. \u042d\u0442\u0443 \u0431\u0438\u0442\u043e\u0432\u0443\u044e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043c\u044b \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u0443\u0435\u043c \u043a\u0430\u043a \u0447\u0438\u0441\u043b\u043e <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/817\/b92\/407\/817b92407f764f57af9226e50cc788fd.svg\" alt=\"$x$\" data-tex=\"inline\"><\/math> \u0442\u0438\u043f\u0430 double, \u0438 \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u0447\u0438\u0441\u043b\u043e <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/817\/b92\/407\/817b92407f764f57af9226e50cc788fd.svg\" alt=\"$x$\" data-tex=\"inline\"><\/math> \u0441\u0447\u0438\u0442\u0430\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c \u0441\u043c\u044b\u0441\u043b\u0435. \u041f\u043e\u044f\u0441\u043d\u044e, \u0437\u0430\u0447\u0435\u043c \u0442\u0430\u043a \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f. \u0415\u0441\u043b\u0438 \u0431\u0440\u0430\u0442\u044c \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0447\u0438\u0441\u0435\u043b \u043d\u0430 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0435 [1e-10, 1e+10), \u0442\u043e \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u043f\u0430\u0434\u0430\u0442\u044c\u0441\u044f \u0447\u0438\u0441\u043b\u0430, \u0431\u043b\u0438\u0437\u043a\u0438\u0435 \u043a 1e+10, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0438\u0445 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e. \u0418\u0445 \u0432 10 \u0440\u0430\u0437 \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u0447\u0438\u0441\u0435\u043b, \u0431\u043b\u0438\u0437\u043a\u0438\u0445 \u043a 1e+9, \u0430 \u044d\u0442\u0438\u0445, \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0432 10 \u0440\u0430\u0437 \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c \u0447\u0438\u0441\u0435\u043b, \u0431\u043b\u0438\u0437\u043a\u0438\u0445 \u043a 1e+8 \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u0415\u0441\u043b\u0438 \u0436\u0435 \u0431\u0440\u0430\u0442\u044c \u0447\u0438\u0441\u043b\u0430 \u0438\u0437 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0442\u043e\u0447\u043d\u043e-\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0442\u0438\u043f\u0430 double, \u0432\u044b\u0431\u043e\u0440\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u0440\u0435\u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0442\u0438\u0432\u043d\u043e\u0439, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0432 \u043d\u0435\u0439 \u0431\u0443\u0434\u0443\u0442 \u0441\u0430\u043c\u044b\u0435 \u0440\u0430\u0437\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0441 \u0441\u0430\u043c\u044b\u043c\u0438 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438. \u0410 \u043c\u043d\u0435 \u044d\u0442\u043e \u0438 \u043d\u0443\u0436\u043d\u043e.<\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<th>\u041f\u043e\u0440\u044f\u0434\u043e\u043a<\/th>\n<th>Naive<\/th>\n<th>Kahan<\/th>\n<th>Rump&ndash;Ogita&ndash;Oishi<\/th>\n<\/tr>\n<tr>\n<td>~<\/td>\n<td>4277.17<br \/>  4662<\/td>\n<td>0<br \/>  0<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u2191<\/td>\n<td>29.17<br \/>  111<\/td>\n<td>0<br \/>  0<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u2193<\/td>\n<td>7508.68<br \/>  7915<\/td>\n<td>0<br \/>  0<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u00b1~<\/td>\n<td>475.68<br \/>  8221<\/td>\n<td>1.09<br \/>  21<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u00b1\u2191<\/td>\n<td>65.39<br \/>  861<\/td>\n<td>0.01<br \/>  1<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u00b1\u2193<\/td>\n<td>270.34<br \/>  1736<\/td>\n<td>0<br \/>  0<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u0438\u043c, \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0441\u0442\u0430\u043b\u0430 \u0445\u0443\u0436\u0435, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0447\u0438\u0441\u043b\u0430 \u043e\u0447\u0435\u043d\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u0438 \u044f\u0441\u043d\u043e, \u0447\u0442\u043e \u0438\u0445 \u0441\u0443\u043c\u043c\u0430 \u0431\u0443\u0434\u0435\u0442 \u0434\u0430\u0432\u0430\u0442\u044c \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431<b>\u043e<\/b>\u043b\u044c\u0448\u0443\u044e \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c. \u0417\u0434\u0435\u0441\u044c \u0434\u0430\u0436\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u041a\u044d\u0445\u044d\u043d\u0430 \u043d\u0430\u0447\u0430\u043b \u043e\u0448\u0438\u0431\u0430\u0442\u044c\u0441\u044f. \u0410 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0432\u0441\u0451 \u0435\u0449\u0451 \u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f.<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0443 \u043d\u0430\u0441 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4be\/20e\/623\/4be20e6232e889c9f4bcde779fcbebee.svg\" alt=\"$\\lambda=0.5$\" data-tex=\"inline\"><\/math> \u0432 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u0447\u0438\u0441\u0435\u043b N=1000. \u0422\u0430 \u0436\u0435 \u043a\u0430\u0440\u0442\u0438\u043d\u0430: \u043f\u043e\u043a\u0430 \u0447\u0438\u0441\u043b\u0430 \u0438\u043c\u0435\u044e\u0442 \u043e\u0434\u0438\u043d \u0437\u043d\u0430\u043a \u2014 \u0432\u0441\u0451 \u0432 \u0446\u0435\u043b\u043e\u043c \u043d\u0435\u043f\u043b\u043e\u0445\u043e. \u041a\u043e\u0433\u0434\u0430 \u043c\u044b \u043d\u0430\u0437\u043d\u0430\u0447\u0430\u0435\u043c \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0435 \u0432\u0441\u0435\u0445 \u0447\u0438\u0441\u0435\u043b \u0437\u043d\u0430\u043a \u00ab\u043c\u0438\u043d\u0443\u0441\u00bb, \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f.<\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<th>\u041f\u043e\u0440\u044f\u0434\u043e\u043a<\/th>\n<th>Naive<\/th>\n<th>Kahan<\/th>\n<th>Rump&ndash;Ogita&ndash;Oishi<\/th>\n<\/tr>\n<tr>\n<td>~<\/td>\n<td>4.84<br \/>  19<\/td>\n<td>0.01<br \/>  1<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u2191<\/td>\n<td>2.81<br \/>  11<\/td>\n<td>0.01<br \/>  1<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u2193<\/td>\n<td>6.53<br \/>  26<\/td>\n<td>0<br \/>  0<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u00b1~<\/td>\n<td>33.83<br \/>  1650<\/td>\n<td>1.26<br \/>  23<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u00b1\u2191<\/td>\n<td>12.76<br \/>  422<\/td>\n<td>0.31<br \/>  6<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u00b1\u2193<\/td>\n<td>18.54<br \/>  548<\/td>\n<td>0<br \/>  0<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  \u041d\u0430\u043f\u043e\u0441\u043b\u0435\u0434\u043e\u043a \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/fee\/5db\/cfe\/fee5dbcfefc4a7c72a2e465bdbd73b92.svg\" alt=\"$\\mathcal N(0,1)$\" data-tex=\"inline\"><\/math> \u0434\u043b\u044f N=1000 \u0447\u0438\u0441\u0435\u043b.<\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<th>\u041f\u043e\u0440\u044f\u0434\u043e\u043a<\/th>\n<th>Naive<\/th>\n<th>Kahan<\/th>\n<th>Rump&ndash;Ogita&ndash;Oishi<\/th>\n<\/tr>\n<tr>\n<td>~<\/td>\n<td>17.77<br \/>  483<\/td>\n<td>1.46<br \/>  61<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u2191<\/td>\n<td>10.92<br \/>  243<\/td>\n<td>0.34<br \/>  19<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<tr>\n<td>\u2193<\/td>\n<td>19.71<br \/>  734<\/td>\n<td>0<br \/>  0<\/td>\n<td>0<br \/>  0<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  \u041c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430, \u0442\u043e \u043d\u0430\u0438\u0432\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u0441\u043e\u0432\u0441\u0435\u043c \u043f\u043b\u043e\u0445\u043e. \u0412\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441: \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435, \u0430 \u0437\u0430\u0442\u0435\u043c \u0441\u043b\u043e\u0436\u0438\u0442\u044c \u043e\u0431\u0435 \u0441\u0443\u043c\u043c\u044b? \u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0441\u0442\u0430\u043d\u0435\u0442 \u0445\u0443\u0436\u0435:<\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<th>\u041f\u043e\u0440\u044f\u0434\u043e\u043a<\/th>\n<th>\u0412\u0441\u0451 \u043f\u043e\u0434\u0440\u044f\u0434<\/th>\n<th>\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e + \u0438 &ndash;<\/th>\n<\/tr>\n<tr>\n<td>\u00b1~<\/td>\n<td>78.65<br \/>  2336<\/td>\n<td>2121.61<br \/>  50048<\/td>\n<\/tr>\n<tr>\n<td>\u00b1\u2191<\/td>\n<td>76.27<br \/>  2496<\/td>\n<td>2465.55<br \/>  66432<\/td>\n<\/tr>\n<tr>\n<td>\u00b1\u2193<\/td>\n<td>52.74<br \/>  480<\/td>\n<td>2863.61<br \/>  99200<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  \u041d\u0430\u043f\u043e\u0441\u043b\u0435\u0434\u043e\u043a \u044f \u043e\u0431\u0435\u0449\u0430\u043b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0432 \u043a\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u041a\u044d\u0445\u044d\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0434\u0430\u0442\u044c \u043e\u0442\u0432\u0435\u0442 \u0445\u0443\u0436\u0435, \u0447\u0435\u043c \u043f\u0440\u044f\u043c\u043e\u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0435 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u0412\u043e\u0437\u044c\u043c\u0451\u043c \u0442\u0435\u0441\u0442, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c X[i]=(double)cos(i), i=0..10<sup>6<\/sup>-1. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c \u0441\u0430\u043c\u0438 (\u0437\u0434\u0435\u0441\u044c \u043b\u0438\u0448\u044c \u043e\u0434\u0438\u043d \u0442\u0435\u0441\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u0430 \u0441\u0440\u0435\u0434\u043d\u044f\u044f \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c, \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f):<\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<th>\u041f\u043e\u0440\u044f\u0434\u043e\u043a<\/th>\n<th>Naive<\/th>\n<th>Kahan<\/th>\n<th>Rump&ndash;Ogita&ndash;Oishi<\/th>\n<\/tr>\n<tr>\n<td>~<\/td>\n<td>210<\/td>\n<td>522<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>\u2191<\/td>\n<td>410<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>\u2193<\/td>\n<td>42<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  \u0422\u0430\u043a\u0430\u044f \u0432\u043e\u0442 \u043a\u0430\u0440\u0442\u0438\u043d\u0430, \u0434\u0440\u0443\u0437\u044c\u044f. \u042f \u043f\u0440\u043e\u0432\u0451\u043b \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0442\u0435\u0441\u0442\u043e\u0432, \u043f\u043e\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u043d\u0430\u0434 \u0441\u0442\u0430\u0442\u044c\u0451\u0439, \u0438 \u0441\u0434\u0435\u043b\u0430\u043b <b>\u0434\u043b\u044f \u0441\u0435\u0431\u044f<\/b> \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0432\u044b\u0432\u043e\u0434\u044b.<\/p>\n<ul>\n<li>\u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u0440\u0442\u0438\u0442\u044c \u0441\u0443\u043c\u043c\u0443, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u0443\u044e \u043d\u0430\u0438\u0432\u043d\u044b\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430. \u0418\u043d\u043e\u0433\u0434\u0430, \u043d\u043e \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430, \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u0447\u0438\u0441\u0435\u043b \u043f\u043e \u0443\u0431\u044b\u0432\u0430\u043d\u0438\u044e \u043c\u043e\u0434\u0443\u043b\u044f \u0442\u0430\u043a\u0436\u0435 \u00ab\u043b\u043e\u043c\u0430\u0435\u0442\u00bb \u043d\u0430\u0438\u0432\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c, \u043b\u0443\u0447\u0448\u0435 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044e, \u043d\u043e \u0438 \u044d\u0442\u043e \u0432 \u0440\u044f\u0434\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u0434\u0430\u0451\u0442 \u0431\u043e\u043b\u0435\u0435 \u043f\u043b\u043e\u0445\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u0447\u0435\u043c \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0445\u0430\u043e\u0442\u0438\u0447\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430.<\/li>\n<li>\u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0432\u0437\u044f\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c Rump&ndash;Ogita&ndash;Oishi, \u044f \u043d\u0435 \u043d\u0430\u0448\u0451\u043b \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u043e\u0432, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u043d \u0432\u044b\u0434\u0430\u0432\u0430\u043b \u0431\u044b <b>\u043d\u0435<\/b> \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u0443\u044e \u0441\u0443\u043c\u043c\u0443. \u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u043a \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 \u043d\u0430\u0438\u0432\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0423\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u043c\u043e\u0436\u043d\u043e, \u043f\u043e\u043b\u044c\u0437\u0443\u044f\u0441\u044c \u0431\u0438\u0442\u043e\u0432\u044b\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0447\u0438\u0441\u043b\u0430 \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u0438 \u043a\u043e\u0435-\u043a\u0430\u043a\u0438\u043c\u0438 \u0442\u0440\u044e\u043a\u0430\u043c\u0438, \u043d\u043e \u0443 \u043d\u0430\u0441 \u0442\u0430\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u043d\u0430 \u044d\u0442\u043e\u0442 \u043e\u0431\u0437\u043e\u0440 \u043d\u0435 \u0431\u044b\u043b\u043e.<\/li>\n<li>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u041a\u044d\u0445\u044d\u043d\u0430 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0443\u0447\u0448\u0435 \u043d\u0430\u0438\u0432\u043d\u043e\u0433\u043e \u0441\u0443\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043f\u0440\u043e\u0449\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 Rump&ndash;Ogita&ndash;Oishi, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0446\u0435\u043b\u0435\u0441\u043e\u043e\u0431\u0440\u0430\u0437\u0435\u043d \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435, \u0433\u0434\u0435 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0438\u0432\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430 \u0432\u0430\u043c \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442. \u041f\u0440\u043e\u0441\u0442\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c \u0437\u0430\u0440\u0430\u043d\u0435\u0435, \u0447\u0442\u043e \u0432\u0430\u0448\u0438 \u0447\u0438\u0441\u043b\u0430 \u043d\u0435 \u043e\u0431\u043b\u0430\u0434\u0430\u044e\u0442 \u043a\u0430\u043a\u0438\u043c\u0438-\u0442\u043e \u044d\u043a\u0441\u0442\u0440\u0430\u043e\u0440\u0434\u0438\u043d\u0430\u0440\u043d\u044b\u043c\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u00ab\u0437\u0430\u0432\u0430\u043b\u044f\u0442\u00bb \u0434\u0430\u043d\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c.<\/li>\n<li>\u041d\u0430\u0438\u0432\u043d\u043e\u0435 \u0441\u0443\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u043e\u0431\u0449\u0435\u043c-\u0442\u043e \u043d\u0435 \u0442\u0430\u043a\u043e\u0435 \u0441\u0442\u0440\u0430\u0448\u043d\u043e\u0435, \u043a\u0430\u043a \u043c\u043e\u0433\u043b\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f. \u041d\u0443, \u043f\u043e\u0434\u0443\u043c\u0430\u0435\u0448\u044c, \u043f\u043e\u0442\u0435\u0440\u044f\u043b\u0438 \u043c\u044b 5 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0445 \u0446\u0438\u0444\u0440 (\u0435\u0441\u043b\u0438 N \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u0430). \u041c\u043d\u043e\u0433\u043e? \u0415\u0441\u043b\u0438 \u0438\u0445 \u0443 \u0432\u0430\u0441 16, \u0442\u043e \u0432\u0440\u043e\u0434\u0435 \u0431\u044b \u043d\u0435 \u0441\u0442\u0440\u0430\u0448\u043d\u043e, \u0430 \u0435\u0441\u043b\u0438 7 (\u0434\u043b\u044f float), \u0442\u043e \u0432\u0440\u043e\u0434\u0435 \u0431\u044b\u2026 \u0445\u043e\u0442\u044f, \u0434\u0440\u0443\u0437\u044c\u044f, \u043d\u0435\u0443\u0436\u0435\u043b\u0438 \u043a\u0442\u043e-\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u043c\u0438\u043b\u043b\u0438\u043e\u043d \u0447\u0438\u0441\u0435\u043b \u0432 \u0442\u0438\u043f\u0435 float? \u0412\u044b \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u043e? \u042d\u0442\u043e \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u043e\u0434\u043d\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0430\u044f \u0446\u0438\u0444\u0440\u0430, \u043b\u0438\u0431\u043e \u0435\u0441\u043b\u0438 \u043c\u0430\u0441\u0441\u0438\u0432 \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043e\u0441\u043e\u0431\u043e\u0439 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u043e\u0439, \u0438 \u0442\u043e \u044f \u0431\u044b \u043d\u0435 \u0440\u0438\u0441\u043a\u043d\u0443\u043b.<\/li>\n<\/ul>\n<p>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u044f \u043d\u0435 \u0434\u0430\u044e \u043f\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c.<\/p>\n<ul>\n<li>\u042d\u0442\u043e \u0442\u0432\u043e\u0440\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u044f \u0441\u043e\u0437\u0434\u0430\u043b \u0441\u0432\u043e\u044e \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u044e \u044d\u0442\u043e \u043d\u0430\u0443\u0447\u043d\u043e-\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u043d\u044b\u043c \u0437\u043d\u0430\u043d\u0438\u0435\u043c, \u0430 \u043f\u043e\u0442\u043e\u043c\u0443 \u043d\u0435 \u0432\u044b\u043d\u043e\u0448\u0443 \u043d\u0430 \u0441\u0443\u0434 \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438. \u041a\u043e\u0434\u044b \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u044f \u0434\u0430\u043b \u0432\u044b\u0448\u0435, \u0435\u0441\u043b\u0438 \u0432\u0430\u043c \u043e\u0447\u0435\u043d\u044c \u043d\u0443\u0436\u043d\u043e, \u0442\u043e \u043d\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442 \u0442\u0440\u0443\u0434\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u0451 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0432\u043e\u0438 \u0434\u0430\u043d\u043d\u044b\u0435.<\/li>\n<li>\u041c\u043e\u0439 \u043a\u043e\u0434 \u043d\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d, \u0447\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u043e\u0432, \u043d\u0443\u0436\u043d\u043e \u043a\u043e\u0432\u044b\u0440\u044f\u0442\u044c\u0441\u044f \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u0438 \u043c\u0435\u043d\u044f\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435\u043f\u0440\u0438\u043b\u0438\u0447\u043d\u043e \u2014 \u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u0434. \u0410 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0437\u0430\u0434\u0430\u0447\u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043d\u0435 \u0432\u0445\u043e\u0434\u0438\u043b\u043e.<\/li>\n<\/ul>\n<p>  \u041f\u0440\u043e\u0448\u0443 \u043e\u0442\u043d\u0435\u0441\u0442\u0438\u0441\u044c \u0441 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435\u043c.<\/p>\n<h1>\u0414\u0440\u0443\u0433\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/h1>\n<p>  \u0423 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u0432\u0443\u0445 \u0447\u0438\u0441\u0435\u043b \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0435\u0441\u0442\u044c \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u043d\u0430\u0434\u0435\u044e\u0441\u044c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u043e\u0431\u0437\u043e\u0440\u0430\u0445. \u042d\u0442\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0438\u043d\u043e\u043c\u0430 \u0432 \u0442\u043e\u0447\u043a\u0435. \u0425\u043e\u0442\u044f, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044c \u0443\u0436\u0435 \u0441\u0430\u043c \u0432\u0438\u0434\u0438\u0442, \u043a\u0430\u043a \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u0443\u0434\u0430 \u044d\u0442\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u043c \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u043c \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0434\u0432\u0443\u0445 \u0447\u0438\u0441\u0435\u043b. \u0418 \u044f \u0431\u044b \u043d\u0435 \u0441\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u044d\u0442\u043e \u043f\u0440\u044f\u043c\u043e-\u0442\u0430\u043a\u0438 \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0442\u0435\u043c\u0430. \u041c\u043e\u044f \u043c\u043e\u0442\u0438\u0432\u0430\u0446\u0438\u044f \u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0432\u0430\u0448\u0435\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0430. <\/p>\n<p>  \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0438 \u0442\u0432\u043e\u0440\u0447\u0435\u0441\u043a\u0438\u0445 \u0432\u0430\u043c \u0443\u0441\u043f\u0435\u0445\u043e\u0432!<\/p>\n<h1>\u0421\u043f\u0438\u0441\u043e\u043a \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432<\/h1>\n<p>  [1] \u0420\u0430\u0437\u0434\u0435\u043b 5.3 \u043a\u043d\u0438\u0433\u0438 <b>Jean-Michel Muller<\/b>, \u201c<i>Handbook of floating-point arithmetic<\/i>\u201d, 2018.<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/525090\/\"> https:\/\/habr.com\/ru\/post\/525090\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\n<h1>\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0441\u0435\u0440\u0438\u044f\u0445\u2026<\/h1>\n<p>  <a href=\"https:\/\/habr.com\/ru\/post\/523654\/\">\u041f\u0440\u043e\u0448\u043b\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f<\/a> \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b\u0430 \u043e \u0434\u0432\u0443\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u0445 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u0432\u0443\u0445 <b>\u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0445<\/b> \u0447\u0438\u0441\u0435\u043b \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u0431\u0435\u0437 \u043f\u043e\u0442\u0435\u0440\u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438. \u0427\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u044d\u0442\u043e\u0433\u043e, \u043c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0441\u0443\u043c\u043c\u0443 c=a+b \u0432 \u0432\u0438\u0434\u0435 \u0434\u0432\u0443\u0445 \u0447\u0438\u0441\u0435\u043b (s,t)=a+b, \u043f\u0440\u0438\u0447\u0451\u043c \u0442\u0430\u043a\u0438\u0445, \u0447\u0442\u043e s \u2014 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0431\u043b\u0438\u0437\u043a\u043e\u0435 \u043a a+b \u0442\u043e\u0447\u043d\u043e-\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u0430 t=(a+b)-s \u2014 \u044d\u0442\u043e \u043e\u0442\u0441\u0435\u043a\u0430\u0435\u043c\u0430\u044f \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u044f \u0447\u0430\u0441\u0442\u044c, \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0430\u044f <b>\u0442\u043e\u0447\u043d\u0443\u044e<\/b> \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c. \u0423 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439 \u0431\u044b\u043b \u0432\u043e\u043f\u0440\u043e\u0441: \u0430 \u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0442\u043e\u0447\u043d\u043e \u0441\u043b\u043e\u0436\u0438\u0442\u044c \u043c\u0430\u0441\u0441\u0438\u0432 \u0447\u0438\u0441\u0435\u043b \u0442\u0438\u043f\u0430 double? \u041e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043c\u043e\u0436\u043d\u043e! \u041d\u043e \u0442\u043e\u043b\u044c\u043a\u043e, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0438 \u043d\u0435 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e\u2026 \u0438 \u043d\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c \u041a\u044d\u0445\u044d\u043d\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u0433\u0434\u0430 \u0432\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u043b\u0438 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445. \u0417\u0430 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u043f\u0440\u043e\u0448\u0443 \u043f\u043e\u0434 \u043a\u0430\u0442, \u0433\u0434\u0435 \u043c\u044b \u0438 \u043d\u0430\u0439\u0434\u0451\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0442\u043e\u043c\u0443, \u043e \u0447\u0451\u043c \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u0432 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0440\u0430\u0437.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ug\/dp\/eo\/ugdpeo1gswkdeqoke0m8mroy8uq.jpeg\"><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-312143","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/312143","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=312143"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/312143\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=312143"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=312143"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=312143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}