Currently the engine resolves numerical instability (precision errors due to dividing by a very small number) by disregarding the term in the equation that gives problems: the perturbation term. This is essentially a one-term perturbative expansion of the quartic equation. Although it resolves the numeric issues, it is not the most accurate approximation. For a better result, we should opt for using a two-term perturbative expansion, so that the perturbation term is included again (but this time without numeric instability).
Currently the engine resolves numerical instability (precision errors due to dividing by a very small number) by disregarding the term in the equation that gives problems: the perturbation term. This is essentially a one-term perturbative expansion of the quartic equation. Although it resolves the numeric issues, it is not the most accurate approximation. For a better result, we should opt for using a two-term perturbative expansion, so that the perturbation term is included again (but this time without numeric instability).
See https://en.wikipedia.org/wiki/Perturbation_theory for more info.