better to split this up:
```
c = t|0;
s2 = t - c;
return s2