Adjusted to avoid calls to `::greatest_common_divisor(numerator % denominator, denominator)` unless necessary.
Adjusted to avoid calls to `::greatest_common_divisor(numerator % denominator, denominator)` unless necessary.

TomHarte/CLK,TomHarte/CLK,TomHarte/CLK,TomHarte/CLK,TomHarte/CLK