/*
** Automatically generated from `math.m'
** by the Mercury compiler,
** version 14.01.1, configured for x86_64-apple-darwin13.3.0.
** Do not edit.
**
** The autoconfigured grade settings governing
** the generation of this C file were
**
** TAG_BITS=2
** UNBOXED_FLOAT=no
** PREGENERATED_DIST=yes
** HIGHLEVEL_CODE=yes
**
** END_OF_C_GRADE_INFO
*/


/* :- module math. */
/* :- interface. */

#ifndef MR_HEADER_GUARD_math
#define MR_HEADER_GUARD_math

#ifdef __cplusplus
extern "C" {
#endif

#include "mercury.h"


#ifndef MATH_DECL_GUARD
#define MATH_DECL_GUARD
#line 215 "math.m"


    #include <math.h>

    /*
    ** Mathematical constants.
    **
    ** The maximum number of significant decimal digits which
    ** can be packed into an IEEE-754 extended precision
    ** floating point number is 18.  Therefore 20 significant
    ** decimal digits for these constants should be plenty.
    */

    #define ML_FLOAT_E      2.7182818284590452354
    #define ML_FLOAT_PI     3.1415926535897932384
    #define ML_FLOAT_LN2        0.69314718055994530941


#endif




#line 59 "math.mih.tmp"
extern const MR_TypeCtorInfo_Struct mercury__math__math__type_ctor_info_domain_error_0;

#line 62 "math.mih.tmp"
extern const MR_TypeCtorInfo_Struct mercury__math__math__type_ctor_info_quadratic_roots_0;

#line 89 "math.m"
void MR_CALL 
mercury__math____Compare____quadratic_roots_0_0(
#line 89 "math.m"
  MR_Word * mercury__math__param_1,
#line 89 "math.m"
  MR_Word mercury__math__param_2,
#line 89 "math.m"
  MR_Word mercury__math__param_3);

#line 89 "math.m"
MR_bool MR_CALL 
mercury__math____Unify____quadratic_roots_0_0(
#line 89 "math.m"
  MR_Word mercury__math__param_1,
#line 89 "math.m"
  MR_Word mercury__math__param_2);

#line 37 "math.m"
void MR_CALL 
mercury__math____Compare____domain_error_0_0(
#line 37 "math.m"
  MR_Word * mercury__math__param_1,
#line 37 "math.m"
  MR_Word mercury__math__param_2,
#line 37 "math.m"
  MR_Word mercury__math__param_3);

#line 37 "math.m"
MR_bool MR_CALL 
mercury__math____Unify____domain_error_0_0(
#line 37 "math.m"
  MR_Word mercury__math__param_1,
#line 37 "math.m"
  MR_Word mercury__math__param_2);

#line 203 "math.m"
MR_Float MR_CALL 
mercury__math__tanh_1_f_0(
#line 203 "math.m"
  MR_Float mercury__math__param_1);

#line 199 "math.m"
MR_Float MR_CALL 
mercury__math__cosh_1_f_0(
#line 199 "math.m"
  MR_Float mercury__math__param_1);

#line 195 "math.m"
MR_Float MR_CALL 
mercury__math__sinh_1_f_0(
#line 195 "math.m"
  MR_Float mercury__math__param_1);

#line 186 "math.m"
MR_Float MR_CALL 
mercury__math__atan2_2_f_0(
#line 186 "math.m"
  MR_Float mercury__math__param_1,
#line 186 "math.m"
  MR_Float mercury__math__param_2);

#line 181 "math.m"
MR_Float MR_CALL 
mercury__math__atan_1_f_0(
#line 181 "math.m"
  MR_Float mercury__math__param_1);

#line 176 "math.m"
MR_Float MR_CALL 
mercury__math__unchecked_acos_1_f_0(
#line 176 "math.m"
  MR_Float mercury__math__param_1);

#line 175 "math.m"
MR_Float MR_CALL 
mercury__math__acos_1_f_0(
#line 175 "math.m"
  MR_Float mercury__math__param_1);

#line 168 "math.m"
MR_Float MR_CALL 
mercury__math__unchecked_asin_1_f_0(
#line 168 "math.m"
  MR_Float mercury__math__param_1);

#line 167 "math.m"
MR_Float MR_CALL 
mercury__math__asin_1_f_0(
#line 167 "math.m"
  MR_Float mercury__math__param_1);

#line 160 "math.m"
MR_Float MR_CALL 
mercury__math__tan_1_f_0(
#line 160 "math.m"
  MR_Float mercury__math__param_1);

#line 156 "math.m"
MR_Float MR_CALL 
mercury__math__cos_1_f_0(
#line 156 "math.m"
  MR_Float mercury__math__param_1);

#line 152 "math.m"
MR_Float MR_CALL 
mercury__math__sin_1_f_0(
#line 152 "math.m"
  MR_Float mercury__math__param_1);

#line 143 "math.m"
MR_Float MR_CALL 
mercury__math__unchecked_log_2_f_0(
#line 143 "math.m"
  MR_Float mercury__math__param_1,
#line 143 "math.m"
  MR_Float mercury__math__param_2);

#line 142 "math.m"
MR_Float MR_CALL 
mercury__math__log_2_f_0(
#line 142 "math.m"
  MR_Float mercury__math__param_1,
#line 142 "math.m"
  MR_Float mercury__math__param_2);

#line 136 "math.m"
MR_Float MR_CALL 
mercury__math__unchecked_log2_1_f_0(
#line 136 "math.m"
  MR_Float mercury__math__param_1);

#line 135 "math.m"
MR_Float MR_CALL 
mercury__math__log2_1_f_0(
#line 135 "math.m"
  MR_Float mercury__math__param_1);

#line 129 "math.m"
MR_Float MR_CALL 
mercury__math__unchecked_log10_1_f_0(
#line 129 "math.m"
  MR_Float mercury__math__param_1);

#line 128 "math.m"
MR_Float MR_CALL 
mercury__math__log10_1_f_0(
#line 128 "math.m"
  MR_Float mercury__math__param_1);

#line 122 "math.m"
MR_Float MR_CALL 
mercury__math__unchecked_ln_1_f_0(
#line 122 "math.m"
  MR_Float mercury__math__param_1);

#line 121 "math.m"
MR_Float MR_CALL 
mercury__math__ln_1_f_0(
#line 121 "math.m"
  MR_Float mercury__math__param_1);

#line 115 "math.m"
MR_Float MR_CALL 
mercury__math__exp_1_f_0(
#line 115 "math.m"
  MR_Float mercury__math__param_1);

#line 111 "math.m"
MR_Float MR_CALL 
mercury__math__unchecked_pow_2_f_0(
#line 111 "math.m"
  MR_Float mercury__math__param_1,
#line 111 "math.m"
  MR_Float mercury__math__param_2);

#line 110 "math.m"
MR_Float MR_CALL 
mercury__math__pow_2_f_0(
#line 110 "math.m"
  MR_Float mercury__math__param_1,
#line 110 "math.m"
  MR_Float mercury__math__param_2);

#line 99 "math.m"
MR_Word MR_CALL 
mercury__math__solve_quadratic_3_f_0(
#line 99 "math.m"
  MR_Float mercury__math__param_1,
#line 99 "math.m"
  MR_Float mercury__math__param_2,
#line 99 "math.m"
  MR_Float mercury__math__param_3);

#line 87 "math.m"
MR_Float MR_CALL 
mercury__math__unchecked_sqrt_1_f_0(
#line 87 "math.m"
  MR_Float mercury__math__param_1);

#line 86 "math.m"
MR_Float MR_CALL 
mercury__math__sqrt_1_f_0(
#line 86 "math.m"
  MR_Float mercury__math__param_1);

#line 75 "math.m"
MR_Float MR_CALL 
mercury__math__truncate_1_f_0(
#line 75 "math.m"
  MR_Float mercury__math__param_1);

#line 70 "math.m"
MR_Float MR_CALL 
mercury__math__round_1_f_0(
#line 70 "math.m"
  MR_Float mercury__math__param_1);

#line 65 "math.m"
MR_Float MR_CALL 
mercury__math__floor_1_f_0(
#line 65 "math.m"
  MR_Float mercury__math__param_1);

#line 60 "math.m"
MR_Float MR_CALL 
mercury__math__ceiling_1_f_0(
#line 60 "math.m"
  MR_Float mercury__math__param_1);

#line 50 "math.m"
MR_Float MR_CALL 
mercury__math__e_0_f_0(void);

#line 46 "math.m"
MR_Float MR_CALL 
mercury__math__pi_0_f_0(void);

void mercury__math__init(void);
void mercury__math__init_type_tables(void);
void mercury__math__init_debugger(void);

#ifdef __cplusplus
}
#endif

#endif /* MR_HEADER_GUARD_math */

/* :- end_interface math. */
