متناسب با متن زیر، یک عنوان انتخاب کرده و آن را خلاصه کنید

متن: جایگزینی ضرب در یک حلقه با یک جمع جایگزینی توان در یک حلقه با ضرب بیشتر زمان اجرای برنامه به طور معمول در یک بخش کوچک از کد (به نام منطقه داغ) سپری می‌شود، و آن بخش از کد اغلب در داخل یک حلقه است که بارها و بارها اجرا می‌شود. کامپایلر از روش‌هایی برای شناسایی حلقه‌ها و تشخیص ویژگی‌های مقادیر در آن حلقه‌ها استفاده می‌کند. برای کاهش قدرت، به داده‌های زیر نیازمند است: ثابت‌های حلقه (loop invariants): مقادیری که در داخل حلقه تغییر نمی‌کنند. متغیرهای القایی (induction variables): مقادیری که در داخل هر اجرای حلقه تغییر (مثل i در یک حلقه for) می‌کنند. ثابت‌های حلقه (loop invariants) در اصل درون یک حلقه ثابت هستند، اما ممکن است مقدار آنها در خارج از حلقه تغییر کنند. متغیرهای القایی با مقادیر شناخته‌شده (خاصی) در حال تغییر هستند. شرایط نسبت به یک حلقه خاص است. هنگامی‌که حلقه‌ها تودرتو باشند، یک متغیر القایی در یک حلقه بیرونی می‌تواند یک ثابت حلقه‌ای (loop invariants) در یک حلقه داخلی باشد. کاهش قدرت به دنبال عباراتی که شامل ثابت حلقه‌ای (loop invariants) و متغیر القایی می‌گردد. برخی از این عبارات را می‌توان ساده‌سازی کرد. به عنوان مثال، ضرب ثابت حلقه‌ای c و متغیر القایی i می‌تواند با جمع‌های ضعیف‌تر پی در پی جایگزین شود در زیر مثالی وجود دارد که تمام ضرب‌های داخل حلقه که از محاسبات آدرس‌دهی فهرست بندی آرایه (array indexing address calculations) به وجود آمده‌اند با روش کاهش قدرت، بهینه سازد. یک حلقه ساده را تصور کنید که یک آرایه را به یک ماتریس هویت (identity matrix) می‌نشاند. کامپایلر کد زیر را به عنوان گزاره زیر می‌بیند: این کد آرایه ۲ بعدی a را به عنوان یک آرایه ۱ بعدی با ابعاد n * n تبدیل می‌کند، به طوری که هر زمان که کد سطح بالا a [x، y] را فرا می‌خواند، از نظر داخلی (کامپایلر) a [(x * n) + y] برای هر مقدار معتبر x و y داده می‌شود. کامپایلر شروع به انجام بسیاری از بهینه سازی‌های دیگر خواهد کرد – نه‌تنها کاهش قدرت. عباراتی که ثابت (invariant) در یک حلقه خارج از حلقه برافراشته (hoisted) هستند. ثابت‌ها را می‌توان در خارج از هر دو حلقه قرار داد - مانند ثبات‌های اعشاری fr ۳ و fr ۴. تشخیص اینکه برخی از متغیرها تغییر نمی‌کنند، امکان ادغام ثبات‌ها را فراهم می‌آورد. n ثابت است، بنابراین r ۲، r ۴ …
جواب:
"كاهش قدرت" میتواند عنوان مناسب و "در ساخت کامپایلر ، کاهش قدرت یک روش بهینه سازی کامپایلر است که در آن عملیات‌های پر هزینه با عملیات معادل اما کم هزینه‌تر جایگزین می‌شوند . مثال برای کاهش قدرتی ضرب‌های « قوی » در داخل حلقه را به جمع‌های « ضعیف‌تر » تبدیل می‌کند – چیزی که غالبا در آدرس دهی آرایه اتفاق می‌افتد ." میتواند خلاصه ی مناسبی برای این متن باشد