Also handle negative semimajor axis