private static function compute2NRoot($base, $index, $out_scale) { $result = $base; for ($i = 0; $i < $index; $i++) { $result = bcsqrt($result, ($out_scale + 1) * ($index - $i) + 1); } return self::innerRound($result, $out_scale); }