diff --git a/src/Makefile.am b/src/Makefile.am
index da5d88e799c9d4b1d328092f5abccec32668deb9..cd100392ac7fd1712c04e64681edf6d0a2de517e 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -44,7 +44,7 @@ AM_SOURCES = space.c runner.c queue.c task.c cell.c engine.c \
     kernel.c tools.c part.c
 
 # Include files for distribution, not installation.
-noinst_HEADERS = atomic.h cycle.h error.h inline.h kernel.h vector.h \
+noinst_HEADERS = approx_math.h atomic.h cycle.h error.h inline.h kernel.h vector.h \
 		 runner_doiact.h runner_doiact_grav.h units.h intrinsics.h \
 		 hydro.h hydro_io.h gravity.h hydro/*/*.h gravity/*/*.h
 
diff --git a/src/approx_math.h b/src/approx_math.h
new file mode 100644
index 0000000000000000000000000000000000000000..ef93ea63c383c74caa3eaff65446962872389a35
--- /dev/null
+++ b/src/approx_math.h
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * This file is part of SWIFT.
+ * Copyright (c) 2016 Matthieu Schaller matthieu.schaller@durham.ac.uk)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ ******************************************************************************/
+#ifndef SWIFT_APPROX_MATH_H
+#define SWIFT_APPROX_MATH_H
+
+/**
+ * @brief Approximate version of expf(x) using a 4th order Taylor expansion
+ *
+ * The absolute error is of order 10^-6 for -0.2 < x < 0.2.
+ *
+ * @param x The number to take the exponential of.
+ */
+__attribute__((always_inline)) INLINE static float approx_expf(float x) {
+  return 1.f + x * (1.f + x * (0.5f + x * (1.f / 6.0f + 1.f / 24.0f * x)));
+}
+
+#endif /* SWIFT_APPROX_MATH_H */