c++ backend: builtin `round` function.
note: `round(1.123, 2) == 1.12` fails in regtests/lang/builtins.py, yet when printed the value is correct `1.12`, literal numbers are treated as `float` by default? and not `double`?