I'm fine with that, just remember to not use this in the multiplication function, but since we are modifying that one too this should be fine, like:

```c++
if (ts.tv_nsec > 0) {
  assert (ts.tv_nsec / 1e9 > -2);
} else {
  assert (ts.tv_nsec / 1e9 < 2);
}

if (ts.tv_nsec < 0)
{
  ts.tv_nsec += 1e9;
  ts.tv_sec -= 1;
}
if (ts.tv_nsec >= 1e9)
{
  ts.tv_nsec -= 1e9;
  ts.tv_sec += 1;
}
```