Python library for arbitrary-precision floating-point arithmetic
What you've done here is tell SymPy to use extra precision for the intermediate (and final) output. This doesn't truly fix the problem of cancellation and loss of precision, but for many practical purposes it can postpone the problem long enough to give you a useful result.
Internally, SymPy uses mpmath (https://mpmath.org/) for representation of numbers to arbitrary precision. You could install and use the latter library directly, gaining extra precision without going through symbolic manipulation.
All that being said, it's still good practice to avoid loss of precision at the outset. Arbitrary-precision calculations are slow compared to hardware-native floating point operations. Using the example from mpmath's homepage in iPython:
In : import mpmath as mp; import scipy as sp; import numpy as np
Floating Point Math Examples
Appwrite - The open-source backend cloud platform. Add Auth, Databases, Functions, and Storage to your product and build any application at any scale while using your preferred coding languages and tools.
mpmath VS gmpy - a user suggested alternative
2 projects | 2 Aug 2023
How can I compute the Mandelbrot Set at infinite zoom level
1 project | /r/askmath | 6 Jun 2023
How do I get more decimal places for numbers in Python?
1 project | /r/programminghelp | 4 May 2023
My function isn't working correctly
1 project | /r/learnprogramming | 9 Apr 2023
How to preserve decimal places
1 project | /r/learnpython | 23 Dec 2022