আমি @ জেসন এস দ্বারা সরবরাহিত উত্তরটি প্রসারিত করতে চাই, @ জেসন এস দ্বারা বর্ণিত অনুরূপ একটি ডোমেন মহকুমা পদ্ধতি ব্যবহার করে এবং ম্যাকালাউরিন সিরিজের আনুমানিকতা ব্যবহার করে, ট্যান (), পাপ () এর উপরে গড় (২-৩) এক্স স্পিডআপ , কোস (), আতান (), আসিন (), এবং অ্যাকোস () ফাংশনগুলি -২3 অপ্টিমাইজেশান সহ সিসিপি সংকলকটিতে নির্মিত হয়েছিল। নীচে বর্ণিত সেরা ম্যাকালিউরিন সিরিজের আনুমানিক ফাংশনগুলি ডাবল যথার্থ নির্ভুলতা অর্জন করেছে।
ট্যান (), পাপ (), এবং কোস () ফাংশনগুলির জন্য এবং সরলতার জন্য, একটি ওভারল্যাপিং 0 থেকে 2 পিআই + পাই / 80 ডোমেনটিকে পাই / 80, 3 পিআই / 80 এ "অ্যাঙ্কর পয়েন্টগুলি" সহ 81 টি সমান অন্তরগুলিতে বিভক্ত করা হয়েছিল, ..., 161pi / 80। তারপরে এই 81 টি অ্যাঙ্কর পয়েন্টগুলির ট্যান (), সিন (), এবং কোস () মূল্যায়ন ও সংরক্ষণ করা হয়েছিল। ট্রিগ সনাক্তকরণের সাহায্যে প্রতিটি ট্রিগ ফাংশনের জন্য একটি একক ম্যাক্লাউরিন সিরিজ ফাংশন তৈরি করা হয়েছিল। ± অনন্তের মধ্যে যে কোনও কোণ ট্রিগের আনুমানিক ফাংশনে জমা দেওয়া যেতে পারে কারণ ফাংশনগুলি প্রথমে ইনপুট কোণটি 0 থেকে 2 পিআই ডোমেনে অনুবাদ করে। এই অনুবাদ ওভারহেড আনুমানিক ওভারহেড অন্তর্ভুক্ত করা হয়।
আতান (), আসিন (), এবং একোস () ফাংশনগুলির জন্য অনুরূপ পদ্ধতিগুলি তৈরি করা হয়েছিল, যেখানে একটি ওভারল্যাপিং -1.0 থেকে 1.1 ডোমেন -19/20, -17/20, অ্যাঙ্কর পয়েন্ট সহ 21 সমতুল্য বিরতিতে বিভক্ত ছিল .. ।, 19/20, 21/20। তারপরে এই 21 অ্যাঙ্কর পয়েন্টগুলির মধ্যে কেবল আতান () সংরক্ষণ করা হয়েছিল। আবার ইনভার্স ট্রিগ সনাক্তকরণের সাহায্যে এটিান () ফাংশনের জন্য একটি একক ম্যাক্লাউরিন সিরিজ ফাংশন তৈরি করা হয়েছিল। আতান () ফাংশনের ফলাফলগুলি তখন আনুমানিক আসিন () এবং অ্যাকোস () এ ব্যবহৃত হত।
যেহেতু সমস্ত বিপরীত ট্রিগার আনুমানিক ফাংশন আটান () আনুমানিক ফাংশনের উপর ভিত্তি করে, কোনও ডাবল-স্পষ্টতা যুক্তি ইনপুট মান অনুমোদিত। তবে আসিন () এবং অ্যাকোস () আনুমানিক ফাংশনগুলিতে যুক্তি ইনপুটটি 1 ডোমেনে কাটা হয়েছে কারণ এর বাইরের কোনও মান অর্থহীন।
আনুমানিক ফাংশনগুলি পরীক্ষা করার জন্য, এক বিলিয়ন এলোমেলো ফাংশন মূল্যায়নগুলি মূল্যায়ন করতে বাধ্য করা হয়েছিল (যা -O3 অপ্টিমাইজিং সংকলককে কিছু মূল্যায়নের বাইপাস করতে দেওয়া হয়নি কারণ কিছু গণ্যমান ফলাফল ব্যবহার করা হবে না।) একটি বিলিয়নকে মূল্যায়নের পক্ষপাত দূর করতে এলোমেলো সংখ্যা এবং ফলাফল প্রক্রিয়াজাতকরণ, কোনও ট্রিগ বা বিপরীত ট্রিগ ফাংশনটি মূল্যায়ন না করেই এক রান ব্যয় প্রথমে সম্পাদিত হয়েছিল। প্রকৃত ফাংশন মূল্যায়নের সময়টির জন্য আরও প্রতিনিধি অনুমানের জন্য এই পক্ষপাতিত্বটি প্রতিটি পরীক্ষার বিয়োগ করে দেওয়া হয়েছিল।
সারণী 2 নির্দেশিত ফাংশন বা এক বিলিয়ন বার কার্য সম্পাদন করতে সেকেন্ডে সময় ব্যয় করে। টেবিল 1 এর অবশিষ্ট সারি থেকে সারণি 1 এর প্রথম সারিতে প্রদর্শিত এক বিলিয়ন এলোমেলো সংখ্যার মূল্যায়নের সময় ব্যয়কে বিয়োগ করে অনুমানগুলি প্রাপ্ত করা হয়।
ট্যানে ব্যয় করা সময় (): 18.0515 18.2545
টিএএন 3 (): 5.93853 6.02349 এ ব্যয় করা সময়
TAN4 (): 6.72216 6.99134 এ ব্যয় করা সময়
পাপ () এবং কোস (): 19.4052 19.4311 এ ব্যয় করা সময়
SINCOS3 (): 7.85564 7.92844 এ ব্যয় করা সময়
SINCOS4 (): 9.36672 9.57946 এ ব্যয় করা সময়
আতান (): 15.7160 15.6599 এ ব্যয় করা সময়
এটিএন 1 (): 6.47800 6.55230 এ ব্যয় করা সময়
এটিএন 2 (): 7.26730 7.24885 এ ব্যয় করা সময়
এটিএন 3 (): 8.15299 8.21284 এ ব্যয় করা সময়
আসিন () এবং অ্যাকোজে (): 36.8833 36.9496 এ সময় ব্যয় করেছে
ASINCOS1 (): 10.1655 9.78479 এ ব্যয় করা সময়
ASINCOS2 (): 10.6236 10.6000 এ ব্যয় করা সময়
ASINCOS3 (): 12.8430 12.0707 এ ব্যয় করা সময়
(স্থান বাঁচানোর স্বার্থে, টেবিল 1 প্রদর্শিত হবে না।) সারণী 2 প্রতিটি আনুমানিক ফাংশনের এক বিলিয়ন মূল্যায়নের দুটি পৃথক রানের ফলাফল দেখায়। প্রথম কলামটি প্রথম রান এবং দ্বিতীয় কলামটি দ্বিতীয় রান। ফাংশন নামগুলিতে '1', '2', '3' বা '4' নম্বরগুলি নির্দিষ্ট ট্রিগ বা বিপরীত ট্রিগার অনুমানের মূল্যায়ন করতে ম্যাক্লাউরিন সিরিজ ফাংশনে ব্যবহৃত পদগুলির সংখ্যা নির্দেশ করে। সিনকোস # () এর অর্থ পাপ এবং কোস উভয়ই একই সময়ে মূল্যায়ন করা হয়েছিল। তেমনি, এএসআইএনসিওএস # () এর অর্থ একই সাথে অসিন এবং আকো উভয়কেই মূল্যায়ন করা হয়েছিল। একই সাথে উভয় পরিমাণের মূল্যায়নে অতিরিক্ত অতিরিক্ত ওভারহেড রয়েছে।
ফলাফলগুলি দেখায় যে শর্তাবলীর সংখ্যা বাড়ানো প্রত্যাশার সাথে সাথে মৃত্যুদন্ড কার্যকর করার সময় সামান্য বাড়ায়। এমনকি সংক্ষিপ্ত সংখ্যক শর্তাবলী যেখানে তার মান ima অসীমের কাছাকাছি আসে তার কাছাকাছি টান () সান্নিধ্য বাদে প্রায় 12-14 ডিজিটের নির্ভুলতা দিয়েছে। কেউ আশা করতে পারে এমনকি ট্যান () ফাংশনটিতেও সমস্যা আছে।
ইউনিক্সের একটি হাই-এন্ড ম্যাকবুক প্রো ল্যাপটপে এবং লিনাক্সের একটি উচ্চ-ডেস্কটপ কম্পিউটারে অনুরূপ ফলাফল পাওয়া গেছে।