From 3b08fa27a97b5d10df684f91130eaac9f4179a83 Mon Sep 17 00:00:00 2001
From: ralfulrich <ralf.ulrich@kit.edu>
Date: Mon, 31 May 2021 09:32:42 +0200
Subject: [PATCH] rare numerical instability, curved->straight

---
 corsika/detail/framework/utility/QuarticSolver.inl | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/corsika/detail/framework/utility/QuarticSolver.inl b/corsika/detail/framework/utility/QuarticSolver.inl
index 764bc3a85..4e02b5c0d 100644
--- a/corsika/detail/framework/utility/QuarticSolver.inl
+++ b/corsika/detail/framework/utility/QuarticSolver.inl
@@ -112,8 +112,7 @@ namespace corsika {
     }
     CORSIKA_LOG_TRACE("check m={}", m);
     if (m == 0) { return {0}; }
-
-    CORSIKA_LOG_TRACE("check m={}", m);
+    if (m < 0) { return {}; } // this is a rare numerical instability
 
     long double const quad_term1 = p / 2 + m;
     long double const quad_term2 = std::sqrt(2 * m);
-- 
GitLab