This is probably an issue with the the numerical calculation of the square root:
>>> from pairing_functions.cantor import pair, unpair
>>> unpair(pair(129315199267255490, 392198719615119))
>>> (129707397986870608, 0)
I'm wondering if the integer-root can be efficiently calculated non-numerically.