diff --git a/src/functions-simd.c b/src/functions-simd.c
index 90ce8bc..b5b6d80 100644
--- src/functions-simd.c
+++ src/functions-simd.c
@@ -24,6 +24,17 @@
 
 #if ME_USE_ACCELERATE && defined(__APPLE__)
 #include <Accelerate/Accelerate.h>
+#include <AvailabilityMacros.h>
+/* vForce gained fabs/copysign/fmod/remainder/nextafter/expm1/log1p/log2/
+ * cbrt/sinpi/cospi (and their float variants) in OS X 10.9; SDKs targeting
+ * older deployment targets (e.g. legacy PowerPC toolchains still on 10.6)
+ * don't declare them, so gate their use on the SDK version instead of
+ * assuming every Apple target ships the full modern vForce API. */
+#if defined(MAC_OS_X_VERSION_10_9) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_9
+#define ME_VFORCE_HAVE_10_9 1
+#else
+#define ME_VFORCE_HAVE_10_9 0
+#endif
 #endif
 
 #if defined(_MSC_VER)
@@ -1001,13 +1012,19 @@ ME_VFORCE_UNARY_F64(vec_tan_accelerate, vvtan)
 ME_VFORCE_UNARY_F64(vec_asin_accelerate, vvasin)
 ME_VFORCE_UNARY_F64(vec_acos_accelerate, vvacos)
 ME_VFORCE_UNARY_F64(vec_atan_accelerate, vvatan)
+#if ME_VFORCE_HAVE_10_9
 ME_VFORCE_UNARY_F64(vec_abs_accelerate, vvfabs)
+#endif
 ME_VFORCE_UNARY_F64(vec_exp_accelerate, vvexp)
+#if ME_VFORCE_HAVE_10_9
 ME_VFORCE_UNARY_F64(vec_expm1_accelerate, vvexpm1)
+#endif
 ME_VFORCE_UNARY_F64(vec_log_accelerate, vvlog)
 ME_VFORCE_UNARY_F64(vec_log10_accelerate, vvlog10)
+#if ME_VFORCE_HAVE_10_9
 ME_VFORCE_UNARY_F64(vec_log1p_accelerate, vvlog1p)
 ME_VFORCE_UNARY_F64(vec_log2_accelerate, vvlog2)
+#endif
 ME_VFORCE_UNARY_F64(vec_sqrt_accelerate, vvsqrt)
 ME_VFORCE_UNARY_F64(vec_sinh_accelerate, vvsinh)
 ME_VFORCE_UNARY_F64(vec_cosh_accelerate, vvcosh)
@@ -1017,9 +1034,11 @@ ME_VFORCE_UNARY_F64(vec_asinh_accelerate, vvasinh)
 ME_VFORCE_UNARY_F64(vec_atanh_accelerate, vvatanh)
 ME_VFORCE_UNARY_F64(vec_ceil_accelerate, vvceil)
 ME_VFORCE_UNARY_F64(vec_floor_accelerate, vvfloor)
+#if ME_VFORCE_HAVE_10_9
 ME_VFORCE_UNARY_F64(vec_cbrt_accelerate, vvcbrt)
 ME_VFORCE_UNARY_F64(vec_sinpi_accelerate, vvsinpi)
 ME_VFORCE_UNARY_F64(vec_cospi_accelerate, vvcospi)
+#endif
 
 ME_VFORCE_UNARY_F32(vec_sin_f32_accelerate, vvsinf)
 ME_VFORCE_UNARY_F32(vec_cos_f32_accelerate, vvcosf)
@@ -1027,13 +1046,19 @@ ME_VFORCE_UNARY_F32(vec_tan_f32_accelerate, vvtanf)
 ME_VFORCE_UNARY_F32(vec_asin_f32_accelerate, vvasinf)
 ME_VFORCE_UNARY_F32(vec_acos_f32_accelerate, vvacosf)
 ME_VFORCE_UNARY_F32(vec_atan_f32_accelerate, vvatanf)
+#if ME_VFORCE_HAVE_10_9
 ME_VFORCE_UNARY_F32(vec_abs_f32_accelerate, vvfabsf)
+#endif
 ME_VFORCE_UNARY_F32(vec_exp_f32_accelerate, vvexpf)
+#if ME_VFORCE_HAVE_10_9
 ME_VFORCE_UNARY_F32(vec_expm1_f32_accelerate, vvexpm1f)
+#endif
 ME_VFORCE_UNARY_F32(vec_log_f32_accelerate, vvlogf)
 ME_VFORCE_UNARY_F32(vec_log10_f32_accelerate, vvlog10f)
+#if ME_VFORCE_HAVE_10_9
 ME_VFORCE_UNARY_F32(vec_log1p_f32_accelerate, vvlog1pf)
 ME_VFORCE_UNARY_F32(vec_log2_f32_accelerate, vvlog2f)
+#endif
 ME_VFORCE_UNARY_F32(vec_sqrt_f32_accelerate, vvsqrtf)
 ME_VFORCE_UNARY_F32(vec_sinh_f32_accelerate, vvsinhf)
 ME_VFORCE_UNARY_F32(vec_cosh_f32_accelerate, vvcoshf)
@@ -1043,21 +1068,27 @@ ME_VFORCE_UNARY_F32(vec_asinh_f32_accelerate, vvasinhf)
 ME_VFORCE_UNARY_F32(vec_atanh_f32_accelerate, vvatanhf)
 ME_VFORCE_UNARY_F32(vec_ceil_f32_accelerate, vvceilf)
 ME_VFORCE_UNARY_F32(vec_floor_f32_accelerate, vvfloorf)
+#if ME_VFORCE_HAVE_10_9
 ME_VFORCE_UNARY_F32(vec_cbrt_f32_accelerate, vvcbrtf)
 ME_VFORCE_UNARY_F32(vec_sinpi_f32_accelerate, vvsinpif)
 ME_VFORCE_UNARY_F32(vec_cospi_f32_accelerate, vvcospif)
+#endif
 
 ME_VFORCE_BINARY_F64(vec_atan2_accelerate, vvatan2)
+#if ME_VFORCE_HAVE_10_9
 ME_VFORCE_BINARY_F64(vec_copysign_accelerate, vvcopysign)
 ME_VFORCE_BINARY_F64(vec_fmod_accelerate, vvfmod)
 ME_VFORCE_BINARY_F64(vec_remainder_accelerate, vvremainder)
 ME_VFORCE_BINARY_F64(vec_nextafter_accelerate, vvnextafter)
+#endif
 
 ME_VFORCE_BINARY_F32(vec_atan2_f32_accelerate, vvatan2f)
+#if ME_VFORCE_HAVE_10_9
 ME_VFORCE_BINARY_F32(vec_copysign_f32_accelerate, vvcopysignf)
 ME_VFORCE_BINARY_F32(vec_fmod_f32_accelerate, vvfmodf)
 ME_VFORCE_BINARY_F32(vec_remainder_f32_accelerate, vvremainderf)
 ME_VFORCE_BINARY_F32(vec_nextafter_f32_accelerate, vvnextafterf)
+#endif
 
 static void vec_pow_accelerate(const double* a, const double* b, double* out, int n) {
     vvpow(out, b, a, &n);
@@ -3850,13 +3881,19 @@ static void me_set_accelerate_backend(void) {
     vec_acos_impl = vec_acos_accelerate;
     vec_atan_impl = vec_atan_accelerate;
     vec_atan2_impl = vec_atan2_accelerate;
+#if ME_VFORCE_HAVE_10_9
     vec_abs_impl = vec_abs_accelerate;
+#endif
     vec_exp_impl = vec_exp_accelerate;
+#if ME_VFORCE_HAVE_10_9
     vec_expm1_impl = vec_expm1_accelerate;
+#endif
     vec_log_impl = vec_log_accelerate;
     vec_log10_impl = vec_log10_accelerate;
+#if ME_VFORCE_HAVE_10_9
     vec_log1p_impl = vec_log1p_accelerate;
     vec_log2_impl = vec_log2_accelerate;
+#endif
     vec_sqrt_impl = vec_sqrt_accelerate;
     vec_sinh_impl = vec_sinh_accelerate;
     vec_cosh_impl = vec_cosh_accelerate;
@@ -3866,14 +3903,18 @@ static void me_set_accelerate_backend(void) {
     vec_atanh_impl = vec_atanh_accelerate;
     vec_ceil_impl = vec_ceil_accelerate;
     vec_floor_impl = vec_floor_accelerate;
+#if ME_VFORCE_HAVE_10_9
     vec_cbrt_impl = vec_cbrt_accelerate;
     vec_sinpi_impl = vec_sinpi_accelerate;
     vec_cospi_impl = vec_cospi_accelerate;
+#endif
     vec_pow_impl = vec_pow_accelerate;
+#if ME_VFORCE_HAVE_10_9
     vec_copysign_impl = vec_copysign_accelerate;
     vec_fmod_impl = vec_fmod_accelerate;
     vec_nextafter_impl = vec_nextafter_accelerate;
     vec_remainder_impl = vec_remainder_accelerate;
+#endif
     vec_sin_f32_impl = vec_sin_f32_accelerate;
     vec_cos_f32_impl = vec_cos_f32_accelerate;
     vec_tan_f32_impl = vec_tan_f32_accelerate;
@@ -3881,13 +3922,19 @@ static void me_set_accelerate_backend(void) {
     vec_acos_f32_impl = vec_acos_f32_accelerate;
     vec_atan_f32_impl = vec_atan_f32_accelerate;
     vec_atan2_f32_impl = vec_atan2_f32_accelerate;
+#if ME_VFORCE_HAVE_10_9
     vec_abs_f32_impl = vec_abs_f32_accelerate;
+#endif
     vec_exp_f32_impl = vec_exp_f32_accelerate;
+#if ME_VFORCE_HAVE_10_9
     vec_expm1_f32_impl = vec_expm1_f32_accelerate;
+#endif
     vec_log_f32_impl = vec_log_f32_accelerate;
     vec_log10_f32_impl = vec_log10_f32_accelerate;
+#if ME_VFORCE_HAVE_10_9
     vec_log1p_f32_impl = vec_log1p_f32_accelerate;
     vec_log2_f32_impl = vec_log2_f32_accelerate;
+#endif
     vec_sqrt_f32_impl = vec_sqrt_f32_accelerate;
     vec_sinh_f32_impl = vec_sinh_f32_accelerate;
     vec_cosh_f32_impl = vec_cosh_f32_accelerate;
@@ -3897,14 +3944,18 @@ static void me_set_accelerate_backend(void) {
     vec_atanh_f32_impl = vec_atanh_f32_accelerate;
     vec_ceil_f32_impl = vec_ceil_f32_accelerate;
     vec_floor_f32_impl = vec_floor_f32_accelerate;
+#if ME_VFORCE_HAVE_10_9
     vec_cbrt_f32_impl = vec_cbrt_f32_accelerate;
     vec_sinpi_f32_impl = vec_sinpi_f32_accelerate;
     vec_cospi_f32_impl = vec_cospi_f32_accelerate;
+#endif
     vec_pow_f32_impl = vec_pow_f32_accelerate;
+#if ME_VFORCE_HAVE_10_9
     vec_copysign_f32_impl = vec_copysign_f32_accelerate;
     vec_fmod_f32_impl = vec_fmod_f32_accelerate;
     vec_nextafter_f32_impl = vec_nextafter_f32_accelerate;
     vec_remainder_f32_impl = vec_remainder_f32_accelerate;
+#endif
     vec_sincos_impl = vec_sincos_accelerate;
     vec_sincos_f32_impl = vec_sincos_f32_accelerate;
 }
