__int128 everywhere, seems not very portable