Index: uspace/lib/math/arch/abs32le/include/libarch/math.h
===================================================================
--- uspace/lib/math/arch/abs32le/include/libarch/math.h	(revision d9be488aaf4d20f1c61c594ac3595cdf66202e01)
+++ uspace/lib/math/arch/abs32le/include/libarch/math.h	(revision e3c960e1bdab0baa0afb2fefa5847dedc0fac870)
@@ -37,5 +37,12 @@
 
 #include <mathtypes.h>
+#include <mod.h>
 #include <trunc.h>
+#include <trig.h>
+
+static inline double fmod(double dividend, double divisor)
+{
+	return double_mod(dividend, divisor);
+}
 
 static inline double trunc(double val)
@@ -52,12 +59,10 @@
 static inline double sin(double val)
 {
-	// FIXME TODO
-	return 0;
+	return double_sin(val);
 }
 
 static inline double cos(double val)
 {
-	// FIXME TODO
-	return 1;
+	return double_cos(val);
 }
 
Index: uspace/lib/math/arch/amd64/include/libarch/math.h
===================================================================
--- uspace/lib/math/arch/amd64/include/libarch/math.h	(revision d9be488aaf4d20f1c61c594ac3595cdf66202e01)
+++ uspace/lib/math/arch/amd64/include/libarch/math.h	(revision e3c960e1bdab0baa0afb2fefa5847dedc0fac870)
@@ -36,4 +36,11 @@
 #define LIBMATH_amd64_MATH_H_
 
+#include <mod.h>
+
+static inline double fmod(double dividend, double divisor)
+{
+	return double_mod(dividend, divisor);
+}
+
 extern double sin(double);
 extern double cos(double);
Index: uspace/lib/math/arch/arm32/include/libarch/math.h
===================================================================
--- uspace/lib/math/arch/arm32/include/libarch/math.h	(revision d9be488aaf4d20f1c61c594ac3595cdf66202e01)
+++ uspace/lib/math/arch/arm32/include/libarch/math.h	(revision e3c960e1bdab0baa0afb2fefa5847dedc0fac870)
@@ -37,5 +37,12 @@
 
 #include <mathtypes.h>
+#include <mod.h>
 #include <trunc.h>
+#include <trig.h>
+
+static inline double fmod(double dividend, double divisor)
+{
+	return double_mod(dividend, divisor);
+}
 
 static inline double trunc(double val)
@@ -52,12 +59,10 @@
 static inline double sin(double val)
 {
-	// FIXME TODO
-	return 0;
+	return double_sin(val);
 }
 
 static inline double cos(double val)
 {
-	// FIXME TODO
-	return 1;
+	return double_cos(val);
 }
 
Index: uspace/lib/math/arch/ia32/include/libarch/math.h
===================================================================
--- uspace/lib/math/arch/ia32/include/libarch/math.h	(revision d9be488aaf4d20f1c61c594ac3595cdf66202e01)
+++ uspace/lib/math/arch/ia32/include/libarch/math.h	(revision e3c960e1bdab0baa0afb2fefa5847dedc0fac870)
@@ -36,4 +36,11 @@
 #define LIBMATH_ia32_MATH_H_
 
+#include <mod.h>
+
+static inline double fmod(double dividend, double divisor)
+{
+	return double_mod(dividend, divisor);
+}
+
 extern double sin(double);
 extern double cos(double);
Index: uspace/lib/math/arch/ia64/include/libarch/math.h
===================================================================
--- uspace/lib/math/arch/ia64/include/libarch/math.h	(revision d9be488aaf4d20f1c61c594ac3595cdf66202e01)
+++ uspace/lib/math/arch/ia64/include/libarch/math.h	(revision e3c960e1bdab0baa0afb2fefa5847dedc0fac870)
@@ -37,5 +37,12 @@
 
 #include <mathtypes.h>
+#include <mod.h>
 #include <trunc.h>
+#include <trig.h>
+
+static inline double fmod(double dividend, double divisor)
+{
+	return double_mod(dividend, divisor);
+}
 
 static inline double trunc(double val)
@@ -52,12 +59,10 @@
 static inline double sin(double val)
 {
-	// FIXME TODO
-	return 0;
+	return double_sin(val);
 }
 
 static inline double cos(double val)
 {
-	// FIXME TODO
-	return 1;
+	return double_cos(val);
 }
 
Index: uspace/lib/math/arch/mips32/include/libarch/math.h
===================================================================
--- uspace/lib/math/arch/mips32/include/libarch/math.h	(revision d9be488aaf4d20f1c61c594ac3595cdf66202e01)
+++ uspace/lib/math/arch/mips32/include/libarch/math.h	(revision e3c960e1bdab0baa0afb2fefa5847dedc0fac870)
@@ -37,5 +37,12 @@
 
 #include <mathtypes.h>
+#include <mod.h>
 #include <trunc.h>
+#include <trig.h>
+
+static inline double fmod(double dividend, double divisor)
+{
+	return double_mod(dividend, divisor);
+}
 
 static inline double trunc(double val)
@@ -52,12 +59,10 @@
 static inline double sin(double val)
 {
-	// FIXME TODO
-	return 0;
+	return double_sin(val);
 }
 
 static inline double cos(double val)
 {
-	// FIXME TODO
-	return 1;
+	return double_cos(val);
 }
 
Index: uspace/lib/math/arch/mips32eb/include/libarch/math.h
===================================================================
--- uspace/lib/math/arch/mips32eb/include/libarch/math.h	(revision d9be488aaf4d20f1c61c594ac3595cdf66202e01)
+++ uspace/lib/math/arch/mips32eb/include/libarch/math.h	(revision e3c960e1bdab0baa0afb2fefa5847dedc0fac870)
@@ -37,5 +37,12 @@
 
 #include <mathtypes.h>
+#include <mod.h>
 #include <trunc.h>
+#include <trig.h>
+
+static inline double fmod(double dividend, double divisor)
+{
+	return double_mod(dividend, divisor);
+}
 
 static inline double trunc(double val)
@@ -52,12 +59,10 @@
 static inline double sin(double val)
 {
-	// FIXME TODO
-	return 0;
+	return double_sin(val);
 }
 
 static inline double cos(double val)
 {
-	// FIXME TODO
-	return 1;
+	return double_cos(val);
 }
 
Index: uspace/lib/math/arch/mips64/include/libarch/math.h
===================================================================
--- uspace/lib/math/arch/mips64/include/libarch/math.h	(revision d9be488aaf4d20f1c61c594ac3595cdf66202e01)
+++ uspace/lib/math/arch/mips64/include/libarch/math.h	(revision e3c960e1bdab0baa0afb2fefa5847dedc0fac870)
@@ -37,5 +37,12 @@
 
 #include <mathtypes.h>
+#include <mod.h>
 #include <trunc.h>
+#include <trig.h>
+
+static inline double fmod(double dividend, double divisor)
+{
+	return double_mod(dividend, divisor);
+}
 
 static inline double trunc(double val)
@@ -52,12 +59,10 @@
 static inline double sin(double val)
 {
-	// FIXME TODO
-	return 0;
+	return double_sin(val);
 }
 
 static inline double cos(double val)
 {
-	// FIXME TODO
-	return 1;
+	return double_cos(val);
 }
 
Index: uspace/lib/math/arch/ppc32/include/libarch/math.h
===================================================================
--- uspace/lib/math/arch/ppc32/include/libarch/math.h	(revision d9be488aaf4d20f1c61c594ac3595cdf66202e01)
+++ uspace/lib/math/arch/ppc32/include/libarch/math.h	(revision e3c960e1bdab0baa0afb2fefa5847dedc0fac870)
@@ -37,5 +37,12 @@
 
 #include <mathtypes.h>
+#include <mod.h>
 #include <trunc.h>
+#include <trig.h>
+
+static inline double fmod(double dividend, double divisor)
+{
+	return double_mod(dividend, divisor);
+}
 
 static inline double trunc(double val)
@@ -52,12 +59,10 @@
 static inline double sin(double val)
 {
-	// FIXME TODO
-	return 0;
+	return double_sin(val);
 }
 
 static inline double cos(double val)
 {
-	// FIXME TODO
-	return 1;
+	return double_cos(val);
 }
 
Index: uspace/lib/math/arch/sparc32/include/libarch/math.h
===================================================================
--- uspace/lib/math/arch/sparc32/include/libarch/math.h	(revision d9be488aaf4d20f1c61c594ac3595cdf66202e01)
+++ uspace/lib/math/arch/sparc32/include/libarch/math.h	(revision e3c960e1bdab0baa0afb2fefa5847dedc0fac870)
@@ -37,5 +37,12 @@
 
 #include <mathtypes.h>
+#include <mod.h>
 #include <trunc.h>
+#include <trig.h>
+
+static inline double fmod(double dividend, double divisor)
+{
+	return double_mod(dividend, divisor);
+}
 
 static inline double trunc(double val)
@@ -52,12 +59,10 @@
 static inline double sin(double val)
 {
-	// FIXME TODO
-	return 0;
+	return double_sin(val);
 }
 
 static inline double cos(double val)
 {
-	// FIXME TODO
-	return 1;
+	return double_cos(val);
 }
 
Index: uspace/lib/math/arch/sparc64/include/libarch/math.h
===================================================================
--- uspace/lib/math/arch/sparc64/include/libarch/math.h	(revision d9be488aaf4d20f1c61c594ac3595cdf66202e01)
+++ uspace/lib/math/arch/sparc64/include/libarch/math.h	(revision e3c960e1bdab0baa0afb2fefa5847dedc0fac870)
@@ -37,5 +37,12 @@
 
 #include <mathtypes.h>
+#include <mod.h>
 #include <trunc.h>
+#include <trig.h>
+
+static inline double fmod(double dividend, double divisor)
+{
+	return double_mod(dividend, divisor);
+}
 
 static inline double trunc(double val)
@@ -52,12 +59,10 @@
 static inline double sin(double val)
 {
-	// FIXME TODO
-	return 0;
+	return double_sin(val);
 }
 
 static inline double cos(double val)
 {
-	// FIXME TODO
-	return 1;
+	return double_cos(val);
 }
 
