Backed out changeset 3025ae7a3445 (bug 933257)
authorTooru Fujisawa <arai_a@mac.com>
Sun, 13 Mar 2016 04:55:02 +0900
changeset 288470 5cbe6e726f6c725fe205f7bce29c4a76e47bfc1a
parent 288469 7009000732a2ceffece3786738ecf2f46abbcea7
child 288471 c877b27955a3dc82fdb71b69091baaaa4ac6b901
push id30079
push userryanvm@gmail.com
push dateSat, 12 Mar 2016 20:24:19 +0000
treeherdermozilla-central@d1d47ba19ce9 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs933257
milestone48.0a1
backs out3025ae7a344558e29c6348d8ea2325e7858c032a
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out changeset 3025ae7a3445 (bug 933257)
modules/fdlibm/patches/01-remove_unused_declarations_from_fdlibm_h.patch
modules/fdlibm/patches/02-change_include_guard_in_fdlibm_h.patch
modules/fdlibm/patches/03-put_fdlibm_functions_into_fdlibm_namespace.patch
modules/fdlibm/patches/04-include_fdlibm_h_from_math_private_h.patch
modules/fdlibm/patches/05-include_stdint_h_in_math_private_h.patch
modules/fdlibm/patches/06-use_mfbt_endian_h_in_math_private_h.patch
modules/fdlibm/patches/07-add_fdlibm_namespace_to_functions_defined_and_used_in_fdlibm.patch
modules/fdlibm/patches/08-fix_include_filename_in_s_cos_cpp_s_sin_cpp_and_s_tan_cpp.patch
modules/fdlibm/patches/09-remove_weak_reference_macro.patch
modules/fdlibm/patches/10-replace_inline_always_inline_with_moz_always_inline.patch
modules/fdlibm/patches/11-comment_out_rcsid_variable.patch
modules/fdlibm/patches/12-remove_unused_function_from_k_exp_cpp.patch
modules/fdlibm/patches/13-include_cfloat_to_use_flt_eval_method.patch
modules/fdlibm/patches/14-define_u_int32_t_and_u_int64_t_on_windows.patch
modules/fdlibm/patches/15-define_strict_assign_even_if_flt_eval_method_is_not_defined.patch
modules/fdlibm/patches/16-do_not_use_hexadecimal_floating_point_number.patch
deleted file mode 100644
--- a/modules/fdlibm/patches/01-remove_unused_declarations_from_fdlibm_h.patch
+++ /dev/null
@@ -1,513 +0,0 @@
-# HG changeset patch
-# User Tooru Fujisawa <arai_a@mac.com>
-# Date 1452137427 -32400
-#      Thu Jan 07 12:30:27 2016 +0900
-# Node ID b928f0090a041b6eb0c3f8e97f038233f3fda55b
-# Parent  571d45daf6735e585cf1d09190628f94e1bce81f
-Bug 933257 - Part 2.1: Remove unused declarations from fdlibm.h.
-
-diff --git a/modules/fdlibm/src/fdlibm.h b/modules/fdlibm/src/fdlibm.h
---- a/modules/fdlibm/src/fdlibm.h
-+++ b/modules/fdlibm/src/fdlibm.h
-@@ -12,496 +12,48 @@
- /*
-  * from: @(#)fdlibm.h 5.1 93/09/24
-  * $FreeBSD$
-  */
- 
- #ifndef _MATH_H_
- #define	_MATH_H_
- 
--#include <sys/cdefs.h>
--#include <sys/_types.h>
--#include <machine/_limits.h>
--
--/*
-- * ANSI/POSIX
-- */
--extern const union __infinity_un {
--	unsigned char	__uc[8];
--	double		__ud;
--} __infinity;
--
--extern const union __nan_un {
--	unsigned char	__uc[sizeof(float)];
--	float		__uf;
--} __nan;
--
--#if __GNUC_PREREQ__(3, 3) || (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 800)
--#define	__MATH_BUILTIN_CONSTANTS
--#endif
--
--#if __GNUC_PREREQ__(3, 0) && !defined(__INTEL_COMPILER)
--#define	__MATH_BUILTIN_RELOPS
--#endif
--
--#ifdef __MATH_BUILTIN_CONSTANTS
--#define	HUGE_VAL	__builtin_huge_val()
--#else
--#define	HUGE_VAL	(__infinity.__ud)
--#endif
--
--#if __ISO_C_VISIBLE >= 1999
--#define	FP_ILOGB0	(-__INT_MAX)
--#define	FP_ILOGBNAN	__INT_MAX
--
--#ifdef __MATH_BUILTIN_CONSTANTS
--#define	HUGE_VALF	__builtin_huge_valf()
--#define	HUGE_VALL	__builtin_huge_vall()
--#define	INFINITY	__builtin_inff()
--#define	NAN		__builtin_nanf("")
--#else
--#define	HUGE_VALF	(float)HUGE_VAL
--#define	HUGE_VALL	(long double)HUGE_VAL
--#define	INFINITY	HUGE_VALF
--#define	NAN		(__nan.__uf)
--#endif /* __MATH_BUILTIN_CONSTANTS */
--
--#define	MATH_ERRNO	1
--#define	MATH_ERREXCEPT	2
--#define	math_errhandling	MATH_ERREXCEPT
--
--#define	FP_FAST_FMAF	1
--
--/* Symbolic constants to classify floating point numbers. */
--#define	FP_INFINITE	0x01
--#define	FP_NAN		0x02
--#define	FP_NORMAL	0x04
--#define	FP_SUBNORMAL	0x08
--#define	FP_ZERO		0x10
--
--#if (__STDC_VERSION__ >= 201112L && defined(__clang__)) || \
--    __has_extension(c_generic_selections)
--#define	__fp_type_select(x, f, d, ld) _Generic((x),			\
--    float: f(x),							\
--    double: d(x),							\
--    long double: ld(x),							\
--    volatile float: f(x),						\
--    volatile double: d(x),						\
--    volatile long double: ld(x),					\
--    volatile const float: f(x),						\
--    volatile const double: d(x),					\
--    volatile const long double: ld(x),					\
--    const float: f(x),							\
--    const double: d(x),							\
--    const long double: ld(x))
--#elif __GNUC_PREREQ__(3, 1) && !defined(__cplusplus)
--#define	__fp_type_select(x, f, d, ld) __builtin_choose_expr(		\
--    __builtin_types_compatible_p(__typeof(x), long double), ld(x),	\
--    __builtin_choose_expr(						\
--    __builtin_types_compatible_p(__typeof(x), double), d(x),		\
--    __builtin_choose_expr(						\
--    __builtin_types_compatible_p(__typeof(x), float), f(x), (void)0)))
--#else
--#define	 __fp_type_select(x, f, d, ld)					\
--    ((sizeof(x) == sizeof(float)) ? f(x)				\
--    : (sizeof(x) == sizeof(double)) ? d(x)				\
--    : ld(x))
--#endif
--
--#define	fpclassify(x) \
--	__fp_type_select(x, __fpclassifyf, __fpclassifyd, __fpclassifyl)
--#define	isfinite(x) __fp_type_select(x, __isfinitef, __isfinite, __isfinitel)
--#define	isinf(x) __fp_type_select(x, __isinff, __isinf, __isinfl)
--#define	isnan(x) \
--	__fp_type_select(x, __inline_isnanf, __inline_isnan, __inline_isnanl)
--#define	isnormal(x) __fp_type_select(x, __isnormalf, __isnormal, __isnormall)
--
--#ifdef __MATH_BUILTIN_RELOPS
--#define	isgreater(x, y)		__builtin_isgreater((x), (y))
--#define	isgreaterequal(x, y)	__builtin_isgreaterequal((x), (y))
--#define	isless(x, y)		__builtin_isless((x), (y))
--#define	islessequal(x, y)	__builtin_islessequal((x), (y))
--#define	islessgreater(x, y)	__builtin_islessgreater((x), (y))
--#define	isunordered(x, y)	__builtin_isunordered((x), (y))
--#else
--#define	isgreater(x, y)		(!isunordered((x), (y)) && (x) > (y))
--#define	isgreaterequal(x, y)	(!isunordered((x), (y)) && (x) >= (y))
--#define	isless(x, y)		(!isunordered((x), (y)) && (x) < (y))
--#define	islessequal(x, y)	(!isunordered((x), (y)) && (x) <= (y))
--#define	islessgreater(x, y)	(!isunordered((x), (y)) && \
--					((x) > (y) || (y) > (x)))
--#define	isunordered(x, y)	(isnan(x) || isnan(y))
--#endif /* __MATH_BUILTIN_RELOPS */
--
--#define	signbit(x) __fp_type_select(x, __signbitf, __signbit, __signbitl)
--
--typedef	__double_t	double_t;
--typedef	__float_t	float_t;
--#endif /* __ISO_C_VISIBLE >= 1999 */
--
--/*
-- * XOPEN/SVID
-- */
--#if __BSD_VISIBLE || __XSI_VISIBLE
--#define	M_E		2.7182818284590452354	/* e */
--#define	M_LOG2E		1.4426950408889634074	/* log 2e */
--#define	M_LOG10E	0.43429448190325182765	/* log 10e */
--#define	M_LN2		0.69314718055994530942	/* log e2 */
--#define	M_LN10		2.30258509299404568402	/* log e10 */
--#define	M_PI		3.14159265358979323846	/* pi */
--#define	M_PI_2		1.57079632679489661923	/* pi/2 */
--#define	M_PI_4		0.78539816339744830962	/* pi/4 */
--#define	M_1_PI		0.31830988618379067154	/* 1/pi */
--#define	M_2_PI		0.63661977236758134308	/* 2/pi */
--#define	M_2_SQRTPI	1.12837916709551257390	/* 2/sqrt(pi) */
--#define	M_SQRT2		1.41421356237309504880	/* sqrt(2) */
--#define	M_SQRT1_2	0.70710678118654752440	/* 1/sqrt(2) */
--
--#define	MAXFLOAT	((float)3.40282346638528860e+38)
--extern int signgam;
--#endif /* __BSD_VISIBLE || __XSI_VISIBLE */
--
--#if __BSD_VISIBLE
--#if 0
--/* Old value from 4.4BSD-Lite math.h; this is probably better. */
--#define	HUGE		HUGE_VAL
--#else
--#define	HUGE		MAXFLOAT
--#endif
--#endif /* __BSD_VISIBLE */
--
--/*
-- * Most of these functions depend on the rounding mode and have the side
-- * effect of raising floating-point exceptions, so they are not declared
-- * as __pure2.  In C99, FENV_ACCESS affects the purity of these functions.
-- */
--__BEGIN_DECLS
--/*
-- * ANSI/POSIX
-- */
--int	__fpclassifyd(double) __pure2;
--int	__fpclassifyf(float) __pure2;
--int	__fpclassifyl(long double) __pure2;
--int	__isfinitef(float) __pure2;
--int	__isfinite(double) __pure2;
--int	__isfinitel(long double) __pure2;
--int	__isinff(float) __pure2;
--int	__isinf(double) __pure2;
--int	__isinfl(long double) __pure2;
--int	__isnormalf(float) __pure2;
--int	__isnormal(double) __pure2;
--int	__isnormall(long double) __pure2;
--int	__signbit(double) __pure2;
--int	__signbitf(float) __pure2;
--int	__signbitl(long double) __pure2;
--
--static __inline int
--__inline_isnan(__const double __x)
--{
--
--	return (__x != __x);
--}
--
--static __inline int
--__inline_isnanf(__const float __x)
--{
--
--	return (__x != __x);
--}
--
--static __inline int
--__inline_isnanl(__const long double __x)
--{
--
--	return (__x != __x);
--}
--
--/*
-- * Version 2 of the Single UNIX Specification (UNIX98) defined isnan() and
-- * isinf() as functions taking double.  C99, and the subsequent POSIX revisions
-- * (SUSv3, POSIX.1-2001, define it as a macro that accepts any real floating
-- * point type.  If we are targeting SUSv2 and C99 or C11 (or C++11) then we
-- * expose the newer definition, assuming that the language spec takes
-- * precedence over the operating system interface spec.
-- */
--#if	__XSI_VISIBLE > 0 && __XSI_VISIBLE < 600 && __ISO_C_VISIBLE < 1999
--#undef isinf
--#undef isnan
--int	isinf(double);
--int	isnan(double);
--#endif
--
- double	acos(double);
- double	asin(double);
- double	atan(double);
- double	atan2(double, double);
- double	cos(double);
- double	sin(double);
- double	tan(double);
- 
- double	cosh(double);
- double	sinh(double);
- double	tanh(double);
- 
- double	exp(double);
--double	frexp(double, int *);	/* fundamentally !__pure2 */
--double	ldexp(double, int);
- double	log(double);
- double	log10(double);
--double	modf(double, double *);	/* fundamentally !__pure2 */
- 
- double	pow(double, double);
- double	sqrt(double);
- 
- double	ceil(double);
--double	fabs(double) __pure2;
-+float	ceilf(float);
-+double	fabs(double);
- double	floor(double);
--double	fmod(double, double);
- 
--/*
-- * These functions are not in C90.
-- */
--#if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE
- double	acosh(double);
- double	asinh(double);
- double	atanh(double);
- double	cbrt(double);
--double	erf(double);
--double	erfc(double);
--double	exp2(double);
- double	expm1(double);
--double	fma(double, double, double);
- double	hypot(double, double);
--int	ilogb(double) __pure2;
--double	lgamma(double);
--long long llrint(double);
--long long llround(double);
- double	log1p(double);
- double	log2(double);
--double	logb(double);
--long	lrint(double);
--long	lround(double);
--double	nan(const char *) __pure2;
--double	nextafter(double, double);
--double	remainder(double, double);
--double	remquo(double, double, int *);
--double	rint(double);
--#endif /* __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */
- 
--#if __BSD_VISIBLE || __XSI_VISIBLE
--double	j0(double);
--double	j1(double);
--double	jn(int, double);
--double	y0(double);
--double	y1(double);
--double	yn(int, double);
-+double	copysign(double, double);
-+double	scalbn(double, int);
-+double	trunc(double);
- 
--#if __XSI_VISIBLE <= 500 || __BSD_VISIBLE
--double	gamma(double);
--#endif
--
--#if __XSI_VISIBLE <= 600 || __BSD_VISIBLE
--double	scalb(double, double);
--#endif
--#endif /* __BSD_VISIBLE || __XSI_VISIBLE */
--
--#if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999
--double	copysign(double, double) __pure2;
--double	fdim(double, double);
--double	fmax(double, double) __pure2;
--double	fmin(double, double) __pure2;
--double	nearbyint(double);
--double	round(double);
--double	scalbln(double, long);
--double	scalbn(double, int);
--double	tgamma(double);
--double	trunc(double);
--#endif
--
--/*
-- * BSD math library entry points
-- */
--#if __BSD_VISIBLE
--double	drem(double, double);
--int	finite(double) __pure2;
--int	isnanf(float) __pure2;
--
--/*
-- * Reentrant version of gamma & lgamma; passes signgam back by reference
-- * as the second argument; user must allocate space for signgam.
-- */
--double	gamma_r(double, int *);
--double	lgamma_r(double, int *);
--
--/*
-- * IEEE Test Vector
-- */
--double	significand(double);
--#endif /* __BSD_VISIBLE */
--
--/* float versions of ANSI/POSIX functions */
--#if __ISO_C_VISIBLE >= 1999
--float	acosf(float);
--float	asinf(float);
--float	atanf(float);
--float	atan2f(float, float);
--float	cosf(float);
--float	sinf(float);
--float	tanf(float);
--
--float	coshf(float);
--float	sinhf(float);
--float	tanhf(float);
--
--float	exp2f(float);
--float	expf(float);
--float	expm1f(float);
--float	frexpf(float, int *);	/* fundamentally !__pure2 */
--int	ilogbf(float) __pure2;
--float	ldexpf(float, int);
--float	log10f(float);
--float	log1pf(float);
--float	log2f(float);
--float	logf(float);
--float	modff(float, float *);	/* fundamentally !__pure2 */
--
--float	powf(float, float);
--float	sqrtf(float);
--
--float	ceilf(float);
--float	fabsf(float) __pure2;
- float	floorf(float);
--float	fmodf(float, float);
--float	roundf(float);
--
--float	erff(float);
--float	erfcf(float);
--float	hypotf(float, float);
--float	lgammaf(float);
--float	tgammaf(float);
--
--float	acoshf(float);
--float	asinhf(float);
--float	atanhf(float);
--float	cbrtf(float);
--float	logbf(float);
--float	copysignf(float, float) __pure2;
--long long llrintf(float);
--long long llroundf(float);
--long	lrintf(float);
--long	lroundf(float);
--float	nanf(const char *) __pure2;
--float	nearbyintf(float);
--float	nextafterf(float, float);
--float	remainderf(float, float);
--float	remquof(float, float, int *);
--float	rintf(float);
--float	scalblnf(float, long);
--float	scalbnf(float, int);
--float	truncf(float);
--
--float	fdimf(float, float);
--float	fmaf(float, float, float);
--float	fmaxf(float, float) __pure2;
--float	fminf(float, float) __pure2;
--#endif
--
--/*
-- * float versions of BSD math library entry points
-- */
--#if __BSD_VISIBLE
--float	dremf(float, float);
--int	finitef(float) __pure2;
--float	gammaf(float);
--float	j0f(float);
--float	j1f(float);
--float	jnf(int, float);
--float	scalbf(float, float);
--float	y0f(float);
--float	y1f(float);
--float	ynf(int, float);
--
--/*
-- * Float versions of reentrant version of gamma & lgamma; passes
-- * signgam back by reference as the second argument; user must
-- * allocate space for signgam.
-- */
--float	gammaf_r(float, int *);
--float	lgammaf_r(float, int *);
--
--/*
-- * float version of IEEE Test Vector
-- */
--float	significandf(float);
--#endif	/* __BSD_VISIBLE */
--
--/*
-- * long double versions of ISO/POSIX math functions
-- */
--#if __ISO_C_VISIBLE >= 1999
--long double	acoshl(long double);
--long double	acosl(long double);
--long double	asinhl(long double);
--long double	asinl(long double);
--long double	atan2l(long double, long double);
--long double	atanhl(long double);
--long double	atanl(long double);
--long double	cbrtl(long double);
--long double	ceill(long double);
--long double	copysignl(long double, long double) __pure2;
--long double	coshl(long double);
--long double	cosl(long double);
--long double	erfcl(long double);
--long double	erfl(long double);
--long double	exp2l(long double);
--long double	expl(long double);
--long double	expm1l(long double);
--long double	fabsl(long double) __pure2;
--long double	fdiml(long double, long double);
--long double	floorl(long double);
--long double	fmal(long double, long double, long double);
--long double	fmaxl(long double, long double) __pure2;
--long double	fminl(long double, long double) __pure2;
--long double	fmodl(long double, long double);
--long double	frexpl(long double value, int *); /* fundamentally !__pure2 */
--long double	hypotl(long double, long double);
--int		ilogbl(long double) __pure2;
--long double	ldexpl(long double, int);
--long double	lgammal(long double);
--long long	llrintl(long double);
--long long	llroundl(long double);
--long double	log10l(long double);
--long double	log1pl(long double);
--long double	log2l(long double);
--long double	logbl(long double);
--long double	logl(long double);
--long		lrintl(long double);
--long		lroundl(long double);
--long double	modfl(long double, long double *); /* fundamentally !__pure2 */
--long double	nanl(const char *) __pure2;
--long double	nearbyintl(long double);
--long double	nextafterl(long double, long double);
--double		nexttoward(double, long double);
--float		nexttowardf(float, long double);
--long double	nexttowardl(long double, long double);
--long double	powl(long double, long double);
--long double	remainderl(long double, long double);
--long double	remquol(long double, long double, int *);
--long double	rintl(long double);
--long double	roundl(long double);
--long double	scalblnl(long double, long);
--long double	scalbnl(long double, int);
--long double	sinhl(long double);
--long double	sinl(long double);
--long double	sqrtl(long double);
--long double	tanhl(long double);
--long double	tanl(long double);
--long double	tgammal(long double);
--long double	truncl(long double);
--#endif /* __ISO_C_VISIBLE >= 1999 */
--
--#if __BSD_VISIBLE
--long double	lgammal_r(long double, int *);
--#endif
--
--__END_DECLS
- 
- #endif /* !_MATH_H_ */
deleted file mode 100644
--- a/modules/fdlibm/patches/02-change_include_guard_in_fdlibm_h.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-# HG changeset patch
-# User Tooru Fujisawa <arai_a@mac.com>
-# Date 1452137427 -32400
-#      Thu Jan 07 12:30:27 2016 +0900
-# Node ID 7775dba49d062c28eca221ab804966f1ddd7c359
-# Parent  b928f0090a041b6eb0c3f8e97f038233f3fda55b
-Bug 933257 - Part 2.2: Change include guard in fdlibm.h.
-
-diff --git a/modules/fdlibm/src/fdlibm.h b/modules/fdlibm/src/fdlibm.h
---- a/modules/fdlibm/src/fdlibm.h
-+++ b/modules/fdlibm/src/fdlibm.h
-@@ -9,18 +9,18 @@
-  * ====================================================
-  */
- 
- /*
-  * from: @(#)fdlibm.h 5.1 93/09/24
-  * $FreeBSD$
-  */
- 
--#ifndef _MATH_H_
--#define	_MATH_H_
-+#ifndef mozilla_imported_fdlibm_h
-+#define mozilla_imported_fdlibm_h
- 
- double	acos(double);
- double	asin(double);
- double	atan(double);
- double	atan2(double, double);
- double	cos(double);
- double	sin(double);
- double	tan(double);
-@@ -51,9 +51,9 @@ double	log1p(double);
- double	log2(double);
- 
- double	copysign(double, double);
- double	scalbn(double, int);
- double	trunc(double);
- 
- float	floorf(float);
- 
--#endif /* !_MATH_H_ */
-+#endif /* mozilla_imported_fdlibm_h */
deleted file mode 100644
--- a/modules/fdlibm/patches/03-put_fdlibm_functions_into_fdlibm_namespace.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-# HG changeset patch
-# User Tooru Fujisawa <arai_a@mac.com>
-# Date 1452576831 -32400
-#      Tue Jan 12 14:33:51 2016 +0900
-# Node ID e373cdb8b0bd45124a485cc1c0cc9c6c848a189f
-# Parent  7775dba49d062c28eca221ab804966f1ddd7c359
-Bug 933257 - Part 2.3: Put fdlibm functions into fdlibm namespace.
-
-diff --git a/modules/fdlibm/src/fdlibm.h b/modules/fdlibm/src/fdlibm.h
---- a/modules/fdlibm/src/fdlibm.h
-+++ b/modules/fdlibm/src/fdlibm.h
-@@ -12,16 +12,18 @@
- /*
-  * from: @(#)fdlibm.h 5.1 93/09/24
-  * $FreeBSD$
-  */
- 
- #ifndef mozilla_imported_fdlibm_h
- #define mozilla_imported_fdlibm_h
- 
-+namespace fdlibm {
-+
- double	acos(double);
- double	asin(double);
- double	atan(double);
- double	atan2(double, double);
- double	cos(double);
- double	sin(double);
- double	tan(double);
- 
-@@ -51,9 +53,11 @@ double	log1p(double);
- double	log2(double);
- 
- double	copysign(double, double);
- double	scalbn(double, int);
- double	trunc(double);
- 
- float	floorf(float);
- 
-+} /* namespace fdlibm */
-+
- #endif /* mozilla_imported_fdlibm_h */
deleted file mode 100644
--- a/modules/fdlibm/patches/04-include_fdlibm_h_from_math_private_h.patch
+++ /dev/null
@@ -1,807 +0,0 @@
-# HG changeset patch
-# User Tooru Fujisawa <arai_a@mac.com>
-# Date 1452137427 -32400
-#      Thu Jan 07 12:30:27 2016 +0900
-# Node ID 665da2f4f3d629b2355a00baa861215b05788268
-# Parent  e373cdb8b0bd45124a485cc1c0cc9c6c848a189f
-Bug 933257 - Part 2.4: Include fdlibm.h from math_private.h.
-
-diff --git a/modules/fdlibm/src/e_acos.cpp b/modules/fdlibm/src/e_acos.cpp
---- a/modules/fdlibm/src/e_acos.cpp
-+++ b/modules/fdlibm/src/e_acos.cpp
-@@ -35,17 +35,16 @@
-  *	if x is NaN, return x itself;
-  *	if |x|>1, return NaN with invalid signal.
-  *
-  * Function needed: sqrt
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const double
- one=  1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
- pi =  3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */
- pio2_hi =  1.57079632679489655800e+00; /* 0x3FF921FB, 0x54442D18 */
- static volatile double
- pio2_lo =  6.12323399573676603587e-17; /* 0x3C91A626, 0x33145C07 */
-diff --git a/modules/fdlibm/src/e_acosh.cpp b/modules/fdlibm/src/e_acosh.cpp
---- a/modules/fdlibm/src/e_acosh.cpp
-+++ b/modules/fdlibm/src/e_acosh.cpp
-@@ -26,17 +26,16 @@
-  *
-  * Special cases:
-  *	acosh(x) is NaN with signal if x<1.
-  *	acosh(NaN) is NaN without signal.
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const double
- one	= 1.0,
- ln2	= 6.93147180559945286227e-01;  /* 0x3FE62E42, 0xFEFA39EF */
- 
- double
- __ieee754_acosh(double x)
-diff --git a/modules/fdlibm/src/e_asin.cpp b/modules/fdlibm/src/e_asin.cpp
---- a/modules/fdlibm/src/e_asin.cpp
-+++ b/modules/fdlibm/src/e_asin.cpp
-@@ -41,17 +41,16 @@
-  * Special cases:
-  *	if x is NaN, return x itself;
-  *	if |x|>1, return NaN with invalid signal.
-  *
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const double
- one =  1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
- huge =  1.000e+300,
- pio2_hi =  1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */
- pio2_lo =  6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */
- pio4_hi =  7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */
-diff --git a/modules/fdlibm/src/e_atan2.cpp b/modules/fdlibm/src/e_atan2.cpp
---- a/modules/fdlibm/src/e_atan2.cpp
-+++ b/modules/fdlibm/src/e_atan2.cpp
-@@ -39,17 +39,16 @@
-  * The hexadecimal values are the intended ones for the following 
-  * constants. The decimal values may be used, provided that the 
-  * compiler will convert from decimal to binary accurately enough 
-  * to produce the hexadecimal values shown.
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static volatile double
- tiny  = 1.0e-300;
- static const double
- zero  = 0.0,
- pi_o_4  = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */
- pi_o_2  = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */
-diff --git a/modules/fdlibm/src/e_atanh.cpp b/modules/fdlibm/src/e_atanh.cpp
---- a/modules/fdlibm/src/e_atanh.cpp
-+++ b/modules/fdlibm/src/e_atanh.cpp
-@@ -30,17 +30,16 @@
-  *	atanh(x) is NaN if |x| > 1 with signal;
-  *	atanh(NaN) is that NaN with no signal;
-  *	atanh(+-1) is +-INF with signal.
-  *
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const double one = 1.0, huge = 1e300;
- static const double zero = 0.0;
- 
- double
- __ieee754_atanh(double x)
- {
-diff --git a/modules/fdlibm/src/e_cosh.cpp b/modules/fdlibm/src/e_cosh.cpp
---- a/modules/fdlibm/src/e_cosh.cpp
-+++ b/modules/fdlibm/src/e_cosh.cpp
-@@ -32,17 +32,16 @@
-  *
-  * Special cases:
-  *	cosh(x) is |x| if x is +INF, -INF, or NaN.
-  *	only cosh(0)=1 is exact for finite x.
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const double one = 1.0, half=0.5, huge = 1.0e300;
- 
- double
- __ieee754_cosh(double x)
- {
- 	double t,w;
-diff --git a/modules/fdlibm/src/e_exp.cpp b/modules/fdlibm/src/e_exp.cpp
---- a/modules/fdlibm/src/e_exp.cpp
-+++ b/modules/fdlibm/src/e_exp.cpp
-@@ -73,17 +73,16 @@
-  * The hexadecimal values are the intended ones for the following 
-  * constants. The decimal values may be used, provided that the 
-  * compiler will convert from decimal to binary accurately enough
-  * to produce the hexadecimal values shown.
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const double
- one	= 1.0,
- halF[2]	= {0.5,-0.5,},
- o_threshold=  7.09782712893383973096e+02,  /* 0x40862E42, 0xFEFA39EF */
- u_threshold= -7.45133219101941108420e+02,  /* 0xc0874910, 0xD52D3051 */
- ln2HI[2]   ={ 6.93147180369123816490e-01,  /* 0x3fe62e42, 0xfee00000 */
-diff --git a/modules/fdlibm/src/e_hypot.cpp b/modules/fdlibm/src/e_hypot.cpp
---- a/modules/fdlibm/src/e_hypot.cpp
-+++ b/modules/fdlibm/src/e_hypot.cpp
-@@ -43,17 +43,16 @@
-  *
-  * Accuracy:
-  * 	hypot(x,y) returns sqrt(x^2+y^2) with error less 
-  * 	than 1 ulps (units in the last place) 
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- double
- __ieee754_hypot(double x, double y)
- {
- 	double a,b,t1,t2,y1,y2,w;
- 	int32_t j,k,ha,hb;
- 
-diff --git a/modules/fdlibm/src/e_log.cpp b/modules/fdlibm/src/e_log.cpp
---- a/modules/fdlibm/src/e_log.cpp
-+++ b/modules/fdlibm/src/e_log.cpp
-@@ -62,17 +62,16 @@
-  * The hexadecimal values are the intended ones for the following 
-  * constants. The decimal values may be used, provided that the 
-  * compiler will convert from decimal to binary accurately enough 
-  * to produce the hexadecimal values shown.
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const double
- ln2_hi  =  6.93147180369123816490e-01,	/* 3fe62e42 fee00000 */
- ln2_lo  =  1.90821492927058770002e-10,	/* 3dea39ef 35793c76 */
- two54   =  1.80143985094819840000e+16,  /* 43500000 00000000 */
- Lg1 = 6.666666666666735130e-01,  /* 3FE55555 55555593 */
- Lg2 = 3.999999999940941908e-01,  /* 3FD99999 9997FA04 */
-diff --git a/modules/fdlibm/src/e_log10.cpp b/modules/fdlibm/src/e_log10.cpp
---- a/modules/fdlibm/src/e_log10.cpp
-+++ b/modules/fdlibm/src/e_log10.cpp
-@@ -19,17 +19,16 @@
-  * comments.
-  *
-  *    log10(x) = (f - 0.5*f*f + k_log1p(f)) / ln10 + k * log10(2)
-  * in not-quite-routine extra precision.
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- #include "k_log.h"
- 
- static const double
- two54      =  1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */
- ivln10hi   =  4.34294481878168880939e-01, /* 0x3fdbcb7b, 0x15200000 */
- ivln10lo   =  2.50829467116452752298e-11, /* 0x3dbb9438, 0xca9aadd5 */
- log10_2hi  =  3.01029995663611771306e-01, /* 0x3FD34413, 0x509F6000 */
-diff --git a/modules/fdlibm/src/e_log2.cpp b/modules/fdlibm/src/e_log2.cpp
---- a/modules/fdlibm/src/e_log2.cpp
-+++ b/modules/fdlibm/src/e_log2.cpp
-@@ -21,17 +21,16 @@
-  * This reduces x to {k, 1+f} exactly as in e_log.c, then calls the kernel,
-  * then does the combining and scaling steps
-  *    log2(x) = (f - 0.5*f*f + k_log1p(f)) / ln2 + k
-  * in not-quite-routine extra precision.
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- #include "k_log.h"
- 
- static const double
- two54      =  1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */
- ivln2hi    =  1.44269504072144627571e+00, /* 0x3ff71547, 0x65200000 */
- ivln2lo    =  1.67517131648865118353e-10; /* 0x3de705fc, 0x2eefa200 */
- 
-diff --git a/modules/fdlibm/src/e_pow.cpp b/modules/fdlibm/src/e_pow.cpp
---- a/modules/fdlibm/src/e_pow.cpp
-+++ b/modules/fdlibm/src/e_pow.cpp
-@@ -52,17 +52,16 @@
-  *
-  * Constants :
-  * The hexadecimal values are the intended ones for the following 
-  * constants. The decimal values may be used, provided that the 
-  * compiler will convert from decimal to binary accurately enough 
-  * to produce the hexadecimal values shown.
-  */
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const double
- bp[] = {1.0, 1.5,},
- dp_h[] = { 0.0, 5.84962487220764160156e-01,}, /* 0x3FE2B803, 0x40000000 */
- dp_l[] = { 0.0, 1.35003920212974897128e-08,}, /* 0x3E4CFDEB, 0x43CFD006 */
- zero    =  0.0,
- one	=  1.0,
-diff --git a/modules/fdlibm/src/e_rem_pio2.cpp b/modules/fdlibm/src/e_rem_pio2.cpp
---- a/modules/fdlibm/src/e_rem_pio2.cpp
-+++ b/modules/fdlibm/src/e_rem_pio2.cpp
-@@ -19,17 +19,16 @@
- /* __ieee754_rem_pio2(x,y)
-  * 
-  * return the remainder of x rem pi/2 in y[0]+y[1] 
-  * use __kernel_rem_pio2()
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- /*
-  * invpio2:  53 bits of 2/pi
-  * pio2_1:   first  33 bit of pi/2
-  * pio2_1t:  pi/2 - pio2_1
-  * pio2_2:   second 33 bit of pi/2
-  * pio2_2t:  pi/2 - (pio2_1+pio2_2)
-diff --git a/modules/fdlibm/src/e_sinh.cpp b/modules/fdlibm/src/e_sinh.cpp
---- a/modules/fdlibm/src/e_sinh.cpp
-+++ b/modules/fdlibm/src/e_sinh.cpp
-@@ -29,17 +29,16 @@
-  *
-  * Special cases:
-  *	sinh(x) is |x| if x is +INF, -INF, or NaN.
-  *	only sinh(0)=0 is exact for finite x.
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const double one = 1.0, shuge = 1.0e307;
- 
- double
- __ieee754_sinh(double x)
- {
- 	double t,h;
-diff --git a/modules/fdlibm/src/e_sqrt.cpp b/modules/fdlibm/src/e_sqrt.cpp
---- a/modules/fdlibm/src/e_sqrt.cpp
-+++ b/modules/fdlibm/src/e_sqrt.cpp
-@@ -81,17 +81,16 @@
-  *	sqrt(NaN) = NaN		... with invalid signal for signaling NaN
-  *
-  * Other methods : see the appended file at the end of the program below.
-  *---------------
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static	const double	one	= 1.0, tiny=1.0e-300;
- 
- double
- __ieee754_sqrt(double x)
- {
- 	double z;
-diff --git a/modules/fdlibm/src/k_cos.cpp b/modules/fdlibm/src/k_cos.cpp
---- a/modules/fdlibm/src/k_cos.cpp
-+++ b/modules/fdlibm/src/k_cos.cpp
-@@ -48,17 +48,16 @@
-  *	   and tmp having the same precision as x.  If they have extra
-  *	   precision due to compiler bugs, then the extra precision is
-  *	   only good provided it is retained in all terms of the final
-  *	   expression for cos().  Retention happens in all cases tested
-  *	   under FreeBSD, so don't pessimize things by forcibly clipping
-  *	   any extra precision in w.
-  */
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const double
- one =  1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
- C1  =  4.16666666666666019037e-02, /* 0x3FA55555, 0x5555554C */
- C2  = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */
- C3  =  2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */
- C4  = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */
-diff --git a/modules/fdlibm/src/k_exp.cpp b/modules/fdlibm/src/k_exp.cpp
---- a/modules/fdlibm/src/k_exp.cpp
-+++ b/modules/fdlibm/src/k_exp.cpp
-@@ -24,17 +24,16 @@
-  * SUCH DAMAGE.
-  */
- 
- #include <sys/cdefs.h>
- __FBSDID("$FreeBSD$");
- 
- #include <complex.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const uint32_t k = 1799;		/* constant for reduction */
- static const double kln2 =  1246.97177782734161156;	/* k * ln2 */
- 
- /*
-  * Compute exp(x), scaled to avoid spurious overflow.  An exponent is
-  * returned separately in 'expt'.
-diff --git a/modules/fdlibm/src/k_rem_pio2.cpp b/modules/fdlibm/src/k_rem_pio2.cpp
---- a/modules/fdlibm/src/k_rem_pio2.cpp
-+++ b/modules/fdlibm/src/k_rem_pio2.cpp
-@@ -126,17 +126,16 @@
-  * The hexadecimal values are the intended ones for the following 
-  * constants. The decimal values may be used, provided that the 
-  * compiler will convert from decimal to binary accurately enough 
-  * to produce the hexadecimal values shown.
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const int init_jk[] = {3,4,4,6}; /* initial value for jk */
- 
- /*
-  * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi
-  *
-  *		integer array, contains the (24*i)-th to (24*i+23)-th 
-diff --git a/modules/fdlibm/src/k_sin.cpp b/modules/fdlibm/src/k_sin.cpp
---- a/modules/fdlibm/src/k_sin.cpp
-+++ b/modules/fdlibm/src/k_sin.cpp
-@@ -39,17 +39,16 @@
-  *		    ~ sin(x) + (1-x*x/2)*y
-  *	   For better accuracy, let 
-  *		     3      2      2      2      2
-  *		r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6))))
-  *	   then                   3    2
-  *		sin(x) = x + (S1*x + (x *(r-y/2)+y))
-  */
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const double
- half =  5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */
- S1  = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */
- S2  =  8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */
- S3  = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */
- S4  =  2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */
-diff --git a/modules/fdlibm/src/k_tan.cpp b/modules/fdlibm/src/k_tan.cpp
---- a/modules/fdlibm/src/k_tan.cpp
-+++ b/modules/fdlibm/src/k_tan.cpp
-@@ -44,17 +44,16 @@
-  *		 		    3    2
-  *		tan(x+y) = x + (T1*x + (x *(r+y)+y))
-  *
-  *      4. For x in [0.67434,pi/4],  let y = pi/4 - x, then
-  *		tan(x) = tan(pi/4-y) = (1-tan(y))/(1+tan(y))
-  *		       = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y)))
-  */
- 
--#include "math.h"
- #include "math_private.h"
- static const double xxx[] = {
- 		 3.33333333333334091986e-01,	/* 3FD55555, 55555563 */
- 		 1.33333333333201242699e-01,	/* 3FC11111, 1110FE7A */
- 		 5.39682539762260521377e-02,	/* 3FABA1BA, 1BB341FE */
- 		 2.18694882948595424599e-02,	/* 3F9664F4, 8406D637 */
- 		 8.86323982359930005737e-03,	/* 3F8226E3, E96E8493 */
- 		 3.59207910759131235356e-03,	/* 3F6D6D22, C9560328 */
-diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h
---- a/modules/fdlibm/src/math_private.h
-+++ b/modules/fdlibm/src/math_private.h
-@@ -15,16 +15,18 @@
-  */
- 
- #ifndef _MATH_PRIVATE_H_
- #define	_MATH_PRIVATE_H_
- 
- #include <sys/types.h>
- #include <machine/endian.h>
- 
-+#include "fdlibm.h"
-+
- /*
-  * The original fdlibm code used statements like:
-  *	n0 = ((*(int*)&one)>>29)^1;		* index of high word *
-  *	ix0 = *(n0+(int*)&x);			* high word of x *
-  *	ix1 = *((1-n0)+(int*)&x);		* low word of x *
-  * to dig two 32 bit words out of the 64 bit IEEE floating point
-  * value.  That is non-ANSI, and, moreover, the gcc instruction
-  * scheduler gets it wrong.  We instead use the following macros.
-diff --git a/modules/fdlibm/src/s_asinh.cpp b/modules/fdlibm/src/s_asinh.cpp
---- a/modules/fdlibm/src/s_asinh.cpp
-+++ b/modules/fdlibm/src/s_asinh.cpp
-@@ -21,17 +21,16 @@
-  *	asinh(x) := x  if  1+x*x=1,
-  *		 := sign(x)*(log(x)+ln2)) for large |x|, else
-  *		 := sign(x)*log(2|x|+1/(|x|+sqrt(x*x+1))) if|x|>2, else
-  *		 := sign(x)*log1p(|x| + x^2/(1 + sqrt(1+x^2)))
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const double
- one =  1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
- ln2 =  6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */
- huge=  1.00000000000000000000e+300;
- 
- double
-diff --git a/modules/fdlibm/src/s_atan.cpp b/modules/fdlibm/src/s_atan.cpp
---- a/modules/fdlibm/src/s_atan.cpp
-+++ b/modules/fdlibm/src/s_atan.cpp
-@@ -30,17 +30,16 @@
-  * The hexadecimal values are the intended ones for the following
-  * constants. The decimal values may be used, provided that the
-  * compiler will convert from decimal to binary accurately enough
-  * to produce the hexadecimal values shown.
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const double atanhi[] = {
-   4.63647609000806093515e-01, /* atan(0.5)hi 0x3FDDAC67, 0x0561BB4F */
-   7.85398163397448278999e-01, /* atan(1.0)hi 0x3FE921FB, 0x54442D18 */
-   9.82793723247329054082e-01, /* atan(1.5)hi 0x3FEF730B, 0xD281F69B */
-   1.57079632679489655800e+00, /* atan(inf)hi 0x3FF921FB, 0x54442D18 */
- };
-diff --git a/modules/fdlibm/src/s_cbrt.cpp b/modules/fdlibm/src/s_cbrt.cpp
---- a/modules/fdlibm/src/s_cbrt.cpp
-+++ b/modules/fdlibm/src/s_cbrt.cpp
-@@ -10,17 +10,16 @@
-  * ====================================================
-  *
-  * Optimized by Bruce D. Evans.
-  */
- 
- #include <sys/cdefs.h>
- __FBSDID("$FreeBSD$");
- 
--#include "math.h"
- #include "math_private.h"
- 
- /* cbrt(x)
-  * Return cube root of x
-  */
- static const u_int32_t
- 	B1 = 715094163, /* B1 = (1023-1023/3-0.03306235651)*2**20 */
- 	B2 = 696219795; /* B2 = (1023-1023/3-54/3-0.03306235651)*2**20 */
-diff --git a/modules/fdlibm/src/s_ceil.cpp b/modules/fdlibm/src/s_ceil.cpp
---- a/modules/fdlibm/src/s_ceil.cpp
-+++ b/modules/fdlibm/src/s_ceil.cpp
-@@ -19,17 +19,16 @@
-  * Method:
-  *	Bit twiddling.
-  * Exception:
-  *	Inexact flag raised if x not equal to ceil(x).
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const double huge = 1.0e300;
- 
- double
- ceil(double x)
- {
- 	int32_t i0,i1,j0;
-diff --git a/modules/fdlibm/src/s_ceilf.cpp b/modules/fdlibm/src/s_ceilf.cpp
---- a/modules/fdlibm/src/s_ceilf.cpp
-+++ b/modules/fdlibm/src/s_ceilf.cpp
-@@ -11,17 +11,16 @@
-  * software is freely granted, provided that this notice
-  * is preserved.
-  * ====================================================
-  */
- 
- #include <sys/cdefs.h>
- __FBSDID("$FreeBSD$");
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const float huge = 1.0e30;
- 
- float
- ceilf(float x)
- {
- 	int32_t i0,j0;
-diff --git a/modules/fdlibm/src/s_copysign.cpp b/modules/fdlibm/src/s_copysign.cpp
---- a/modules/fdlibm/src/s_copysign.cpp
-+++ b/modules/fdlibm/src/s_copysign.cpp
-@@ -14,17 +14,16 @@
- __FBSDID("$FreeBSD$");
- 
- /*
-  * copysign(double x, double y)
-  * copysign(x,y) returns a value with the magnitude of x and
-  * with the sign bit of y.
-  */
- 
--#include "math.h"
- #include "math_private.h"
- 
- double
- copysign(double x, double y)
- {
- 	u_int32_t hx,hy;
- 	GET_HIGH_WORD(hx,x);
- 	GET_HIGH_WORD(hy,y);
-diff --git a/modules/fdlibm/src/s_cos.cpp b/modules/fdlibm/src/s_cos.cpp
---- a/modules/fdlibm/src/s_cos.cpp
-+++ b/modules/fdlibm/src/s_cos.cpp
-@@ -41,17 +41,16 @@
-  *      trig(NaN)    is that NaN;
-  *
-  * Accuracy:
-  *	TRIG(x) returns trig(x) nearly rounded
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #define INLINE_REM_PIO2
- #include "math_private.h"
- #include "e_rem_pio2.c"
- 
- double
- cos(double x)
- {
- 	double y[2],z=0.0;
-diff --git a/modules/fdlibm/src/s_expm1.cpp b/modules/fdlibm/src/s_expm1.cpp
---- a/modules/fdlibm/src/s_expm1.cpp
-+++ b/modules/fdlibm/src/s_expm1.cpp
-@@ -105,17 +105,16 @@
-  * The hexadecimal values are the intended ones for the following
-  * constants. The decimal values may be used, provided that the
-  * compiler will convert from decimal to binary accurately enough
-  * to produce the hexadecimal values shown.
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const double
- one		= 1.0,
- tiny		= 1.0e-300,
- o_threshold	= 7.09782712893383973096e+02,/* 0x40862E42, 0xFEFA39EF */
- ln2_hi		= 6.93147180369123816490e-01,/* 0x3fe62e42, 0xfee00000 */
- ln2_lo		= 1.90821492927058770002e-10,/* 0x3dea39ef, 0x35793c76 */
-diff --git a/modules/fdlibm/src/s_fabs.cpp b/modules/fdlibm/src/s_fabs.cpp
---- a/modules/fdlibm/src/s_fabs.cpp
-+++ b/modules/fdlibm/src/s_fabs.cpp
-@@ -13,17 +13,16 @@
- #ifndef lint
- static char rcsid[] = "$FreeBSD$";
- #endif
- 
- /*
-  * fabs(x) returns the absolute value of x.
-  */
- 
--#include "math.h"
- #include "math_private.h"
- 
- double
- fabs(double x)
- {
- 	u_int32_t high;
- 	GET_HIGH_WORD(high,x);
- 	SET_HIGH_WORD(x,high&0x7fffffff);
-diff --git a/modules/fdlibm/src/s_floor.cpp b/modules/fdlibm/src/s_floor.cpp
---- a/modules/fdlibm/src/s_floor.cpp
-+++ b/modules/fdlibm/src/s_floor.cpp
-@@ -19,17 +19,16 @@
-  * Method:
-  *	Bit twiddling.
-  * Exception:
-  *	Inexact flag raised if x not equal to floor(x).
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const double huge = 1.0e300;
- 
- double
- floor(double x)
- {
- 	int32_t i0,i1,j0;
-diff --git a/modules/fdlibm/src/s_floorf.cpp b/modules/fdlibm/src/s_floorf.cpp
---- a/modules/fdlibm/src/s_floorf.cpp
-+++ b/modules/fdlibm/src/s_floorf.cpp
-@@ -20,17 +20,16 @@
-  * floorf(x)
-  * Return x rounded toward -inf to integral value
-  * Method:
-  *	Bit twiddling.
-  * Exception:
-  *	Inexact flag raised if x not equal to floorf(x).
-  */
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const float huge = 1.0e30;
- 
- float
- floorf(float x)
- {
- 	int32_t i0,j0;
-diff --git a/modules/fdlibm/src/s_log1p.cpp b/modules/fdlibm/src/s_log1p.cpp
---- a/modules/fdlibm/src/s_log1p.cpp
-+++ b/modules/fdlibm/src/s_log1p.cpp
-@@ -75,17 +75,16 @@
-  *		if(u==1.0) return x ; else
-  *			   return log(u)*(x/(u-1.0));
-  *
-  *	 See HP-15C Advanced Functions Handbook, p.193.
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const double
- ln2_hi  =  6.93147180369123816490e-01,	/* 3fe62e42 fee00000 */
- ln2_lo  =  1.90821492927058770002e-10,	/* 3dea39ef 35793c76 */
- two54   =  1.80143985094819840000e+16,  /* 43500000 00000000 */
- Lp1 = 6.666666666666735130e-01,  /* 3FE55555 55555593 */
- Lp2 = 3.999999999940941908e-01,  /* 3FD99999 9997FA04 */
-diff --git a/modules/fdlibm/src/s_scalbn.cpp b/modules/fdlibm/src/s_scalbn.cpp
---- a/modules/fdlibm/src/s_scalbn.cpp
-+++ b/modules/fdlibm/src/s_scalbn.cpp
-@@ -19,17 +19,16 @@ static char rcsid[] = "$FreeBSD$";
-  * scalbn(x,n) returns x* 2**n  computed by  exponent
-  * manipulation rather than by actually performing an
-  * exponentiation or a multiplication.
-  */
- 
- #include <sys/cdefs.h>
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const double
- two54   =  1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */
- twom54  =  5.55111512312578270212e-17, /* 0x3C900000, 0x00000000 */
- huge   = 1.0e+300,
- tiny   = 1.0e-300;
- 
-diff --git a/modules/fdlibm/src/s_sin.cpp b/modules/fdlibm/src/s_sin.cpp
---- a/modules/fdlibm/src/s_sin.cpp
-+++ b/modules/fdlibm/src/s_sin.cpp
-@@ -41,17 +41,16 @@
-  *      trig(NaN)    is that NaN;
-  *
-  * Accuracy:
-  *	TRIG(x) returns trig(x) nearly rounded
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #define INLINE_REM_PIO2
- #include "math_private.h"
- #include "e_rem_pio2.c"
- 
- double
- sin(double x)
- {
- 	double y[2],z=0.0;
-diff --git a/modules/fdlibm/src/s_tan.cpp b/modules/fdlibm/src/s_tan.cpp
---- a/modules/fdlibm/src/s_tan.cpp
-+++ b/modules/fdlibm/src/s_tan.cpp
-@@ -40,17 +40,16 @@
-  *      trig(NaN)    is that NaN;
-  *
-  * Accuracy:
-  *	TRIG(x) returns trig(x) nearly rounded
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #define INLINE_REM_PIO2
- #include "math_private.h"
- #include "e_rem_pio2.c"
- 
- double
- tan(double x)
- {
- 	double y[2],z=0.0;
-diff --git a/modules/fdlibm/src/s_tanh.cpp b/modules/fdlibm/src/s_tanh.cpp
---- a/modules/fdlibm/src/s_tanh.cpp
-+++ b/modules/fdlibm/src/s_tanh.cpp
-@@ -34,17 +34,16 @@
-  *
-  * Special cases:
-  *	tanh(NaN) is NaN;
-  *	only tanh(0)=0 is exact for finite argument.
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const volatile double tiny = 1.0e-300;
- static const double one = 1.0, two = 2.0, huge = 1.0e300;
- 
- double
- tanh(double x)
- {
-diff --git a/modules/fdlibm/src/s_trunc.cpp b/modules/fdlibm/src/s_trunc.cpp
---- a/modules/fdlibm/src/s_trunc.cpp
-+++ b/modules/fdlibm/src/s_trunc.cpp
-@@ -19,17 +19,16 @@
-  * Method:
-  *	Bit twiddling.
-  * Exception:
-  *	Inexact flag raised if x not equal to trunc(x).
-  */
- 
- #include <float.h>
- 
--#include "math.h"
- #include "math_private.h"
- 
- static const double huge = 1.0e300;
- 
- double
- trunc(double x)
- {
- 	int32_t i0,i1,j0;
deleted file mode 100644
--- a/modules/fdlibm/patches/05-include_stdint_h_in_math_private_h.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-# HG changeset patch
-# User Tooru Fujisawa <arai_a@mac.com>
-# Date 1452137427 -32400
-#      Thu Jan 07 12:30:27 2016 +0900
-# Node ID 3401cadca8fbae3674cba1dbe5bf724e19a7439f
-# Parent  665da2f4f3d629b2355a00baa861215b05788268
-Bug 933257 - Part 2.5: Include stdint.h in math_private.h.
-
-diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h
---- a/modules/fdlibm/src/math_private.h
-+++ b/modules/fdlibm/src/math_private.h
-@@ -12,16 +12,17 @@
- /*
-  * from: @(#)fdlibm.h 5.1 93/09/24
-  * $FreeBSD$
-  */
- 
- #ifndef _MATH_PRIVATE_H_
- #define	_MATH_PRIVATE_H_
- 
-+#include <stdint.h>
- #include <sys/types.h>
- #include <machine/endian.h>
- 
- #include "fdlibm.h"
- 
- /*
-  * The original fdlibm code used statements like:
-  *	n0 = ((*(int*)&one)>>29)^1;		* index of high word *
deleted file mode 100644
--- a/modules/fdlibm/patches/06-use_mfbt_endian_h_in_math_private_h.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-# HG changeset patch
-# User Tooru Fujisawa <arai_a@mac.com>
-# Date 1452137427 -32400
-#      Thu Jan 07 12:30:27 2016 +0900
-# Node ID fee80779e1a955046e15b0b07a8ad95ea0a125f1
-# Parent  3401cadca8fbae3674cba1dbe5bf724e19a7439f
-Bug 933257 - Part 2.6: Use mfbt/Endian.h in math_private.h.
-
-diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h
---- a/modules/fdlibm/src/math_private.h
-+++ b/modules/fdlibm/src/math_private.h
-@@ -14,20 +14,21 @@
-  * $FreeBSD$
-  */
- 
- #ifndef _MATH_PRIVATE_H_
- #define	_MATH_PRIVATE_H_
- 
- #include <stdint.h>
- #include <sys/types.h>
--#include <machine/endian.h>
- 
- #include "fdlibm.h"
- 
-+#include "mozilla/Endian.h"
-+
- /*
-  * The original fdlibm code used statements like:
-  *	n0 = ((*(int*)&one)>>29)^1;		* index of high word *
-  *	ix0 = *(n0+(int*)&x);			* high word of x *
-  *	ix1 = *((1-n0)+(int*)&x);		* low word of x *
-  * to dig two 32 bit words out of the 64 bit IEEE floating point
-  * value.  That is non-ANSI, and, moreover, the gcc instruction
-  * scheduler gets it wrong.  We instead use the following macros.
-@@ -36,27 +37,17 @@
-  * endianness at run time.
-  */
- 
- /*
-  * A union which permits us to convert between a double and two 32 bit
-  * ints.
-  */
- 
--#ifdef __arm__
--#if defined(__VFP_FP__) || defined(__ARM_EABI__)
--#define	IEEE_WORD_ORDER	BYTE_ORDER
--#else
--#define	IEEE_WORD_ORDER	BIG_ENDIAN
--#endif
--#else /* __arm__ */
--#define	IEEE_WORD_ORDER	BYTE_ORDER
--#endif
--
--#if IEEE_WORD_ORDER == BIG_ENDIAN
-+#if MOZ_BIG_ENDIAN
- 
- typedef union
- {
-   double value;
-   struct
-   {
-     u_int32_t msw;
-     u_int32_t lsw;
-@@ -64,17 +55,17 @@ typedef union
-   struct
-   {
-     u_int64_t w;
-   } xparts;
- } ieee_double_shape_type;
- 
- #endif
- 
--#if IEEE_WORD_ORDER == LITTLE_ENDIAN
-+#if MOZ_LITTLE_ENDIAN
- 
- typedef union
- {
-   double value;
-   struct
-   {
-     u_int32_t lsw;
-     u_int32_t msw;
deleted file mode 100644
--- a/modules/fdlibm/patches/07-add_fdlibm_namespace_to_functions_defined_and_used_in_fdlibm.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-# HG changeset patch
-# User Tooru Fujisawa <arai_a@mac.com>
-# Date 1452137428 -32400
-#      Thu Jan 07 12:30:28 2016 +0900
-# Node ID c562cc8bf5092962341e3fd1a20223f244666e8b
-# Parent  fee80779e1a955046e15b0b07a8ad95ea0a125f1
-Bug 933257 - Part 2.7: Add fdlibm namespace to functions defined and used in fdlibm.
-
-diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h
---- a/modules/fdlibm/src/math_private.h
-+++ b/modules/fdlibm/src/math_private.h
-@@ -724,16 +724,49 @@ irintl(long double x)
- #define	__ieee754_j1f	j1f
- #define	__ieee754_y0f	y0f
- #define	__ieee754_y1f	y1f
- #define	__ieee754_jnf	jnf
- #define	__ieee754_ynf	ynf
- #define	__ieee754_remainderf remainderf
- #define	__ieee754_scalbf scalbf
- 
-+#define acos fdlibm::acos
-+#define asin fdlibm::asin
-+#define atan fdlibm::atan
-+#define atan2 fdlibm::atan2
-+#define cos fdlibm::cos
-+#define sin fdlibm::sin
-+#define tan fdlibm::tan
-+#define cosh fdlibm::cosh
-+#define sinh fdlibm::sinh
-+#define tanh fdlibm::tanh
-+#define exp fdlibm::exp
-+#define log fdlibm::log
-+#define log10 fdlibm::log10
-+#define pow fdlibm::pow
-+#define sqrt fdlibm::sqrt
-+#define ceil fdlibm::ceil
-+#define ceilf fdlibm::ceilf
-+#define fabs fdlibm::fabs
-+#define floor fdlibm::floor
-+#define acosh fdlibm::acosh
-+#define asinh fdlibm::asinh
-+#define atanh fdlibm::atanh
-+#define cbrt fdlibm::cbrt
-+#define expm1 fdlibm::expm1
-+#define hypot fdlibm::hypot
-+#define log1p fdlibm::log1p
-+#define log2 fdlibm::log2
-+#define scalb fdlibm::scalb
-+#define copysign fdlibm::copysign
-+#define scalbn fdlibm::scalbn
-+#define trunc fdlibm::trunc
-+#define floorf fdlibm::floorf
-+
- /* fdlibm kernel function */
- int	__kernel_rem_pio2(double*,double*,int,int,int);
- 
- /* double precision kernel functions */
- #ifndef INLINE_REM_PIO2
- int	__ieee754_rem_pio2(double,double*);
- #endif
- double	__kernel_sin(double,double,int);
deleted file mode 100644
--- a/modules/fdlibm/patches/08-fix_include_filename_in_s_cos_cpp_s_sin_cpp_and_s_tan_cpp.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-# HG changeset patch
-# User Tooru Fujisawa <arai_a@mac.com>
-# Date 1452576930 -32400
-#      Tue Jan 12 14:35:30 2016 +0900
-# Node ID f89358beccec76c798b417ebd54eb9e153c6de02
-# Parent  c562cc8bf5092962341e3fd1a20223f244666e8b
-Bug 933257 - Part 2.8: Fix include filename in s_cos.cpp, s_sin.cpp, and s_tan.cpp.
-
-diff --git a/modules/fdlibm/src/s_cos.cpp b/modules/fdlibm/src/s_cos.cpp
---- a/modules/fdlibm/src/s_cos.cpp
-+++ b/modules/fdlibm/src/s_cos.cpp
-@@ -43,17 +43,17 @@
-  * Accuracy:
-  *	TRIG(x) returns trig(x) nearly rounded
-  */
- 
- #include <float.h>
- 
- #define INLINE_REM_PIO2
- #include "math_private.h"
--#include "e_rem_pio2.c"
-+#include "e_rem_pio2.cpp"
- 
- double
- cos(double x)
- {
- 	double y[2],z=0.0;
- 	int32_t n, ix;
- 
-     /* High word of x. */
-diff --git a/modules/fdlibm/src/s_sin.cpp b/modules/fdlibm/src/s_sin.cpp
---- a/modules/fdlibm/src/s_sin.cpp
-+++ b/modules/fdlibm/src/s_sin.cpp
-@@ -43,17 +43,17 @@
-  * Accuracy:
-  *	TRIG(x) returns trig(x) nearly rounded
-  */
- 
- #include <float.h>
- 
- #define INLINE_REM_PIO2
- #include "math_private.h"
--#include "e_rem_pio2.c"
-+#include "e_rem_pio2.cpp"
- 
- double
- sin(double x)
- {
- 	double y[2],z=0.0;
- 	int32_t n, ix;
- 
-     /* High word of x. */
-diff --git a/modules/fdlibm/src/s_tan.cpp b/modules/fdlibm/src/s_tan.cpp
---- a/modules/fdlibm/src/s_tan.cpp
-+++ b/modules/fdlibm/src/s_tan.cpp
-@@ -42,17 +42,17 @@
-  * Accuracy:
-  *	TRIG(x) returns trig(x) nearly rounded
-  */
- 
- #include <float.h>
- 
- #define INLINE_REM_PIO2
- #include "math_private.h"
--#include "e_rem_pio2.c"
-+#include "e_rem_pio2.cpp"
- 
- double
- tan(double x)
- {
- 	double y[2],z=0.0;
- 	int32_t n, ix;
- 
-     /* High word of x. */
deleted file mode 100644
--- a/modules/fdlibm/patches/09-remove_weak_reference_macro.patch
+++ /dev/null
@@ -1,433 +0,0 @@
-# HG changeset patch
-# User Tooru Fujisawa <arai_a@mac.com>
-# Date 1452137428 -32400
-#      Thu Jan 07 12:30:28 2016 +0900
-# Node ID c42b685e30acd45a33cf42289f73835018be2daf
-# Parent  f89358beccec76c798b417ebd54eb9e153c6de02
-Bug 933257 - Part 2.9: Remove __weak_reference macro.
-
-diff --git a/modules/fdlibm/src/e_acos.cpp b/modules/fdlibm/src/e_acos.cpp
---- a/modules/fdlibm/src/e_acos.cpp
-+++ b/modules/fdlibm/src/e_acos.cpp
-@@ -99,12 +99,8 @@ double
- 	    c  = (z-df*df)/(s+df);
- 	    p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5)))));
- 	    q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4)));
- 	    r = p/q;
- 	    w = r*s+c;
- 	    return 2.0*(df+w);
- 	}
- }
--
--#if LDBL_MANT_DIG == 53
--__weak_reference(acos, acosl);
--#endif
-diff --git a/modules/fdlibm/src/e_acosh.cpp b/modules/fdlibm/src/e_acosh.cpp
---- a/modules/fdlibm/src/e_acosh.cpp
-+++ b/modules/fdlibm/src/e_acosh.cpp
-@@ -56,12 +56,8 @@ double
- 	} else if (hx > 0x40000000) {	/* 2**28 > x > 2 */
- 	    t=x*x;
- 	    return __ieee754_log(2.0*x-one/(x+sqrt(t-one)));
- 	} else {			/* 1<x<2 */
- 	    t = x-one;
- 	    return log1p(t+sqrt(2.0*t+t*t));
- 	}
- }
--
--#if LDBL_MANT_DIG == 53
--__weak_reference(acosh, acoshl);
--#endif
-diff --git a/modules/fdlibm/src/e_asin.cpp b/modules/fdlibm/src/e_asin.cpp
---- a/modules/fdlibm/src/e_asin.cpp
-+++ b/modules/fdlibm/src/e_asin.cpp
-@@ -105,12 +105,8 @@ double
- 	    c  = (t-w*w)/(s+w);
- 	    r  = p/q;
- 	    p  = 2.0*s*r-(pio2_lo-2.0*c);
- 	    q  = pio4_hi-2.0*w;
- 	    t  = pio4_hi-(p-q);
- 	}    
- 	if(hx>0) return t; else return -t;    
- }
--
--#if LDBL_MANT_DIG == 53
--__weak_reference(asin, asinl);
--#endif
-diff --git a/modules/fdlibm/src/e_atan2.cpp b/modules/fdlibm/src/e_atan2.cpp
---- a/modules/fdlibm/src/e_atan2.cpp
-+++ b/modules/fdlibm/src/e_atan2.cpp
-@@ -117,12 +117,8 @@ double
- 	switch (m) {
- 	    case 0: return       z  ;	/* atan(+,+) */
- 	    case 1: return      -z  ;	/* atan(-,+) */
- 	    case 2: return  pi-(z-pi_lo);/* atan(+,-) */
- 	    default: /* case 3 */
- 	    	    return  (z-pi_lo)-pi;/* atan(-,-) */
- 	}
- }
--
--#if LDBL_MANT_DIG == 53
--__weak_reference(atan2, atan2l);
--#endif
-diff --git a/modules/fdlibm/src/e_atanh.cpp b/modules/fdlibm/src/e_atanh.cpp
---- a/modules/fdlibm/src/e_atanh.cpp
-+++ b/modules/fdlibm/src/e_atanh.cpp
-@@ -56,12 +56,8 @@ double
- 	SET_HIGH_WORD(x,ix);
- 	if(ix<0x3fe00000) {		/* x < 0.5 */
- 	    t = x+x;
- 	    t = 0.5*log1p(t+t*x/(one-x));
- 	} else 
- 	    t = 0.5*log1p((x+x)/(one-x));
- 	if(hx>=0) return t; else return -t;
- }
--
--#if LDBL_MANT_DIG == 53
--__weak_reference(atanh, atanhl);
--#endif
-diff --git a/modules/fdlibm/src/e_cosh.cpp b/modules/fdlibm/src/e_cosh.cpp
---- a/modules/fdlibm/src/e_cosh.cpp
-+++ b/modules/fdlibm/src/e_cosh.cpp
-@@ -73,12 +73,8 @@ double
- 
-     /* |x| in [log(maxdouble), overflowthresold] */
- 	if (ix<=0x408633CE)
- 	    return __ldexp_exp(fabs(x), -1);
- 
-     /* |x| > overflowthresold, cosh(x) overflow */
- 	return huge*huge;
- }
--
--#if (LDBL_MANT_DIG == 53)
--__weak_reference(cosh, coshl);
--#endif
-diff --git a/modules/fdlibm/src/e_exp.cpp b/modules/fdlibm/src/e_exp.cpp
---- a/modules/fdlibm/src/e_exp.cpp
-+++ b/modules/fdlibm/src/e_exp.cpp
-@@ -152,12 +152,8 @@ double
- 	else 		y = one-((lo-(x*c)/(2.0-c))-hi);
- 	if(k >= -1021) {
- 	    if (k==1024) return y*2.0*0x1p1023;
- 	    return y*twopk;
- 	} else {
- 	    return y*twopk*twom1000;
- 	}
- }
--
--#if (LDBL_MANT_DIG == 53)
--__weak_reference(exp, expl);
--#endif
-diff --git a/modules/fdlibm/src/e_hypot.cpp b/modules/fdlibm/src/e_hypot.cpp
---- a/modules/fdlibm/src/e_hypot.cpp
-+++ b/modules/fdlibm/src/e_hypot.cpp
-@@ -119,12 +119,8 @@ double
- 	if(k!=0) {
- 	    u_int32_t high;
- 	    t1 = 1.0;
- 	    GET_HIGH_WORD(high,t1);
- 	    SET_HIGH_WORD(t1,high+(k<<20));
- 	    return t1*w;
- 	} else return w;
- }
--
--#if LDBL_MANT_DIG == 53
--__weak_reference(hypot, hypotl);
--#endif
-diff --git a/modules/fdlibm/src/e_log.cpp b/modules/fdlibm/src/e_log.cpp
---- a/modules/fdlibm/src/e_log.cpp
-+++ b/modules/fdlibm/src/e_log.cpp
-@@ -135,12 +135,8 @@ double
- 	    hfsq=0.5*f*f;
- 	    if(k==0) return f-(hfsq-s*(hfsq+R)); else
- 		     return dk*ln2_hi-((hfsq-(s*(hfsq+R)+dk*ln2_lo))-f);
- 	} else {
- 	    if(k==0) return f-s*(f-R); else
- 		     return dk*ln2_hi-((s*(f-R)-dk*ln2_lo)-f);
- 	}
- }
--
--#if (LDBL_MANT_DIG == 53)
--__weak_reference(log, logl);
--#endif
-diff --git a/modules/fdlibm/src/e_log10.cpp b/modules/fdlibm/src/e_log10.cpp
---- a/modules/fdlibm/src/e_log10.cpp
-+++ b/modules/fdlibm/src/e_log10.cpp
-@@ -82,12 +82,8 @@ double
- 	 * with some parallelism and it reduces the error for many args.
- 	 */
- 	w = y2 + val_hi;
- 	val_lo += (y2 - w) + val_hi;
- 	val_hi = w;
- 
- 	return val_lo + val_hi;
- }
--
--#if (LDBL_MANT_DIG == 53)
--__weak_reference(log10, log10l);
--#endif
-diff --git a/modules/fdlibm/src/e_log2.cpp b/modules/fdlibm/src/e_log2.cpp
---- a/modules/fdlibm/src/e_log2.cpp
-+++ b/modules/fdlibm/src/e_log2.cpp
-@@ -105,12 +105,8 @@ double
- 
- 	/* spadd(val_hi, val_lo, y), except for not using double_t: */
- 	w = y + val_hi;
- 	val_lo += (y - w) + val_hi;
- 	val_hi = w;
- 
- 	return val_lo + val_hi;
- }
--
--#if (LDBL_MANT_DIG == 53)
--__weak_reference(log2, log2l);
--#endif
-diff --git a/modules/fdlibm/src/e_sinh.cpp b/modules/fdlibm/src/e_sinh.cpp
---- a/modules/fdlibm/src/e_sinh.cpp
-+++ b/modules/fdlibm/src/e_sinh.cpp
-@@ -67,12 +67,8 @@ double
- 
-     /* |x| in [log(maxdouble), overflowthresold] */
- 	if (ix<=0x408633CE)
- 	    return h*2.0*__ldexp_exp(fabs(x), -1);
- 
-     /* |x| > overflowthresold, sinh(x) overflow */
- 	return x*shuge;
- }
--
--#if (LDBL_MANT_DIG == 53)
--__weak_reference(sinh, sinhl);
--#endif
-diff --git a/modules/fdlibm/src/e_sqrt.cpp b/modules/fdlibm/src/e_sqrt.cpp
---- a/modules/fdlibm/src/e_sqrt.cpp
-+++ b/modules/fdlibm/src/e_sqrt.cpp
-@@ -182,20 +182,16 @@ double
- 	ix0 = (q>>1)+0x3fe00000;
- 	ix1 =  q1>>1;
- 	if ((q&1)==1) ix1 |= sign;
- 	ix0 += (m <<20);
- 	INSERT_WORDS(z,ix0,ix1);
- 	return z;
- }
- 
--#if (LDBL_MANT_DIG == 53)
--__weak_reference(sqrt, sqrtl);
--#endif
--
- /*
- Other methods  (use floating-point arithmetic)
- -------------
- (This is a copy of a drafted paper by Prof W. Kahan 
- and K.C. Ng, written in May, 1986)
- 
- 	Two algorithms are given here to implement sqrt(x) 
- 	(IEEE double precision arithmetic) in software.
-diff --git a/modules/fdlibm/src/s_asinh.cpp b/modules/fdlibm/src/s_asinh.cpp
---- a/modules/fdlibm/src/s_asinh.cpp
-+++ b/modules/fdlibm/src/s_asinh.cpp
-@@ -50,12 +50,8 @@ asinh(double x)
- 	    t = fabs(x);
- 	    w = __ieee754_log(2.0*t+one/(__ieee754_sqrt(x*x+one)+t));
- 	} else {		/* 2.0 > |x| > 2**-28 */
- 	    t = x*x;
- 	    w =log1p(fabs(x)+t/(one+__ieee754_sqrt(one+t)));
- 	}
- 	if(hx>0) return w; else return -w;
- }
--
--#if LDBL_MANT_DIG == 53
--__weak_reference(asinh, asinhl);
--#endif
-diff --git a/modules/fdlibm/src/s_atan.cpp b/modules/fdlibm/src/s_atan.cpp
---- a/modules/fdlibm/src/s_atan.cpp
-+++ b/modules/fdlibm/src/s_atan.cpp
-@@ -112,12 +112,8 @@ atan(double x)
- 	s1 = z*(aT[0]+w*(aT[2]+w*(aT[4]+w*(aT[6]+w*(aT[8]+w*aT[10])))));
- 	s2 = w*(aT[1]+w*(aT[3]+w*(aT[5]+w*(aT[7]+w*aT[9]))));
- 	if (id<0) return x - x*(s1+s2);
- 	else {
- 	    z = atanhi[id] - ((x*(s1+s2) - atanlo[id]) - x);
- 	    return (hx<0)? -z:z;
- 	}
- }
--
--#if LDBL_MANT_DIG == 53
--__weak_reference(atan, atanl);
--#endif
-diff --git a/modules/fdlibm/src/s_cbrt.cpp b/modules/fdlibm/src/s_cbrt.cpp
---- a/modules/fdlibm/src/s_cbrt.cpp
-+++ b/modules/fdlibm/src/s_cbrt.cpp
-@@ -105,12 +105,8 @@ cbrt(double x)
- 	s=t*t;				/* t*t is exact */
- 	r=x/s;				/* error <= 0.5 ulps; |r| < |t| */
- 	w=t+t;				/* t+t is exact */
- 	r=(r-t)/(w+r);			/* r-t is exact; w+r ~= 3*t */
- 	t=t+t*r;			/* error <= 0.5 + 0.5/3 + epsilon */
- 
- 	return(t);
- }
--
--#if (LDBL_MANT_DIG == 53)
--__weak_reference(cbrt, cbrtl);
--#endif
-diff --git a/modules/fdlibm/src/s_ceil.cpp b/modules/fdlibm/src/s_ceil.cpp
---- a/modules/fdlibm/src/s_ceil.cpp
-+++ b/modules/fdlibm/src/s_ceil.cpp
-@@ -65,12 +65,8 @@ ceil(double x)
- 		    }
- 		}
- 		i1 &= (~i);
- 	    }
- 	}
- 	INSERT_WORDS(x,i0,i1);
- 	return x;
- }
--
--#if LDBL_MANT_DIG == 53
--__weak_reference(ceil, ceill);
--#endif
-diff --git a/modules/fdlibm/src/s_cos.cpp b/modules/fdlibm/src/s_cos.cpp
---- a/modules/fdlibm/src/s_cos.cpp
-+++ b/modules/fdlibm/src/s_cos.cpp
-@@ -77,12 +77,8 @@ cos(double x)
- 		case 0: return  __kernel_cos(y[0],y[1]);
- 		case 1: return -__kernel_sin(y[0],y[1],1);
- 		case 2: return -__kernel_cos(y[0],y[1]);
- 		default:
- 		        return  __kernel_sin(y[0],y[1],1);
- 	    }
- 	}
- }
--
--#if (LDBL_MANT_DIG == 53)
--__weak_reference(cos, cosl);
--#endif
-diff --git a/modules/fdlibm/src/s_expm1.cpp b/modules/fdlibm/src/s_expm1.cpp
---- a/modules/fdlibm/src/s_expm1.cpp
-+++ b/modules/fdlibm/src/s_expm1.cpp
-@@ -210,12 +210,8 @@ expm1(double x)
- 		SET_HIGH_WORD(t,((0x3ff-k)<<20));	/* 2^-k */
- 	       	y = x-(e+t);
- 	       	y += one;
- 		y = y*twopk;
- 	    }
- 	}
- 	return y;
- }
--
--#if (LDBL_MANT_DIG == 53)
--__weak_reference(expm1, expm1l);
--#endif
-diff --git a/modules/fdlibm/src/s_floor.cpp b/modules/fdlibm/src/s_floor.cpp
---- a/modules/fdlibm/src/s_floor.cpp
-+++ b/modules/fdlibm/src/s_floor.cpp
-@@ -66,12 +66,8 @@ floor(double x)
- 		    }
- 		}
- 		i1 &= (~i);
- 	    }
- 	}
- 	INSERT_WORDS(x,i0,i1);
- 	return x;
- }
--
--#if LDBL_MANT_DIG == 53
--__weak_reference(floor, floorl);
--#endif
-diff --git a/modules/fdlibm/src/s_log1p.cpp b/modules/fdlibm/src/s_log1p.cpp
---- a/modules/fdlibm/src/s_log1p.cpp
-+++ b/modules/fdlibm/src/s_log1p.cpp
-@@ -168,12 +168,8 @@ log1p(double x)
- 	    	     return k*ln2_hi-((R-(k*ln2_lo+c))-f);
- 	}
-  	s = f/(2.0+f);
- 	z = s*s;
- 	R = z*(Lp1+z*(Lp2+z*(Lp3+z*(Lp4+z*(Lp5+z*(Lp6+z*Lp7))))));
- 	if(k==0) return f-(hfsq-s*(hfsq+R)); else
- 		 return k*ln2_hi-((hfsq-(s*(hfsq+R)+(k*ln2_lo+c)))-f);
- }
--
--#if (LDBL_MANT_DIG == 53)
--__weak_reference(log1p, log1pl);
--#endif
-diff --git a/modules/fdlibm/src/s_scalbn.cpp b/modules/fdlibm/src/s_scalbn.cpp
---- a/modules/fdlibm/src/s_scalbn.cpp
-+++ b/modules/fdlibm/src/s_scalbn.cpp
-@@ -53,13 +53,8 @@ scalbn (double x, int n)
-         if (k <= -54)
-             if (n > 50000) 	/* in case integer overflow in n+k */
- 		return huge*copysign(huge,x);	/*overflow*/
- 	    else return tiny*copysign(tiny,x); 	/*underflow*/
-         k += 54;				/* subnormal result */
- 	SET_HIGH_WORD(x,(hx&0x800fffff)|(k<<20));
-         return x*twom54;
- }
--
--#if (LDBL_MANT_DIG == 53)
--__weak_reference(scalbn, ldexpl);
--__weak_reference(scalbn, scalbnl);
--#endif
-diff --git a/modules/fdlibm/src/s_sin.cpp b/modules/fdlibm/src/s_sin.cpp
---- a/modules/fdlibm/src/s_sin.cpp
-+++ b/modules/fdlibm/src/s_sin.cpp
-@@ -77,12 +77,8 @@ sin(double x)
- 		case 0: return  __kernel_sin(y[0],y[1],1);
- 		case 1: return  __kernel_cos(y[0],y[1]);
- 		case 2: return -__kernel_sin(y[0],y[1],1);
- 		default:
- 			return -__kernel_cos(y[0],y[1]);
- 	    }
- 	}
- }
--
--#if (LDBL_MANT_DIG == 53)
--__weak_reference(sin, sinl);
--#endif
-diff --git a/modules/fdlibm/src/s_tan.cpp b/modules/fdlibm/src/s_tan.cpp
---- a/modules/fdlibm/src/s_tan.cpp
-+++ b/modules/fdlibm/src/s_tan.cpp
-@@ -71,12 +71,8 @@ tan(double x)
- 
-     /* argument reduction needed */
- 	else {
- 	    n = __ieee754_rem_pio2(x,y);
- 	    return __kernel_tan(y[0],y[1],1-((n&1)<<1)); /*   1 -- n even
- 							-1 -- n odd */
- 	}
- }
--
--#if (LDBL_MANT_DIG == 53)
--__weak_reference(tan, tanl);
--#endif
-diff --git a/modules/fdlibm/src/s_tanh.cpp b/modules/fdlibm/src/s_tanh.cpp
---- a/modules/fdlibm/src/s_tanh.cpp
-+++ b/modules/fdlibm/src/s_tanh.cpp
-@@ -72,12 +72,8 @@ tanh(double x)
- 	        z= -t/(t+two);
- 	    }
-     /* |x| >= 22, return +-1 */
- 	} else {
- 	    z = one - tiny;		/* raise inexact flag */
- 	}
- 	return (jx>=0)? z: -z;
- }
--
--#if (LDBL_MANT_DIG == 53)
--__weak_reference(tanh, tanhl);
--#endif
-diff --git a/modules/fdlibm/src/s_trunc.cpp b/modules/fdlibm/src/s_trunc.cpp
---- a/modules/fdlibm/src/s_trunc.cpp
-+++ b/modules/fdlibm/src/s_trunc.cpp
-@@ -55,12 +55,8 @@ trunc(double x)
- 	    i = ((u_int32_t)(0xffffffff))>>(j0-20);
- 	    if((i1&i)==0) return x;	/* x is integral */
- 	    if(huge+x>0.0)		/* raise inexact flag */
- 		i1 &= (~i);
- 	}
- 	INSERT_WORDS(x,i0,i1);
- 	return x;
- }
--
--#if LDBL_MANT_DIG == 53
--__weak_reference(trunc, truncl);
--#endif
deleted file mode 100644
--- a/modules/fdlibm/patches/10-replace_inline_always_inline_with_moz_always_inline.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-# HG changeset patch
-# User Tooru Fujisawa <arai_a@mac.com>
-# Date 1452144085 -32400
-#      Thu Jan 07 14:21:25 2016 +0900
-# Node ID 0e0924da97cdd7ac625f37631a7a97455f1def40
-# Parent  c42b685e30acd45a33cf42289f73835018be2daf
-Bug 933257 - Part 2.10: Replace __inline __always_inline with MOZ_ALWAYS_INLINE.
-
-diff --git a/modules/fdlibm/src/e_rem_pio2.cpp b/modules/fdlibm/src/e_rem_pio2.cpp
---- a/modules/fdlibm/src/e_rem_pio2.cpp
-+++ b/modules/fdlibm/src/e_rem_pio2.cpp
-@@ -19,16 +19,17 @@
- /* __ieee754_rem_pio2(x,y)
-  * 
-  * return the remainder of x rem pi/2 in y[0]+y[1] 
-  * use __kernel_rem_pio2()
-  */
- 
- #include <float.h>
- 
-+#include "mozilla/Attributes.h"
- #include "math_private.h"
- 
- /*
-  * invpio2:  53 bits of 2/pi
-  * pio2_1:   first  33 bit of pi/2
-  * pio2_1t:  pi/2 - pio2_1
-  * pio2_2:   second 33 bit of pi/2
-  * pio2_2t:  pi/2 - (pio2_1+pio2_2)
-@@ -43,17 +44,17 @@ invpio2 =  6.36619772367581382433e-01, /
- pio2_1  =  1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */
- pio2_1t =  6.07710050650619224932e-11, /* 0x3DD0B461, 0x1A626331 */
- pio2_2  =  6.07710050630396597660e-11, /* 0x3DD0B461, 0x1A600000 */
- pio2_2t =  2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */
- pio2_3  =  2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */
- pio2_3t =  8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */
- 
- #ifdef INLINE_REM_PIO2
--static __inline __always_inline
-+static MOZ_ALWAYS_INLINE
- #endif
- int
- __ieee754_rem_pio2(double x, double *y)
- {
- 	double z,w,t,r,fn;
- 	double tx[3],ty[2];
- 	int32_t e0,i,j,nx,n,ix,hx;
- 	u_int32_t low;
deleted file mode 100644
--- a/modules/fdlibm/patches/11-comment_out_rcsid_variable.patch
+++ /dev/null
@@ -1,953 +0,0 @@
-# HG changeset patch
-# User Tooru Fujisawa <arai_a@mac.com>
-# Date 1452144085 -32400
-#      Thu Jan 07 14:21:25 2016 +0900
-# Node ID e7441fccd976b1598ff22498c39313f13f15bd21
-# Parent  0e0924da97cdd7ac625f37631a7a97455f1def40
-Bug 933257 - Part 2.11: Comment out rcsid variable.
-
-diff --git a/modules/fdlibm/src/e_acos.cpp b/modules/fdlibm/src/e_acos.cpp
---- a/modules/fdlibm/src/e_acos.cpp
-+++ b/modules/fdlibm/src/e_acos.cpp
-@@ -6,18 +6,18 @@
-  *
-  * Developed at SunSoft, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice 
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* __ieee754_acos(x)
-  * Method :                  
-  *	acos(x)  = pi/2 - asin(x)
-  *	acos(-x) = pi/2 + asin(x)
-  * For |x|<=0.5
-  *	acos(x) = pi/2 - (x + x*x^2*R(x^2))	(see asin.c)
-  * For x>0.5
-diff --git a/modules/fdlibm/src/e_acosh.cpp b/modules/fdlibm/src/e_acosh.cpp
---- a/modules/fdlibm/src/e_acosh.cpp
-+++ b/modules/fdlibm/src/e_acosh.cpp
-@@ -7,18 +7,18 @@
-  * Developed at SunSoft, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice 
-  * is preserved.
-  * ====================================================
-  *
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* __ieee754_acosh(x)
-  * Method :
-  *	Based on 
-  *		acosh(x) = log [ x + sqrt(x*x-1) ]
-  *	we have
-  *		acosh(x) := log(x)+ln2,	if x is large; else
-  *		acosh(x) := log(2x-1/(sqrt(x*x-1)+x)) if x>2; else
-diff --git a/modules/fdlibm/src/e_asin.cpp b/modules/fdlibm/src/e_asin.cpp
---- a/modules/fdlibm/src/e_asin.cpp
-+++ b/modules/fdlibm/src/e_asin.cpp
-@@ -6,18 +6,18 @@
-  *
-  * Developed at SunSoft, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice 
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* __ieee754_asin(x)
-  * Method :                  
-  *	Since  asin(x) = x + x^3/6 + x^5*3/40 + x^7*15/336 + ...
-  *	we approximate asin(x) on [0,0.5] by
-  *		asin(x) = x + x*x^2*R(x^2)
-  *	where
-  *		R(x^2) is a rational approximation of (asin(x)-x)/x^3 
-diff --git a/modules/fdlibm/src/e_atan2.cpp b/modules/fdlibm/src/e_atan2.cpp
---- a/modules/fdlibm/src/e_atan2.cpp
-+++ b/modules/fdlibm/src/e_atan2.cpp
-@@ -7,18 +7,18 @@
-  * Developed at SunSoft, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice 
-  * is preserved.
-  * ====================================================
-  *
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* __ieee754_atan2(y,x)
-  * Method :
-  *	1. Reduce y to positive by atan2(y,x)=-atan2(-y,x).
-  *	2. Reduce x to positive by (if x and y are unexceptional): 
-  *		ARG (x+iy) = arctan(y/x)   	   ... if x > 0,
-  *		ARG (x+iy) = pi - arctan[y/(-x)]   ... if x < 0,
-  *
-diff --git a/modules/fdlibm/src/e_atanh.cpp b/modules/fdlibm/src/e_atanh.cpp
---- a/modules/fdlibm/src/e_atanh.cpp
-+++ b/modules/fdlibm/src/e_atanh.cpp
-@@ -7,18 +7,18 @@
-  * Developed at SunSoft, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice 
-  * is preserved.
-  * ====================================================
-  *
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* __ieee754_atanh(x)
-  * Method :
-  *    1.Reduced x to positive by atanh(-x) = -atanh(x)
-  *    2.For x>=0.5
-  *                  1              2x                          x
-  *	atanh(x) = --- * log(1 + -------) = 0.5 * log1p(2 * --------)
-  *                  2             1 - x                      1 - x
-diff --git a/modules/fdlibm/src/e_cosh.cpp b/modules/fdlibm/src/e_cosh.cpp
---- a/modules/fdlibm/src/e_cosh.cpp
-+++ b/modules/fdlibm/src/e_cosh.cpp
-@@ -6,18 +6,18 @@
-  *
-  * Developed at SunSoft, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice 
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* __ieee754_cosh(x)
-  * Method : 
-  * mathematically cosh(x) if defined to be (exp(x)+exp(-x))/2
-  *	1. Replace x by |x| (cosh(x) = cosh(-x)). 
-  *	2. 
-  *		                                        [ exp(x) - 1 ]^2 
-  *	    0        <= x <= ln2/2  :  cosh(x) := 1 + -------------------
-diff --git a/modules/fdlibm/src/e_exp.cpp b/modules/fdlibm/src/e_exp.cpp
---- a/modules/fdlibm/src/e_exp.cpp
-+++ b/modules/fdlibm/src/e_exp.cpp
-@@ -5,18 +5,18 @@
-  * Copyright (C) 2004 by Sun Microsystems, Inc. All rights reserved.
-  *
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice 
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* __ieee754_exp(x)
-  * Returns the exponential of x.
-  *
-  * Method
-  *   1. Argument reduction:
-  *      Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658.
-  *	Given x, find r and integer k such that
-diff --git a/modules/fdlibm/src/e_hypot.cpp b/modules/fdlibm/src/e_hypot.cpp
---- a/modules/fdlibm/src/e_hypot.cpp
-+++ b/modules/fdlibm/src/e_hypot.cpp
-@@ -6,18 +6,18 @@
-  *
-  * Developed at SunSoft, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice 
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* __ieee754_hypot(x,y)
-  *
-  * Method :                  
-  *	If (assume round-to-nearest) z=x*x+y*y 
-  *	has error less than sqrt(2)/2 ulp, than 
-  *	sqrt(z) has error less than 1 ulp (exercise).
-  *
-diff --git a/modules/fdlibm/src/e_log.cpp b/modules/fdlibm/src/e_log.cpp
---- a/modules/fdlibm/src/e_log.cpp
-+++ b/modules/fdlibm/src/e_log.cpp
-@@ -6,18 +6,18 @@
-  *
-  * Developed at SunSoft, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice 
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* __ieee754_log(x)
-  * Return the logrithm of x
-  *
-  * Method :                  
-  *   1. Argument Reduction: find k and f such that 
-  *			x = 2^k * (1+f), 
-  *	   where  sqrt(2)/2 < 1+f < sqrt(2) .
-diff --git a/modules/fdlibm/src/e_log10.cpp b/modules/fdlibm/src/e_log10.cpp
---- a/modules/fdlibm/src/e_log10.cpp
-+++ b/modules/fdlibm/src/e_log10.cpp
-@@ -6,32 +6,32 @@
-  *
-  * Developed at SunSoft, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice 
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /*
-  * Return the base 10 logarithm of x.  See e_log.c and k_log.h for most
-  * comments.
-  *
-  *    log10(x) = (f - 0.5*f*f + k_log1p(f)) / ln10 + k * log10(2)
-  * in not-quite-routine extra precision.
-  */
- 
- #include <float.h>
- 
- #include "math_private.h"
- #include "k_log.h"
--
-+ 
- static const double
- two54      =  1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */
- ivln10hi   =  4.34294481878168880939e-01, /* 0x3fdbcb7b, 0x15200000 */
- ivln10lo   =  2.50829467116452752298e-11, /* 0x3dbb9438, 0xca9aadd5 */
- log10_2hi  =  3.01029995663611771306e-01, /* 0x3FD34413, 0x509F6000 */
- log10_2lo  =  3.69423907715893078616e-13; /* 0x3D59FEF3, 0x11F12B36 */
- 
- static const double zero   =  0.0;
-diff --git a/modules/fdlibm/src/e_log2.cpp b/modules/fdlibm/src/e_log2.cpp
---- a/modules/fdlibm/src/e_log2.cpp
-+++ b/modules/fdlibm/src/e_log2.cpp
-@@ -6,18 +6,18 @@
-  *
-  * Developed at SunSoft, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice 
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /*
-  * Return the base 2 logarithm of x.  See e_log.c and k_log.h for most
-  * comments.
-  *
-  * This reduces x to {k, 1+f} exactly as in e_log.c, then calls the kernel,
-  * then does the combining and scaling steps
-  *    log2(x) = (f - 0.5*f*f + k_log1p(f)) / ln2 + k
-diff --git a/modules/fdlibm/src/e_pow.cpp b/modules/fdlibm/src/e_pow.cpp
---- a/modules/fdlibm/src/e_pow.cpp
-+++ b/modules/fdlibm/src/e_pow.cpp
-@@ -4,18 +4,18 @@
-  * Copyright (C) 2004 by Sun Microsystems, Inc. All rights reserved.
-  *
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice 
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* __ieee754_pow(x,y) return x**y
-  *
-  *		      n
-  * Method:  Let x =  2   * (1+f)
-  *	1. Compute and return log2(x) in two pieces:
-  *		log2(x) = w1 + w2,
-  *	   where w1 has 53-24 = 29 bit trailing zeros.
-diff --git a/modules/fdlibm/src/e_rem_pio2.cpp b/modules/fdlibm/src/e_rem_pio2.cpp
---- a/modules/fdlibm/src/e_rem_pio2.cpp
-+++ b/modules/fdlibm/src/e_rem_pio2.cpp
-@@ -8,18 +8,18 @@
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice 
-  * is preserved.
-  * ====================================================
-  *
-  * Optimized by Bruce D. Evans.
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* __ieee754_rem_pio2(x,y)
-  * 
-  * return the remainder of x rem pi/2 in y[0]+y[1] 
-  * use __kernel_rem_pio2()
-  */
- 
- #include <float.h>
-diff --git a/modules/fdlibm/src/e_sinh.cpp b/modules/fdlibm/src/e_sinh.cpp
---- a/modules/fdlibm/src/e_sinh.cpp
-+++ b/modules/fdlibm/src/e_sinh.cpp
-@@ -6,18 +6,18 @@
-  *
-  * Developed at SunSoft, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice 
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* __ieee754_sinh(x)
-  * Method : 
-  * mathematically sinh(x) if defined to be (exp(x)-exp(-x))/2
-  *	1. Replace x by |x| (sinh(-x) = -sinh(x)). 
-  *	2. 
-  *		                                    E + E/(E+1)
-  *	    0        <= x <= 22     :  sinh(x) := --------------, E=expm1(x)
-diff --git a/modules/fdlibm/src/e_sqrt.cpp b/modules/fdlibm/src/e_sqrt.cpp
---- a/modules/fdlibm/src/e_sqrt.cpp
-+++ b/modules/fdlibm/src/e_sqrt.cpp
-@@ -6,18 +6,18 @@
-  *
-  * Developed at SunSoft, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice 
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* __ieee754_sqrt(x)
-  * Return correctly rounded sqrt.
-  *           ------------------------------------------
-  *	     |  Use the hardware sqrt if you have one |
-  *           ------------------------------------------
-  * Method: 
-  *   Bit by bit method using integer arithmetic. (Slow, but portable) 
-diff --git a/modules/fdlibm/src/k_cos.cpp b/modules/fdlibm/src/k_cos.cpp
---- a/modules/fdlibm/src/k_cos.cpp
-+++ b/modules/fdlibm/src/k_cos.cpp
-@@ -6,18 +6,18 @@
-  *
-  * Developed at SunSoft, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice 
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /*
-  * __kernel_cos( x,  y )
-  * kernel cos function on [-pi/4, pi/4], pi/4 ~ 0.785398164
-  * Input x is assumed to be bounded by ~pi/4 in magnitude.
-  * Input y is the tail of x. 
-  *
-  * Algorithm
-diff --git a/modules/fdlibm/src/k_exp.cpp b/modules/fdlibm/src/k_exp.cpp
---- a/modules/fdlibm/src/k_exp.cpp
-+++ b/modules/fdlibm/src/k_exp.cpp
-@@ -19,22 +19,22 @@
-  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-  * SUCH DAMAGE.
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- #include <complex.h>
- 
--#include "math_private.h"
-+ #include "math_private.h"
- 
- static const uint32_t k = 1799;		/* constant for reduction */
- static const double kln2 =  1246.97177782734161156;	/* k * ln2 */
- 
- /*
-  * Compute exp(x), scaled to avoid spurious overflow.  An exponent is
-  * returned separately in 'expt'.
-  *
-diff --git a/modules/fdlibm/src/k_log.h b/modules/fdlibm/src/k_log.h
---- a/modules/fdlibm/src/k_log.h
-+++ b/modules/fdlibm/src/k_log.h
-@@ -6,18 +6,18 @@
-  *
-  * Developed at SunSoft, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice 
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /*
-  * k_log1p(f):
-  * Return log(1+f) - f for 1+f in ~[sqrt(2)/2, sqrt(2)].
-  *
-  * The following describes the overall strategy for computing
-  * logarithms in base e.  The argument reduction and adding the final
-  * term of the polynomial are done by the caller for increased accuracy
-diff --git a/modules/fdlibm/src/k_rem_pio2.cpp b/modules/fdlibm/src/k_rem_pio2.cpp
---- a/modules/fdlibm/src/k_rem_pio2.cpp
-+++ b/modules/fdlibm/src/k_rem_pio2.cpp
-@@ -6,18 +6,18 @@
-  *
-  * Developed at SunSoft, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice 
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /*
-  * __kernel_rem_pio2(x,y,e0,nx,prec)
-  * double x[],y[]; int e0,nx,prec;
-  * 
-  * __kernel_rem_pio2 return the last three digits of N with 
-  *		y = x - N*pi/2
-  * so that |y| < pi/2.
-diff --git a/modules/fdlibm/src/k_sin.cpp b/modules/fdlibm/src/k_sin.cpp
---- a/modules/fdlibm/src/k_sin.cpp
-+++ b/modules/fdlibm/src/k_sin.cpp
-@@ -6,18 +6,18 @@
-  *
-  * Developed at SunSoft, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice 
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* __kernel_sin( x, y, iy)
-  * kernel sin function on ~[-pi/4, pi/4] (except on -0), pi/4 ~ 0.7854
-  * Input x is assumed to be bounded by ~pi/4 in magnitude.
-  * Input y is the tail of x.
-  * Input iy indicates whether y is 0. (if iy=0, y assume to be 0). 
-  *
-  * Algorithm
-diff --git a/modules/fdlibm/src/k_tan.cpp b/modules/fdlibm/src/k_tan.cpp
---- a/modules/fdlibm/src/k_tan.cpp
-+++ b/modules/fdlibm/src/k_tan.cpp
-@@ -6,18 +6,18 @@
-  *
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice
-  * is preserved.
-  * ====================================================
-  */
- 
- /* INDENT OFF */
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* __kernel_tan( x, y, k )
-  * kernel tan function on ~[-pi/4, pi/4] (except on -0), pi/4 ~ 0.7854
-  * Input x is assumed to be bounded by ~pi/4 in magnitude.
-  * Input y is the tail of x.
-  * Input k indicates whether tan (if k = 1) or -1/tan (if k = -1) is returned.
-  *
-  * Algorithm
-diff --git a/modules/fdlibm/src/s_asinh.cpp b/modules/fdlibm/src/s_asinh.cpp
---- a/modules/fdlibm/src/s_asinh.cpp
-+++ b/modules/fdlibm/src/s_asinh.cpp
-@@ -5,18 +5,18 @@
-  *
-  * Developed at SunPro, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* asinh(x)
-  * Method :
-  *	Based on
-  *		asinh(x) = sign(x) * log [ |x| + sqrt(x*x+1) ]
-  *	we have
-  *	asinh(x) := x  if  1+x*x=1,
-  *		 := sign(x)*(log(x)+ln2)) for large |x|, else
-diff --git a/modules/fdlibm/src/s_atan.cpp b/modules/fdlibm/src/s_atan.cpp
---- a/modules/fdlibm/src/s_atan.cpp
-+++ b/modules/fdlibm/src/s_atan.cpp
-@@ -5,18 +5,18 @@
-  *
-  * Developed at SunPro, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* atan(x)
-  * Method
-  *   1. Reduce x to positive by atan(x) = -atan(-x).
-  *   2. According to the integer k=4t+0.25 chopped, t=x, the argument
-  *      is further reduced to one of the following intervals and the
-  *      arctangent of t is evaluated by the corresponding formula:
-  *
-diff --git a/modules/fdlibm/src/s_cbrt.cpp b/modules/fdlibm/src/s_cbrt.cpp
---- a/modules/fdlibm/src/s_cbrt.cpp
-+++ b/modules/fdlibm/src/s_cbrt.cpp
-@@ -7,18 +7,18 @@
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice
-  * is preserved.
-  * ====================================================
-  *
-  * Optimized by Bruce D. Evans.
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- #include "math_private.h"
- 
- /* cbrt(x)
-  * Return cube root of x
-  */
- static const u_int32_t
- 	B1 = 715094163, /* B1 = (1023-1023/3-0.03306235651)*2**20 */
-diff --git a/modules/fdlibm/src/s_ceil.cpp b/modules/fdlibm/src/s_ceil.cpp
---- a/modules/fdlibm/src/s_ceil.cpp
-+++ b/modules/fdlibm/src/s_ceil.cpp
-@@ -5,18 +5,18 @@
-  *
-  * Developed at SunPro, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /*
-  * ceil(x)
-  * Return x rounded toward -inf to integral value
-  * Method:
-  *	Bit twiddling.
-  * Exception:
-  *	Inexact flag raised if x not equal to ceil(x).
-diff --git a/modules/fdlibm/src/s_ceilf.cpp b/modules/fdlibm/src/s_ceilf.cpp
---- a/modules/fdlibm/src/s_ceilf.cpp
-+++ b/modules/fdlibm/src/s_ceilf.cpp
-@@ -8,18 +8,18 @@
-  *
-  * Developed at SunPro, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- #include "math_private.h"
- 
- static const float huge = 1.0e30;
- 
- float
- ceilf(float x)
- {
-diff --git a/modules/fdlibm/src/s_copysign.cpp b/modules/fdlibm/src/s_copysign.cpp
---- a/modules/fdlibm/src/s_copysign.cpp
-+++ b/modules/fdlibm/src/s_copysign.cpp
-@@ -5,18 +5,18 @@
-  *
-  * Developed at SunPro, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /*
-  * copysign(double x, double y)
-  * copysign(x,y) returns a value with the magnitude of x and
-  * with the sign bit of y.
-  */
- 
- #include "math_private.h"
-diff --git a/modules/fdlibm/src/s_cos.cpp b/modules/fdlibm/src/s_cos.cpp
---- a/modules/fdlibm/src/s_cos.cpp
-+++ b/modules/fdlibm/src/s_cos.cpp
-@@ -5,18 +5,18 @@
-  *
-  * Developed at SunPro, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* cos(x)
-  * Return cosine function of x.
-  *
-  * kernel function:
-  *	__kernel_sin		... sine function on [-pi/4,pi/4]
-  *	__kernel_cos		... cosine function on [-pi/4,pi/4]
-  *	__ieee754_rem_pio2	... argument reduction routine
-diff --git a/modules/fdlibm/src/s_expm1.cpp b/modules/fdlibm/src/s_expm1.cpp
---- a/modules/fdlibm/src/s_expm1.cpp
-+++ b/modules/fdlibm/src/s_expm1.cpp
-@@ -5,18 +5,18 @@
-  *
-  * Developed at SunPro, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* expm1(x)
-  * Returns exp(x)-1, the exponential of x minus 1.
-  *
-  * Method
-  *   1. Argument reduction:
-  *	Given x, find r and integer k such that
-  *
-diff --git a/modules/fdlibm/src/s_fabs.cpp b/modules/fdlibm/src/s_fabs.cpp
---- a/modules/fdlibm/src/s_fabs.cpp
-+++ b/modules/fdlibm/src/s_fabs.cpp
-@@ -1,22 +1,22 @@
--/* @(#)s_fabs.c 5.1 93/09/24 */
-+ /* @(#)s_fabs.c 5.1 93/09/24 */
- /*
-  * ====================================================
-  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
-  *
-  * Developed at SunPro, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice
-  * is preserved.
-  * ====================================================
-  */
- 
- #ifndef lint
--static char rcsid[] = "$FreeBSD$";
-+ //static char rcsid[] = "$FreeBSD$";
- #endif
- 
- /*
-  * fabs(x) returns the absolute value of x.
-  */
- 
- #include "math_private.h"
- 
-diff --git a/modules/fdlibm/src/s_floor.cpp b/modules/fdlibm/src/s_floor.cpp
---- a/modules/fdlibm/src/s_floor.cpp
-+++ b/modules/fdlibm/src/s_floor.cpp
-@@ -5,18 +5,18 @@
-  *
-  * Developed at SunPro, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /*
-  * floor(x)
-  * Return x rounded toward -inf to integral value
-  * Method:
-  *	Bit twiddling.
-  * Exception:
-  *	Inexact flag raised if x not equal to floor(x).
-diff --git a/modules/fdlibm/src/s_floorf.cpp b/modules/fdlibm/src/s_floorf.cpp
---- a/modules/fdlibm/src/s_floorf.cpp
-+++ b/modules/fdlibm/src/s_floorf.cpp
-@@ -8,18 +8,18 @@
-  *
-  * Developed at SunPro, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /*
-  * floorf(x)
-  * Return x rounded toward -inf to integral value
-  * Method:
-  *	Bit twiddling.
-  * Exception:
-  *	Inexact flag raised if x not equal to floorf(x).
-diff --git a/modules/fdlibm/src/s_log1p.cpp b/modules/fdlibm/src/s_log1p.cpp
---- a/modules/fdlibm/src/s_log1p.cpp
-+++ b/modules/fdlibm/src/s_log1p.cpp
-@@ -5,18 +5,18 @@
-  *
-  * Developed at SunPro, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* double log1p(double x)
-  *
-  * Method :
-  *   1. Argument Reduction: find k and f such that
-  *			1+x = 2^k * (1+f),
-  *	   where  sqrt(2)/2 < 1+f < sqrt(2) .
-  *
-diff --git a/modules/fdlibm/src/s_scalbn.cpp b/modules/fdlibm/src/s_scalbn.cpp
---- a/modules/fdlibm/src/s_scalbn.cpp
-+++ b/modules/fdlibm/src/s_scalbn.cpp
-@@ -6,27 +6,27 @@
-  * Developed at SunPro, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice
-  * is preserved.
-  * ====================================================
-  */
- 
- #ifndef lint
--static char rcsid[] = "$FreeBSD$";
-+//static char rcsid[] = "$FreeBSD$";
- #endif
- 
- /*
-  * scalbn (double x, int n)
-  * scalbn(x,n) returns x* 2**n  computed by  exponent
-  * manipulation rather than by actually performing an
-  * exponentiation or a multiplication.
-  */
- 
--#include <sys/cdefs.h>
-+//#include <sys/cdefs.h>
- #include <float.h>
- 
- #include "math_private.h"
- 
- static const double
- two54   =  1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */
- twom54  =  5.55111512312578270212e-17, /* 0x3C900000, 0x00000000 */
- huge   = 1.0e+300,
-diff --git a/modules/fdlibm/src/s_sin.cpp b/modules/fdlibm/src/s_sin.cpp
---- a/modules/fdlibm/src/s_sin.cpp
-+++ b/modules/fdlibm/src/s_sin.cpp
-@@ -5,18 +5,18 @@
-  *
-  * Developed at SunPro, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* sin(x)
-  * Return sine function of x.
-  *
-  * kernel function:
-  *	__kernel_sin		... sine function on [-pi/4,pi/4]
-  *	__kernel_cos		... cose function on [-pi/4,pi/4]
-  *	__ieee754_rem_pio2	... argument reduction routine
-diff --git a/modules/fdlibm/src/s_tan.cpp b/modules/fdlibm/src/s_tan.cpp
---- a/modules/fdlibm/src/s_tan.cpp
-+++ b/modules/fdlibm/src/s_tan.cpp
-@@ -5,18 +5,18 @@
-  *
-  * Developed at SunPro, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* tan(x)
-  * Return tangent function of x.
-  *
-  * kernel function:
-  *	__kernel_tan		... tangent function on [-pi/4,pi/4]
-  *	__ieee754_rem_pio2	... argument reduction routine
-  *
-diff --git a/modules/fdlibm/src/s_tanh.cpp b/modules/fdlibm/src/s_tanh.cpp
---- a/modules/fdlibm/src/s_tanh.cpp
-+++ b/modules/fdlibm/src/s_tanh.cpp
-@@ -5,18 +5,18 @@
-  *
-  * Developed at SunPro, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /* Tanh(x)
-  * Return the Hyperbolic Tangent of x
-  *
-  * Method :
-  *				       x    -x
-  *				      e  - e
-  *	0. tanh(x) is defined to be -----------
-diff --git a/modules/fdlibm/src/s_trunc.cpp b/modules/fdlibm/src/s_trunc.cpp
---- a/modules/fdlibm/src/s_trunc.cpp
-+++ b/modules/fdlibm/src/s_trunc.cpp
-@@ -5,18 +5,18 @@
-  *
-  * Developed at SunPro, a Sun Microsystems, Inc. business.
-  * Permission to use, copy, modify, and distribute this
-  * software is freely granted, provided that this notice
-  * is preserved.
-  * ====================================================
-  */
- 
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD$");
- 
- /*
-  * trunc(x)
-  * Return x rounded toward 0 to integral value
-  * Method:
-  *	Bit twiddling.
-  * Exception:
-  *	Inexact flag raised if x not equal to trunc(x).
deleted file mode 100644
--- a/modules/fdlibm/patches/12-remove_unused_function_from_k_exp_cpp.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-# HG changeset patch
-# User Tooru Fujisawa <arai_a@mac.com>
-# Date 1452576936 -32400
-#      Tue Jan 12 14:35:36 2016 +0900
-# Node ID 0e4d362b6f743a533805aeea9ff700a2de0e4490
-# Parent  e7441fccd976b1598ff22498c39313f13f15bd21
-Bug 933257 - Part 2.14: Remove unused function from k_exp.cpp.
-
-diff --git a/modules/fdlibm/src/k_exp.cpp b/modules/fdlibm/src/k_exp.cpp
---- a/modules/fdlibm/src/k_exp.cpp
-+++ b/modules/fdlibm/src/k_exp.cpp
-@@ -22,18 +22,16 @@
-  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-  * SUCH DAMAGE.
-  */
- 
- //#include <sys/cdefs.h>
- //__FBSDID("$FreeBSD$");
- 
--#include <complex.h>
--
-  #include "math_private.h"
- 
- static const uint32_t k = 1799;		/* constant for reduction */
- static const double kln2 =  1246.97177782734161156;	/* k * ln2 */
- 
- /*
-  * Compute exp(x), scaled to avoid spurious overflow.  An exponent is
-  * returned separately in 'expt'.
-@@ -76,32 +74,8 @@ double
- 	double exp_x, scale;
- 	int ex_expt;
- 
- 	exp_x = __frexp_exp(x, &ex_expt);
- 	expt += ex_expt;
- 	INSERT_WORDS(scale, (0x3ff + expt) << 20, 0);
- 	return (exp_x * scale);
- }
--
--double complex
--__ldexp_cexp(double complex z, int expt)
--{
--	double x, y, exp_x, scale1, scale2;
--	int ex_expt, half_expt;
--
--	x = creal(z);
--	y = cimag(z);
--	exp_x = __frexp_exp(x, &ex_expt);
--	expt += ex_expt;
--
--	/*
--	 * Arrange so that scale1 * scale2 == 2**expt.  We use this to
--	 * compensate for scalbn being horrendously slow.
--	 */
--	half_expt = expt / 2;
--	INSERT_WORDS(scale1, (0x3ff + half_expt) << 20, 0);
--	half_expt = expt - half_expt;
--	INSERT_WORDS(scale2, (0x3ff + half_expt) << 20, 0);
--
--	return (CMPLX(cos(y) * exp_x * scale1 * scale2,
--	    sin(y) * exp_x * scale1 * scale2));
--}
deleted file mode 100644
--- a/modules/fdlibm/patches/13-include_cfloat_to_use_flt_eval_method.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-# HG changeset patch
-# User Tooru Fujisawa <arai_a@mac.com>
-# Date 1457079240 -32400
-#      Fri Mar 04 17:14:00 2016 +0900
-# Node ID 61a88bbd6f42b7e35e6f5605da348da5d7bc57ed
-# Parent  0e4d362b6f743a533805aeea9ff700a2de0e4490
-Bug 933257 - Part 2.15: Include cfloat to use FLT_EVAL_METHOD.
-
-diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h
---- a/modules/fdlibm/src/math_private.h
-+++ b/modules/fdlibm/src/math_private.h
-@@ -12,16 +12,17 @@
- /*
-  * from: @(#)fdlibm.h 5.1 93/09/24
-  * $FreeBSD$
-  */
- 
- #ifndef _MATH_PRIVATE_H_
- #define	_MATH_PRIVATE_H_
- 
-+#include <cfloat>
- #include <stdint.h>
- #include <sys/types.h>
- 
- #include "fdlibm.h"
- 
- #include "mozilla/Endian.h"
- 
- /*
deleted file mode 100644
--- a/modules/fdlibm/patches/14-define_u_int32_t_and_u_int64_t_on_windows.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-# HG changeset patch
-# User Tooru Fujisawa <arai_a@mac.com>
-# Date 1457079240 -32400
-#      Fri Mar 04 17:14:00 2016 +0900
-# Node ID 01acfb90ba766f1078ca3c91432e3e490f299c0d
-# Parent  61a88bbd6f42b7e35e6f5605da348da5d7bc57ed
-Bug 933257 - Part 2.16: Define u_int32_t and u_int64_t on Windows.
-
-diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h
---- a/modules/fdlibm/src/math_private.h
-+++ b/modules/fdlibm/src/math_private.h
-@@ -33,16 +33,21 @@
-  * to dig two 32 bit words out of the 64 bit IEEE floating point
-  * value.  That is non-ANSI, and, moreover, the gcc instruction
-  * scheduler gets it wrong.  We instead use the following macros.
-  * Unlike the original code, we determine the endianness at compile
-  * time, not at run time; I don't see much benefit to selecting
-  * endianness at run time.
-  */
- 
-+#ifdef WIN32
-+#define u_int32_t uint32_t
-+#define u_int64_t uint64_t
-+#endif
-+
- /*
-  * A union which permits us to convert between a double and two 32 bit
-  * ints.
-  */
- 
- #if MOZ_BIG_ENDIAN
- 
- typedef union
deleted file mode 100644
--- a/modules/fdlibm/patches/15-define_strict_assign_even_if_flt_eval_method_is_not_defined.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-# HG changeset patch
-# User Tooru Fujisawa <arai_a@mac.com>
-# Date 1457079240 -32400
-#      Fri Mar 04 17:14:00 2016 +0900
-# Node ID d1456e70e89c49c6b05ad3c2f1f9bf66050dc2fe
-# Parent  01acfb90ba766f1078ca3c91432e3e490f299c0d
-Bug 933257 - Part 2.17: Define STRICT_ASSIGN even if FLT_EVAL_METHOD is not defined.
-
-diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h
---- a/modules/fdlibm/src/math_private.h
-+++ b/modules/fdlibm/src/math_private.h
-@@ -285,16 +285,27 @@ do {								\
- 	if (sizeof(type) >= sizeof(long double))	\
- 		(lval) = (rval);		\
- 	else {					\
- 		__lval = (rval);		\
- 		(lval) = __lval;		\
- 	}					\
- } while (0)
- #endif
-+#else
-+#define	STRICT_ASSIGN(type, lval, rval) do {	\
-+	volatile type __lval;			\
-+						\
-+	if (sizeof(type) >= sizeof(long double))	\
-+		(lval) = (rval);		\
-+	else {					\
-+		__lval = (rval);		\
-+		(lval) = __lval;		\
-+	}					\
-+} while (0)
- #endif /* FLT_EVAL_METHOD */
- 
- /* Support switching the mode to FP_PE if necessary. */
- #if defined(__i386__) && !defined(NO_FPSETPREC)
- #define	ENTERI()				\
- 	long double __retval;			\
- 	fp_prec_t __oprec;			\
- 						\
deleted file mode 100644
--- a/modules/fdlibm/patches/16-do_not_use_hexadecimal_floating_point_number.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-# HG changeset patch
-# User Tooru Fujisawa <arai_a@mac.com>
-# Date 1457122688 -32400
-#      Sat Mar 05 05:18:08 2016 +0900
-# Node ID 47b64370468532574e5be4db3cfb5f8415ba7c53
-# Parent  d1456e70e89c49c6b05ad3c2f1f9bf66050dc2fe
-Bug 933257 - Part 2.18: Do not use hexadecimal floating point number.
-
-diff --git a/modules/fdlibm/src/e_exp.cpp b/modules/fdlibm/src/e_exp.cpp
---- a/modules/fdlibm/src/e_exp.cpp
-+++ b/modules/fdlibm/src/e_exp.cpp
-@@ -146,14 +146,17 @@ double
- 	if(k >= -1021)
- 	    INSERT_WORDS(twopk,0x3ff00000+(k<<20), 0);
- 	else
- 	    INSERT_WORDS(twopk,0x3ff00000+((k+1000)<<20), 0);
- 	c  = x - t*(P1+t*(P2+t*(P3+t*(P4+t*P5))));
- 	if(k==0) 	return one-((x*c)/(c-2.0)-x); 
- 	else 		y = one-((lo-(x*c)/(2.0-c))-hi);
- 	if(k >= -1021) {
--	    if (k==1024) return y*2.0*0x1p1023;
-+	    if (k==1024) {
-+	        double const_0x1p1023 = pow(2, 1023);
-+	        return y*2.0*const_0x1p1023;
-+	    }
- 	    return y*twopk;
- 	} else {
- 	    return y*twopk*twom1000;
- 	}
- }
-diff --git a/modules/fdlibm/src/e_rem_pio2.cpp b/modules/fdlibm/src/e_rem_pio2.cpp
---- a/modules/fdlibm/src/e_rem_pio2.cpp
-+++ b/modules/fdlibm/src/e_rem_pio2.cpp
-@@ -123,18 +123,19 @@ int
- 		    y[1] = (z-y[0])+4*pio2_1t;
- 		    return -4;
- 		}
- 	    }
- 	}
- 	if(ix<0x413921fb) {	/* |x| ~< 2^20*(pi/2), medium size */
- medium:
- 	    /* Use a specialized rint() to get fn.  Assume round-to-nearest. */
--	    STRICT_ASSIGN(double,fn,x*invpio2+0x1.8p52);
--	    fn = fn-0x1.8p52;
-+	    double const_0x1_8p52 = pow(2, 52) + pow(2, 51);
-+	    STRICT_ASSIGN(double,fn,x*invpio2+const_0x1_8p52);
-+	    fn = fn-const_0x1_8p52;
- #ifdef HAVE_EFFICIENT_IRINT
- 	    n  = irint(fn);
- #else
- 	    n  = (int32_t)fn;
- #endif
- 	    r  = x-fn*pio2_1;
- 	    w  = fn*pio2_1t;	/* 1st round good to 85 bit */
- 	    {
-diff --git a/modules/fdlibm/src/s_expm1.cpp b/modules/fdlibm/src/s_expm1.cpp
---- a/modules/fdlibm/src/s_expm1.cpp
-+++ b/modules/fdlibm/src/s_expm1.cpp
-@@ -192,17 +192,20 @@ expm1(double x)
- 	    e -= hxs;
- 	    if(k== -1) return 0.5*(x-e)-0.5;
- 	    if(k==1) {
- 	       	if(x < -0.25) return -2.0*(e-(x+0.5));
- 	       	else 	      return  one+2.0*(x-e);
- 	    }
- 	    if (k <= -2 || k>56) {   /* suffice to return exp(x)-1 */
- 	        y = one-(e-x);
--		if (k == 1024) y = y*2.0*0x1p1023;
-+		if (k == 1024) {
-+		    double const_0x1p1023 = pow(2, 1023);
-+		    y = y*2.0*const_0x1p1023;
-+		}
- 		else y = y*twopk;
- 	        return y-one;
- 	    }
- 	    t = one;
- 	    if(k<20) {
- 	        SET_HIGH_WORD(t,0x3ff00000 - (0x200000>>k));  /* t=1-2^-k */
- 	       	y = t-(e-x);
- 		y = y*twopk;