#include "config.h"
#ifdef abort
#undef abort
#endif
#ifndef perform_mulsi3
#define perform_mulsi3(a, b) return a * b
#endif
#ifndef perform_divsi3
#define perform_divsi3(a, b) return a / b
#endif
#ifndef perform_udivsi3
#define perform_udivsi3(a, b) return a / b
#endif
#ifndef perform_modsi3
#define perform_modsi3(a, b) return a % b
#endif
#ifndef perform_umodsi3
#define perform_umodsi3(a, b) return a % b
#endif
#ifndef perform_lshrsi3
#define perform_lshrsi3(a, b) return a >> b
#endif
#ifndef perform_ashrsi3
#define perform_ashrsi3(a, b) return a >> b
#endif
#ifndef perform_ashlsi3
#define perform_ashlsi3(a, b) return a << b
#endif
#ifndef perform_adddf3
#define perform_adddf3(a, b) return a + b
#endif
#ifndef perform_subdf3
#define perform_subdf3(a, b) return a - b
#endif
#ifndef perform_muldf3
#define perform_muldf3(a, b) return a * b
#endif
#ifndef perform_divdf3
#define perform_divdf3(a, b) return a / b
#endif
#ifndef perform_addsf3
#define perform_addsf3(a, b) return INTIFY (a + b)
#endif
#ifndef perform_subsf3
#define perform_subsf3(a, b) return INTIFY (a - b)
#endif
#ifndef perform_mulsf3
#define perform_mulsf3(a, b) return INTIFY (a * b)
#endif
#ifndef perform_divsf3
#define perform_divsf3(a, b) return INTIFY (a / b)
#endif
#ifndef perform_negdf2
#define perform_negdf2(a) return -a
#endif
#ifndef perform_negsf2
#define perform_negsf2(a) return INTIFY (-a)
#endif
#ifndef perform_fixdfsi
#define perform_fixdfsi(a) return (nongcc_SI_type) a;
#endif
#ifndef perform_fixsfsi
#define perform_fixsfsi(a) return (nongcc_SI_type) a
#endif
#ifndef perform_floatsidf
#define perform_floatsidf(a) return (double) a
#endif
#ifndef perform_floatsisf
#define perform_floatsisf(a) return INTIFY ((float) a)
#endif
#ifndef perform_extendsfdf2
#define perform_extendsfdf2(a) return a
#endif
#ifndef perform_truncdfsf2
#define perform_truncdfsf2(a) return INTIFY (a)
#endif
#ifndef perform_eqdf2
#define perform_eqdf2(a, b) return !(a == b)
#endif
#ifndef perform_nedf2
#define perform_nedf2(a, b) return a != b
#endif
#ifndef perform_gtdf2
#define perform_gtdf2(a, b) return a > b
#endif
#ifndef perform_gedf2
#define perform_gedf2(a, b) return (a >= b) - 1
#endif
#ifndef perform_ltdf2
#define perform_ltdf2(a, b) return -(a < b)
#endif
#ifndef perform_ledf2
#define perform_ledf2(a, b) return 1 - (a <= b)
#endif
#ifndef perform_eqsf2
#define perform_eqsf2(a, b) return !(a == b)
#endif
#ifndef perform_nesf2
#define perform_nesf2(a, b) return a != b
#endif
#ifndef perform_gtsf2
#define perform_gtsf2(a, b) return a > b
#endif
#ifndef perform_gesf2
#define perform_gesf2(a, b) return (a >= b) - 1
#endif
#ifndef perform_ltsf2
#define perform_ltsf2(a, b) return -(a < b)
#endif
#ifndef perform_lesf2
#define perform_lesf2(a, b) return 1 - (a <= b);
#endif
#ifndef nongcc_SI_type
#define nongcc_SI_type long int
#endif
#ifndef nongcc_word_type
#define nongcc_word_type nongcc_SI_type
#endif
#ifndef FLOAT_VALUE_TYPE
#define FLOAT_VALUE_TYPE int
#endif
#ifndef INTIFY
#define INTIFY(FLOATVAL) (intify.f = (FLOATVAL), intify.i)
#endif
#ifndef FLOATIFY
#define FLOATIFY(INTVAL) ((INTVAL).f)
#endif
#ifndef FLOAT_ARG_TYPE
#define FLOAT_ARG_TYPE union flt_or_int
#endif
union flt_or_value { FLOAT_VALUE_TYPE i; float f; };
union flt_or_int { int i; float f; };
#ifdef L_mulsi3
nongcc_SI_type
__mulsi3 (a, b)
nongcc_SI_type a, b;
{
perform_mulsi3 (a, b);
}
#endif
#ifdef L_udivsi3
nongcc_SI_type
__udivsi3 (a, b)
unsigned nongcc_SI_type a, b;
{
perform_udivsi3 (a, b);
}
#endif
#ifdef L_divsi3
nongcc_SI_type
__divsi3 (a, b)
nongcc_SI_type a, b;
{
perform_divsi3 (a, b);
}
#endif
#ifdef L_umodsi3
nongcc_SI_type
__umodsi3 (a, b)
unsigned nongcc_SI_type a, b;
{
perform_umodsi3 (a, b);
}
#endif
#ifdef L_modsi3
nongcc_SI_type
__modsi3 (a, b)
nongcc_SI_type a, b;
{
perform_modsi3 (a, b);
}
#endif
#ifdef L_lshrsi3
nongcc_SI_type
__lshrsi3 (a, b)
unsigned nongcc_SI_type a, b;
{
perform_lshrsi3 (a, b);
}
#endif
#ifdef L_ashrsi3
nongcc_SI_type
__ashrsi3 (a, b)
nongcc_SI_type a, b;
{
perform_ashrsi3 (a, b);
}
#endif
#ifdef L_ashlsi3
nongcc_SI_type
__ashlsi3 (a, b)
nongcc_SI_type a, b;
{
perform_ashlsi3 (a, b);
}
#endif
#ifdef L_divdf3
double
__divdf3 (a, b)
double a, b;
{
perform_divdf3 (a, b);
}
#endif
#ifdef L_muldf3
double
__muldf3 (a, b)
double a, b;
{
perform_muldf3 (a, b);
}
#endif
#ifdef L_negdf2
double
__negdf2 (a)
double a;
{
perform_negdf2 (a);
}
#endif
#ifdef L_adddf3
double
__adddf3 (a, b)
double a, b;
{
perform_adddf3 (a, b);
}
#endif
#ifdef L_subdf3
double
__subdf3 (a, b)
double a, b;
{
perform_subdf3 (a, b);
}
#endif
#ifdef L_eqdf2
nongcc_word_type
__eqdf2 (a, b)
double a, b;
{
perform_eqdf2 (a, b);
}
#endif
#ifdef L_nedf2
nongcc_word_type
__nedf2 (a, b)
double a, b;
{
perform_nedf2 (a, b);
}
#endif
#ifdef L_gtdf2
nongcc_word_type
__gtdf2 (a, b)
double a, b;
{
perform_gtdf2 (a, b);
}
#endif
#ifdef L_gedf2
nongcc_word_type
__gedf2 (a, b)
double a, b;
{
perform_gedf2 (a, b);
}
#endif
#ifdef L_ltdf2
nongcc_word_type
__ltdf2 (a, b)
double a, b;
{
perform_ltdf2 (a, b);
}
#endif
#ifdef L_ledf2
nongcc_word_type
__ledf2 (a, b)
double a, b;
{
perform_ledf2 (a, b);
}
#endif
#ifdef L_fixdfsi
nongcc_SI_type
__fixdfsi (a)
double a;
{
perform_fixdfsi (a);
}
#endif
#ifdef L_fixsfsi
nongcc_SI_type
__fixsfsi (a)
FLOAT_ARG_TYPE a;
{
union flt_or_value intify;
perform_fixsfsi (FLOATIFY (a));
}
#endif
#ifdef L_floatsidf
double
__floatsidf (a)
nongcc_SI_type a;
{
perform_floatsidf (a);
}
#endif
#ifdef L_floatsisf
FLOAT_VALUE_TYPE
__floatsisf (a)
nongcc_SI_type a;
{
union flt_or_value intify;
perform_floatsisf (a);
}
#endif
#ifdef L_addsf3
FLOAT_VALUE_TYPE
__addsf3 (a, b)
FLOAT_ARG_TYPE a, b;
{
union flt_or_value intify;
perform_addsf3 (FLOATIFY (a), FLOATIFY (b));
}
#endif
#ifdef L_negsf2
FLOAT_VALUE_TYPE
__negsf2 (a)
FLOAT_ARG_TYPE a;
{
union flt_or_value intify;
perform_negsf2 (FLOATIFY (a));
}
#endif
#ifdef L_subsf3
FLOAT_VALUE_TYPE
__subsf3 (a, b)
FLOAT_ARG_TYPE a, b;
{
union flt_or_value intify;
perform_subsf3 (FLOATIFY (a), FLOATIFY (b));
}
#endif
#ifdef L_eqsf2
nongcc_word_type
__eqsf2 (a, b)
FLOAT_ARG_TYPE a, b;
{
union flt_or_int intify;
perform_eqsf2 (FLOATIFY (a), FLOATIFY (b));
}
#endif
#ifdef L_nesf2
nongcc_word_type
__nesf2 (a, b)
FLOAT_ARG_TYPE a, b;
{
union flt_or_int intify;
perform_nesf2 (FLOATIFY (a), FLOATIFY (b));
}
#endif
#ifdef L_gtsf2
nongcc_word_type
__gtsf2 (a, b)
FLOAT_ARG_TYPE a, b;
{
union flt_or_int intify;
perform_gtsf2 (FLOATIFY (a), FLOATIFY (b));
}
#endif
#ifdef L_gesf2
nongcc_word_type
__gesf2 (a, b)
FLOAT_ARG_TYPE a, b;
{
union flt_or_int intify;
perform_gesf2 (FLOATIFY (a), FLOATIFY (b));
}
#endif
#ifdef L_ltsf2
nongcc_word_type
__ltsf2 (a, b)
FLOAT_ARG_TYPE a, b;
{
union flt_or_int intify;
perform_ltsf2 (FLOATIFY (a), FLOATIFY (b));
}
#endif
#ifdef L_lesf2
nongcc_word_type
__lesf2 (a, b)
FLOAT_ARG_TYPE a, b;
{
union flt_or_int intify;
perform_lesf2 (FLOATIFY (a), FLOATIFY (b));
}
#endif
#ifdef L_mulsf3
FLOAT_VALUE_TYPE
__mulsf3 (a, b)
FLOAT_ARG_TYPE a, b;
{
union flt_or_value intify;
perform_mulsf3 (FLOATIFY (a), FLOATIFY (b));
}
#endif
#ifdef L_divsf3
FLOAT_VALUE_TYPE
__divsf3 (a, b)
FLOAT_ARG_TYPE a, b;
{
union flt_or_value intify;
perform_divsf3 (FLOATIFY (a), FLOATIFY (b));
}
#endif
#ifdef L_truncdfsf2
FLOAT_VALUE_TYPE
__truncdfsf2 (a)
double a;
{
union flt_or_value intify;
perform_truncdfsf2 (a);
}
#endif
#ifdef L_extendsfdf2
double
__extendsfdf2 (a)
FLOAT_ARG_TYPE a;
{
union flt_or_value intify;
perform_extendsfdf2 (FLOATIFY (a));
}
#endif