From ed3a32d38b41932d26fc9e5cb00bc4f7add99ae6 Mon Sep 17 00:00:00 2001
From: Matthieu Schaller <schaller@strw.leidenuniv.nl>
Date: Tue, 5 May 2020 16:58:04 +0200
Subject: [PATCH] Do not use the approximate erf in the long-range truncation
 functions

---
 src/kernel_long_gravity.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/kernel_long_gravity.h b/src/kernel_long_gravity.h
index 29471e1b1e..f099b5a480 100644
--- a/src/kernel_long_gravity.h
+++ b/src/kernel_long_gravity.h
@@ -91,7 +91,7 @@ kernel_long_grav_derivatives(const float r, const float r_s_inv,
   const float r_s_inv5 = r_s_inv4 * r_s_inv;
 
   /* Derivatives of \chi */
-  derivs->chi_0 = approx_erfcf(u);
+  derivs->chi_0 = erfcf(u);
   derivs->chi_1 = -r_s_inv;
   derivs->chi_2 = r_s_inv2 * u;
   derivs->chi_3 = -r_s_inv3 * (u2 - 0.5f);
@@ -158,7 +158,7 @@ __attribute__((const)) INLINE static float kernel_long_grav_pot_eval(
 #ifdef GADGET2_LONG_RANGE_CORRECTION
 
   const float arg1 = u * 0.5f;
-  return approx_erfcf(arg1);
+  return erfcf(arg1);
 
 #else
 
@@ -190,7 +190,7 @@ __attribute__((const)) INLINE static float kernel_long_grav_force_eval(
   const float arg1 = u * 0.5f;
   const float arg2 = -arg1 * arg1;
 
-  const float term1 = approx_erfcf(arg1);
+  const float term1 = erfcf(arg1);
   const float term2 = u * one_over_sqrt_pi * expf(arg2);
 
   return term1 + term2;
-- 
GitLab