Вы считаете количество вызовов floor в строке кода, а не в рантайме выполнения? Тогда надо бы это проговорить, а то первое что в голову приходит - избавиться от двух вызовов в рантайме и написать что-то вроде этого:
const f = (x) => x % 1 >= 0.5 ? Math.floor(x) + 1 : Math.floor(x)
или вообще так
const f = (x) => Math.floor(x + (x % 1))
Без такого уточнения, не сразу понял как вы так сократили "вызовы" floor в переписанном (не обращая внимание на нехватку скобочек) и почему я один негодую, а комментарии молчат по этому поводу)
Вы считаете количество вызовов floor в строке кода, а не в рантайме выполнения?
Тогда надо бы это проговорить, а то первое что в голову приходит - избавиться от двух вызовов в рантайме и написать что-то вроде этого:
Без такого уточнения, не сразу понял как вы так сократили "вызовы" floor в переписанном (не обращая внимание на нехватку скобочек) и почему я один негодую, а комментарии молчат по этому поводу)