Skip to content

Latest commit

 

History

History
14 lines (11 loc) · 705 Bytes

Strength-reduction.md

File metadata and controls

14 lines (11 loc) · 705 Bytes

Strength reduction

Strength reduction is a program optimization technique that replaces more expensive operations with cheaper ones.

A few examples of strength reduction:

Expensive operation Cheaper operation
Division by a power of 2 a / 2**n a >> n
Modulo by a power of 2 a % 2**n a & (2**n - 1)
Replacement of pow pow(a, 0.5) sqrt(a)
pow(a, 1.5) a * sqrt(a)
pow(a, -1.5) 1.0 / (a * sqrt(a))