From 1aad7246170e9f06b91ab4c09301d482cbbd62f6 Mon Sep 17 00:00:00 2001 From: "Robert C. Helling" Date: Fri, 21 Aug 2015 17:19:32 +0200 Subject: [PATCH 1/2] Don't do Boyle compensation when still on first stop There is nothing to compensate but we would hit a 0/0 numerical instability there. Signed-off-by: Robert C. Helling --- deco.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/deco.c b/deco.c index 7b8d7c2..16089e3 100644 --- a/deco.c +++ b/deco.c @@ -362,6 +362,10 @@ void boyles_law(double next_stop_pressure) { int ci; + // This should be a tautology but prevents a numerical instability. + if (IS_FP_SAME(next_stop_pressure, first_stop_pressure)) + return; + if (!first_stop_pressure) return; for (ci = 0; ci < 16; ++ci) { -- 1.9.5 (Apple Git-50.3)