diff --git a/examples/multiprecision/tests.c b/examples/multiprecision/tests.c
index 4709e2dd3abe93e6e1fbcb8d36e37c311c0100e9..39308081b963cafb1249f62e0efe02841682260a 100644
--- a/examples/multiprecision/tests.c
+++ b/examples/multiprecision/tests.c
@@ -15,9 +15,15 @@
 
 #ifdef TEST_MINIGMP
 #include "mini-gmp.c"
-#else
+#endif
+#ifdef TEST_GMP
 #include <gmp.h>
 #endif
+#ifdef TEST_WHY3
+#include "build/add.h"
+#include "build/mul.h"
+#include "build/div.h"
+#endif
 
 #include "mt19937-64.c"
 #include <stdint.h>
@@ -26,15 +32,6 @@
 #include <sys/time.h>
 #include <time.h>
 
-uint64_t add(uint64_t * r3, uint64_t * x4, uint64_t * y3, int32_t sx, int32_t
-             sy);
-
-void mul(uint64_t * r10, uint64_t * x11, uint64_t * y10, int32_t sx2, int32_t
-         sy2);
-
-void tdiv_qr(uint64_t * q, uint64_t * r, uint64_t * x, uint64_t * y,
-             int32_t sx, int32_t sy);
-
 #define TMP_ALLOC_LIMBS(n) malloc((n) * 8)
 
 void mpn_dump(mp_ptr ap, mp_size_t an) {